路由器借助于Tunnel實(shí)現隧道功能,允許利用傳輸協(xié)議(如ip)來(lái)傳送任意協(xié)議的網(wǎng)絡(luò )數據包,同其他邏輯接口一樣,Tunnel是一個(gè)虛擬的接口,該接口并不特別指定傳輸協(xié)議或者負載協(xié)議,他提供的是一個(gè)用來(lái)實(shí)現標準的點(diǎn)對點(diǎn)的傳輸模式。由于實(shí)現的是點(diǎn)對點(diǎn)的傳輸鏈路,所以,對于每一個(gè)單獨的線(xiàn)路都必須設置一個(gè)Tunnel接口。
Tunnel 傳輸適用于以下情況:
允許運行非IP協(xié)議的本地網(wǎng)絡(luò )之間通過(guò)一個(gè)單一網(wǎng)絡(luò )(IP網(wǎng)絡(luò ))通信,因為T(mén)unnel支持多種不同的負載協(xié)議。
允許通過(guò)單一的網(wǎng)絡(luò )(IP網(wǎng)絡(luò ))連接間斷子網(wǎng)。
允許在廣域網(wǎng)上提供VPN更能
Tunnel接口配置操作過(guò)程如下:
router(config)#interface tunnel tunnel-id 創(chuàng )建Tunnel接口并進(jìn)入該接口的配置模式。與其他邏輯接口一樣,第一次進(jìn)入指定的Tunnel接口時(shí),
就創(chuàng )建了一個(gè)這樣的接口
#no interface tunnel tunnel-tunnel-id
router(config-if)#tunnel source {ip-address| interface-name| interface-nummber }
no tunnel source
router(config-if)#tunnel destination {ip-address| host-name }
no tunnel destination
一個(gè)Tunnel接口需要明確配置隧道的源地址和目的地址,為了保證隧道接口的穩定性,一般講
Loopback的地址作為隧道的源地址和目的地址,在Tunnel接口正常工作之前,需要確認源地址和目
的地址的聯(lián)通性。
提示:在同一臺路由器上不能使用相同的源地址和目的地址創(chuàng )建兩個(gè)相同的封裝模式的Tunnel接口
router(config-if)#tunnel mode { dvmrp |gre |ipip |nos }
no tunnel mode
設置Tunnel的封裝格式。Tunnel的封裝格式就是Tunnel的載體協(xié)議。Tunnel 接口的默認封裝格式是GRE
。當然,用戶(hù)也可以根據實(shí)際使用情況來(lái)確定Tunnel接口的封裝格式。
router(config-if)#tunnel checksum
no tunnel checksum 設置Tunnel校驗。有些情況下需要使用Tunnel校驗來(lái)提供數據完整性的保證。默認情況下,Tunnel
接口不進(jìn)行校驗。
router(config-if)#tunnel key key-value
no tunnel key key-value
設置KEY,可以確保兩端的安全性,同時(shí)也可以防范來(lái)自外部的惡意探測與攻擊,只有在封裝格式
為GRE的情況下,tunnel接口的設置才可以起作用,因為此時(shí)在每一個(gè)GUE數據包中都會(huì )包含設置
設置的Tunnel 接口 key
提示:Tunnel兩端必須使用相同的KEY,才能正常通信。雖然封裝格式為GRE的時(shí)候,每一個(gè)GRE都
包含這個(gè)KEY,但是依賴(lài)這個(gè)KEY,來(lái)獲得安全企圖是欠考慮的。如果設置了Tunnel 的接口KEY,那么
,必須在所在Tunnel接口上設置no ip mroute-cache 才能支持ip multicast
router(config-if)#tunnel sequence-dategrames
no tunnel sequence-dategrames
只有在Tunnel的封裝格式為GRE的情況下,該項設置才有效。
router(config-if)#end 返回特權模式
router#show interfaces tunnel tunnel-number 查看接口狀態(tài)
router#debug tunnel 打開(kāi)調試開(kāi)關(guān)
router#no debug tunnel 關(guān)閉調試開(kāi)關(guān)