在Ubuntu上建立並測試GRE tunnel

crazy_baoli發表於2019-03-09

 

使用兩臺Ubuntu虛擬機器進行GRE tunnel測試,則兩臺虛擬機器位於同一網段,但並不影響觀察測試結果。

 

測試環境:

在一臺PC上同時執行兩個Ubuntu虛擬機器:

ubuntu-gnome-16.04-desktop-amd64,IP為192.168.0.105,暫且稱其host A

ubuntu 14.04,IP為192.168.0.104,暫且稱其host B

 

1. host A 配置

1.1 載入GRE

sudo modprobe ip_gre

 

1.2 gre tunnel配置

sudo ip tunnel add gre1 mode gre remote 192.168.0.105 local 192.168.0.104 ttl 255

sudo ip link set gre1 up

sudo ip addr add 10.10.10.2 peer 10.10.10.1 dev gre1

 

2. host B配置

2.1 載入GRE

sudo modprobe ip_gre

2.2 GRE tunnel配置

sudo ip tunnel add gre1 mode gre remote 192.168.0.104 local 192.168.0.105 ttl 255

sudo ip link set gre1 up

sudo ip addr add 10.10.10.1 peer 10.10.10.2 dev gre1

 

3. ping測試

3.1 host A

ping 10.10.10.1

 

3.2 抓包

在host B抓包,並儲存為cap檔案,方便用wireshark分析。

sudo tcpdump -i eth0 -w ./test1.cap

3.3 分析

用wireshark開啟test1.cap

 

可看到gre header和外層IP header,test ok!

 

注:

1)直接tcpdump -i eth0,結果如下:

2)直接tcpdump -i gre1,捕捉到的包沒有GRE header等資訊,是個純粹的ICMP包。

 

4. 其它

1)參考:http://www.ttlsa.com/linux/create-a-gre-tunnel-linux/

相關文章