一、確定ip_gre
模組是否被載入
$ sudo modprobe ip_gre
$ lsmod | grep gre
結果:
# lsmod | grep gre
ip_gre 12594 0
gre 1106 1 ip_gre
如果沒有要進行核心的配置,步驟如下。
1、進入核心檔案目錄 cd linux-3.0.y
2、進入 networking support
4、找到紅色框中的選項,選擇模組編譯,這樣就只要載入模組,而不需要重新燒寫核心。
5、儲存退出
6、編譯核心
make zimage
7、拷貝gre.ko 、ip_gre.ko 兩個檔案到裝置目錄
8、載入模組
# insmod ./gre.ko
# insmod ./ip_gre.ko
9、檢視是否載入
lsmod | grep gre
如果出現了,則載入完成。
ip_gre 12594 0
gre 1106 1 ip_gre
二、建立gre tunnel
1、在主機a和b兩個介面之間建立乙個gre隧道,並使用以下ip位址。
host a:192.168.9.161
host b:192.168.9.166
這個兩個位址可以在不同網段中,只要能互相ping同就可以。
2、在主機a執行如下命令
ip tunnel add atb mode gre remote 192.168.9.166 local 192.168.9.161 ttl 255
ip link set atb up
ip addr add 10.10.10.1/24 dev atb
在上面,我們建立了乙個名為atb的灰色隧道裝置,並將其遠端位址設定為192.168.9.166。隧道資料報將來自192.168.9.161(本地ip位址),並且它們的ttl欄位將被設定為255。隧道裝置被分配ip位址10.10.10.1和netmask 255.255.255.0。
3、在主機b執行如下命令
ip tunnel add atb mode gre remote 192.168.9.161 local 192.168.9.166 ttl 255
ip link set atb up
ip addr add 10.10.10.2/24 dev atb
4、在主機b檢視路由
# ip route show
default via 192.168.9.1 dev eth0
10.10.10.0/24 dev atb src 10.10.10.2
192.168.9.0/24 dev eth0 src 192.168.9.166
這裡多了 個atb ,同樣也可以在a主機看到相同的結果。
5、ifcong 查詢a主機
root@ubuntu16:# ifconfig
atb link encap:未指定 硬體位址 c0-a8-09-a1-00-00-3c-45-00-00-00-00-00-00-00-00
up pointopoint running noarp mtu:1476 躍點數:1
接收資料報:1479 錯誤:0 丟棄:0 過載:0 幀數:0
傳送資料報:1021 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 傳送佇列長度:1
接收位元組:1576499 (1.5 mb) 傳送位元組:81643 (81.6 kb)
6、ifconfig 檢視b主機
# ifconfig
atb link encap:unspec hwaddr c0-a8-09-a6-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.2 p-t-p:10.10.10.2 mask:255.255.255.0
up pointopoint running noarp mtu:1476 metric:1
rx packets:877 errors:0 dropped:0 overruns:0 frame:0
tx packets:1591 errors:17 dropped:0 overruns:0 carrier:17
collisions:0 txqueuelen:0
rx bytes:69631 (67.9 kib) tx bytes:1551103 (1.4 mib)
7、在主機 a ping 主機b
root@ubuntu16:# ping 10.10.10.2
ping 10.10.10.2 (10.10.10.2) 56(84) bytes of data.
64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=1.96 ms
64 bytes from 10.10.10.2: icmp_seq=2 ttl=64 time=1.73 ms
64 bytes from 10.10.10.2: icmp_seq=3 ttl=64 time=1.22 ms
64 bytes from 10.10.10.2: icmp_seq=4 ttl=64 time=1.87 ms
64 bytes from 10.10.10.2: icmp_seq=5 ttl=64 time=1.68 ms
可以ping通說明已經在主機a和主機b之間建立了gre tunnel
8、如果想改變,遠端主機的ip或者本地主機的ip
ip tunnel change atb remote 192.168.9.161 local 192.168.9.166
9、斷開隧道
ip link set atb down
10、刪除隧道
ip tunnel del atb
初識嵌入式 嵌入式開發概述
1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...
如何學習嵌入式 嵌入式如何入門?
學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...
非嵌入式與嵌入式的區別
非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...