GRE tunnel(通用路由封裝)


GRE tunnel通用路由封閉協議

Ip in ip

啥意思,就是將一個IP的包,再次封閉在一個IP包里,亂嗎?

別亂,看看倒底是怎么回事兒,

 

其實這東西就是一個VPN的原型,啥叫VPN?用於連接兩個或多個站點的技術,實現雙向局域網通信,當然VPN的種類還是蠻多的呢~

后面面學習的時候要一一見到,ipsec, ssl dm easyvpn Mpls...

 

大概意思明白了,為什么還要把IP再將封裝到IP中呢?

其實這一點也很好理解,首先,私有地址是無法在公網上跑的,這毋庸置疑,那如何實現兩個節點之間的互聯呢?也許你會想到BGP? 別鬧,啥企業上來就玩兒BGP啊,不要錢啊? 

當需要實現兩個節點互通,且不想投入過多時,這個時候就要考慮VPN,(純個人理解)而GREtunnel,就是VPN的原型,只不過是GRE是裸奔的,沒有加密, 

其意思就是將局域網的IP,封閉到GREtunnel隧道里,到達對端以后再將外層的封裝拆除,實現“和內網訪問一樣”的效果

 

看個實例吧 ,R1(內網192.168.1.0/24) R3(內網172.16.1.0/24)外網為12.0.0.0/24 23.0.0.0

 

 

 

R1,R3分別下聯着兩個分支,R2仿internet,

如何實現兩個節點之點的互通呢?使用tunnel

 

現條件:

NAT是肯定要有的,對吧,企業網關出去肯定要轉成公網IP的,

然后就是tunnel的配置了,

 

1 先要建立 tunnl 口,配置ip地址,這里的IP可以隨意配置,因為只是源目的關系,其它人並不知道

2 指定隧道源和目的,建立隧道,

3 為隧道注入路由,(對端內網網段)

就這樣實現互通了

 

NAT的部份咱們直接跳過了啊~

老生長談了

 

直接上GRE部份

R1(config)#inte tunnel 1     //建立 tunnel 編號1
R1(config-if)#ip add 100.1.1.1 255.255.255.0     //配置一個IP地址,
R1(config-if)#tunnel source f0/0     //隧道源的IP(接口)
R1(config-if)#tunnel destination 23.0.0.3   //隧道目的IP
R1(config)#ip route 172.16.1.0 255.255.255.0 tunnel 1   //和對端做靜態,從tunnel 口出去


R3(config)#inter tunnel 1
R3(config-if)#ip add 100.1.1.2 255.255.255.0
R3(config-if)#tunnel source f0/0
R3(config-if)#tunnel destination 12.0.0.1
R3(config)#ip route 192.168.1.0 255.255.255.0 tun 1

至此GRE完成,

先來看看兩邊的局域網能否通信~

 

 

 通是可以通的,但是它是怎么走的呢

Trace一下

 

 

 先到達自己的網關,

然后到達下一跳為tunnel口的對端 IP

再到對端 局域網內。

等於是數據又經過了一次封裝,

GRE的封裝過程

 

 

 可以直接從一個包來分析一下

由下至上,ICMP協議,ping包,

          Ipv4 sip 172.16.1.10 dip 192.168.1.10 (pc2pingpc1)

          GRE

          Ipv4 sip 23.0.0.3 , dip 12.0.0.1

 

里層數據,IPV4,源172.16.1.10 目的ip 192.168.1.10

傳到路由器時,查看路由,需要從tunnel口出去,

由進行GRE的封裝,

然后再加上新的IP,這里的新IP頭部就是我們配置的 tunnel source 以及tunnel destination

 

 IPV4 源23.0.0.3  目的IP 12.0.0.1 

 

這時不禁會想到一個問題

我們配置了tunnel ip地址,好像在抓包中也沒有看到啊~封裝在哪里了呢?

其實配置tunnel IP主要目的有兩點,

1,使靜態路由生效

2,做為數據轉發的下一跳

 

 

 

 

 最后,請問,tunnel ip 兩端可以不一樣嗎?

R3(config)#inter tunnel 1
R3(config-if)#ip add 200.3.3.3 255.255.255.0

可以看到,就算是兩端的tunnel ip 不一樣,也沒有問題

 

 因為這里起到決定因素的不是這個IP

而是tunnel source 以及tunnel destination 的指定。

 

 

----------------------------------------------

CCIE成長之路 --- 梅利

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM