GRE隧道是一種IP-over-IP的隧道,是通用路由封裝協定,可以對某些網路層協定的資料報進行封裝,使這些被封裝的資料報能夠在IPv4/IPv6 網絡中傳輸。
Tunnel 是一個虛拟的點對點的連接配接,提供了一條通路使封裝的資料封包能夠在這個通路上傳輸,并且在一個Tunnel 的兩端分别對資料報進行封裝及解封裝。 一個X協定的封包要想穿越IP網絡在Tunnel中傳輸,必須要經過加封裝與解封裝兩個過程。
一般來說,在路由器交換機上配置GRE比較多,且配置也是比較友善的。
思科配置如下:
R1(config)#int tun 0
R1(config-if)#tun source s2/0
R1(config-if)#tunnel destination 10.10.23.3
R1(config-if)#ip add 100.100.100.1 255.255.255.252
R1(config-if)#no shut
華為配置如下:
[S9312] interface tunnel 1/0/1
[S9312-Tunnel1/0/1] tunnel-protocol gre
[S9312-Tunnel1/0/1] ip address 3.3.3.1 255.255.255.252
[S9312-Tunnel1/0/1] source 1.1.1.1
[S9312-Tunnel1/0/1] destination 2.2.2.2
當配置完成後,檢視tunnel接口的狀态,并且手動測試直連位址是否相通。建立完成後,可以配置路由使用該鍊路。
Linux部配置設定置詳見附件。
以下是linux下檢視gre隧道的方式:
1.ifconfig
[root@Seoul2 ~]# ifconfig gre1
gre1 Link encap:UNSPEC HWaddr DA-B9-F5-04-6E-6F-92-D2-00-00-00-00-00-00-00-00
inet addr:10.254.10.2 P-t-P:10.254.10.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:9857 errors:0 dropped:0 overruns:0 frame:0
TX packets:20133 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:540500 (527.8 KiB) TX bytes:16258447 (15.5 MiB)
2.ip link show
[root@Seoul2 ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:15:5d:f5:02:01 brd ff:ff:ff:ff:ff:ff
3: gre0: <NOARP> mtu 1476 qdisc noop state DOWN
link/gre 0.0.0.0 brd 0.0.0.0
4: gre1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
link/gre 218.185.245.4 peer 101.227.67.160
5: gre2: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
link/gre 218.185.245.4 peer 43.240.245.254
值得注意的是,建立gre隧道後,鍊路的mtu值變化會導緻資料傳輸的問題。這點在做scp時很明顯。
<a href="http://down.51cto.com/data/2367729" target="_blank">附件:http://down.51cto.com/data/2367729</a>
本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1775859,如需轉載請自行聯系原作者