Cisco路由器配置GRE隧道

來源:本站原創 CISCO 超過6,559 views圍觀 0條評論

 

路由封裝(GRE)最早是由Cisco提出的,而目前它已經成為了一種標準,被定義在RFC 1701, RFC 1702, 以及RFC 2784中。簡單來說,GRE就是一種隧道協議,用來從一個網絡向另一個網絡傳輸數據包。
GRE是一種VPN隧道技術,其原理為本端路由器將3層報文封裝到IP報文里,通過IP網絡(例如Internet)送到對端路由器后再解開還原。可以把tunnel想象成一條DDN專線,tunnel口上配置的ip地址就相當于連接DDN專線的串口的IP地址。這個地址 一般是內部的IP,Internet上是不認的。
如果你覺得它和虛擬專用網(VPN)有些類似,那只是因為:從技術上講,GRE隧道是某一類型的VPN,但是并不是一個安全隧道方式。不過你也可以使用某種加密協議對GRE隧道進行加密,比如VPN網絡中常用的IPSec協議。

實際上,點到點隧道協議(PPTP)就是使用了GRE來創建VPN隧道。比如,如果你要創建Microsoft VPN隧道,默認情況下會使用PPTP,這時就會用到GRE。

為什么要用GRE?

為什么要使用GRE進行隧道傳輸呢?原因如下:

有時你需要加密的多播傳輸。GRE隧道可以像真實的網絡接口那樣傳遞多播數據包,而單獨使用IPSec,則無法對多播傳輸進行加密。多播傳輸的例子包括OSPF, EIGRP, 以及RIPV2。另外,大量的視頻、VoIP以及音樂流程序使用多播。
你所采用的某種協議無法進行路由,比如NetBIOS或在IP網絡上進行非IP傳輸。比如,你可以在IP網絡中使用GRE支持IPX或AppleTalk協議。
你需要用一個IP地址不同的網絡將另外兩個類似的網絡連接起來。
如何配置GRE隧道?

在Cisco路由器上配置GRE隧道是一個簡單的工作,只需要輸入幾行命令即可實現。以下是一個簡單的例子。

路由器A:

interface Ethernet0/1
ip address 10.2.2.1 255.255.255.0

interface Serial0/0
ip address 192.168.4.1 255.255.255.0

interface Tunnel0
ip address 1.1.1.2 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.2

路由器B:

interface FastEthernet0/1
ip address 10.1.1.1 255.255.255.0

interface Serial0/0
ip address 192.168.4.2 255.255.255.0

interface Tunnel0
ip address 1.1.1.1 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.1

另外注意下路由配置情況,
而tunnel source和tunnel destination地址是Internet上可以路由的IP地址,用于建立tunnel。例如,本端路由器地址規劃為:
eth0:10.1.1.1/24(連接內部局域網)
tunnel0:10.2.1.1/30(tunnel source:202.38.160.1;tunnel destination:192.15.135.80)
serial0:202.38.160.1/24(連接Internet)
ip route 10.3.1.0 255.255.255.0 10.2.1.2(到對端以太網的路由)
對端路由器地址規劃為:
eth0:10.3.1.1/24(連接內部局域網)
tunnel0:10.2.1.2/30(tunnel source:192.15.135.80;tunnel destination:202.38.160.1)
serial0:192.15.135.80/24(連接Internet)
ip route 10.1.1.0 255.255.255.0 10.2.1.1(到對端以太網的路由)

在這個例子中,兩個路由器均擁有虛擬接口,即隧道接口。這一接口屬于各自的網絡,就好像一個點到點的T1環路。跨越隧道網絡的數據采用串行網絡方式傳輸。

對于每個路由器都有兩種途徑將數據傳遞到另一端,即通過串行接口以及通過隧道接口(通過隧道傳遞數據)。該隧道可以傳輸非路由協議的數據,如NetBIOS或AppleTalk。如果數據需要通過互聯網,你可以使用IPSec對其進行加密。

從下面的信息反饋可以看出,路由器B上的隧道接口和其他網絡接口沒有什么不同:

RouterB# sh ip int brie

Interface   IP-Address   OK? Method Status                 Protocol
Ethernet0   10.1.1.1     YES manual up                     down
Serial0     192.168.4.2 YES manual up                     up
Serial1     unassigned   YES unset   administratively down down
Tunnel0     1.1.1.1      YES manual up                     up
RouterB#

解決GRE隧道的問題

由于GRE是將一個數據包封裝到另一個數據包中,因此你可能會遇到GRE的數據報大于網絡接口所設定的數據包最大尺寸的情況。接近這種問題的方法是在隧道接口上配置ip tcp adjust-mss 1436。

另外,雖然GRE并不支持加密,但是你可以通過tunnel key命令在隧道的兩頭各設置一個密鑰。這個密鑰其實就是一個明文的密碼。

由于GRE隧道沒有狀態控制,可能隧道的一端已經關閉,而另一端仍然開啟。這一問題的解決方案就是在隧道兩端開啟 keepalive數據包。它可以讓隧道一端定時向另一端發送keepalive數據,確認端口保持開啟狀態。如果隧道的某一端沒有按時收到 keepalive數據,那么這一側的隧道端口也會關閉。

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3061轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
萌宠夺宝游戏