一、基礎(chǔ)配置前面我們學(xué)習(xí)了GRE的理論知識(shí),還是比較復(fù)雜的,現(xiàn)在來結(jié)合實(shí)踐來驗(yàn)證下GRE的應(yīng)用。 首先我們需要明確分支和總部都通過運(yùn)營商提供的線路訪問Internet,但是分支想要訪問總部只能通過Internet如微信、QQ等方式來實(shí)現(xiàn),私網(wǎng)路由是不會(huì)在公網(wǎng)設(shè)備上存在的。我們的需求是在不修改網(wǎng)絡(luò)架構(gòu)的情況下實(shí)現(xiàn)內(nèi)網(wǎng)互通。 一般情況下我們會(huì)在出口接口上配置NAT用于將私網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,然后缺省路由指向運(yùn)營商設(shè)備。 基礎(chǔ)配置: 分支: # 創(chuàng)建ACL用于NAT轉(zhuǎn)換 acl number 3000 rule 5 permit ip # 公網(wǎng)接口 interface GigabitEthernet0/0/0 ip address 202.96.134.133 255.255.255.0 nat outbound 3000 # 內(nèi)網(wǎng)接口 interface GigabitEthernet0/0/1 ip address 192.168.1.254 255.255.255.0 # ip route-static 0.0.0.0 0.0.0.0 202.96.134.132 Internet:只需要配置接口即可 # interface GigabitEthernet0/0/0 ip address 202.96.134.132 255.255.255.0 # interface GigabitEthernet0/0/1 # interface GigabitEthernet0/0/2 ip address 185.74.54.128 255.255.255.0 總部: # 創(chuàng)建ACL用于NAT轉(zhuǎn)換 acl number 3000 rule 5 permit ip # 內(nèi)網(wǎng)接口 interface GigabitEthernet0/0/1 ip address 172.16.1.254 255.255.255.0 #公網(wǎng)接口并應(yīng)用NAT interface GigabitEthernet0/0/2 ip address 185.74.54.129 255.255.255.0 nat outbound 3000 # ip route-static 0.0.0.0 0.0.0.0 185.74.54.128 ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0
目前PC能夠通過NAT訪問對應(yīng)的公網(wǎng)出口的,但是無法訪問對端內(nèi)網(wǎng)的。 二、配置GRE隧道首先我們先規(guī)劃一個(gè)網(wǎng)段用于Tunnel隧道的接口地址,盡量保證在一個(gè)網(wǎng)段里面吧,防止出現(xiàn)一些不可控因素,這里以10.0.0.0/24網(wǎng)段為例。然后保證雙方的公網(wǎng)接口也就是分支和總部的出口地址是能夠互相訪問的。 配置: 分支: # 創(chuàng)建一個(gè)tunnel接口 interface Tunnel0/0/0 ip address 10.0.0.2 255.255.255.0 # 配置隧道接口 tunnel-protocol gre # 配置隧道封裝協(xié)議為gre source 202.96.134.133 # 配置隧道的源地址為出口公網(wǎng)地址 destination 185.74.54.129 # 配置隧道的目的地址,對端的公網(wǎng)地址 # 這里簡單以靜態(tài)路由指向隧道接口 ip route-static 172.16.1.0 255.255.255.0 Tunnel0/0/0 總部: # 創(chuàng)建一個(gè)tunnel0/0/0 interface Tunnel0/0/0 ip address 10.0.0.1 255.255.255.0 # 配置隧道接口 tunnel-protocol gre # 隧道的封裝協(xié)議為GRE source 185.74.54.129 # 定義源地址,也就是公網(wǎng)出口地址 destination 202.96.134.133 # 定義目的地址,表明需要找到對端的公網(wǎng)地址 # 這里簡單配置靜態(tài)路由指向tunnel隧道即可 ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0
驗(yàn)證: 大致將一下報(bào)文邏輯: - PC1發(fā)送報(bào)文源地址為192.168.1.1,目的地址為172.16.1.1的ICMP報(bào)文,自身校驗(yàn)后發(fā)現(xiàn)不是同一個(gè)網(wǎng)段,然后發(fā)送到網(wǎng)關(guān)也就是出口路由器G0/0/1。
- 分支出口路由器創(chuàng)建了一個(gè)tunnel0/0/0,指定源地址是公網(wǎng)接口,目的地址是對端公網(wǎng)地址,使用gre封裝
- 分支出口路由器定義了靜態(tài)路由到達(dá)172.16.1.0/24指向tunnel0/0/0,因此當(dāng)PC1的ICMP報(bào)文到達(dá)路由器會(huì)進(jìn)行g(shù)re封裝,加上外層IP頭部源目地址,發(fā)送到總部路由器。
- 總部路由器接收到目的地址為自身的IP報(bào)文進(jìn)行解封裝,然后得到內(nèi)層IP頭部,然后根據(jù)自身直連路由找到172.16.1.1,從內(nèi)網(wǎng)G0/0/1轉(zhuǎn)發(fā)出去
三、進(jìn)行數(shù)據(jù)校驗(yàn)與安全驗(yàn)證3.1 數(shù)據(jù)校驗(yàn)通過進(jìn)行數(shù)據(jù)校驗(yàn)確保數(shù)據(jù)的完整性。 配置: # 在隧道接口開啟校驗(yàn) interface Tunnel0/0/0 ip address 10.0.0.2 255.255.255.0 tunnel-protocol gre source 202.96.134.133 destination 185.74.54.129 gre checksum # 開啟校驗(yàn)功能 # 在隧道接口開啟校驗(yàn) interface Tunnel0/0/0 ip address 10.0.0.1 255.255.255.0 tunnel-protocol gre source 185.74.54.129 destination 202.96.134.133 gre checksum # 開啟校驗(yàn)功能
然后我們再去抓包查看: 3.2 安全認(rèn)證目前我們是只需要?jiǎng)?chuàng)建隧道接口,配置源目地址就可以建立隧道了,如果被非法抓包獲取到gre報(bào)文進(jìn)行偽造可以造成嚴(yán)重后果,因此可以開啟key認(rèn)證。 配置: # 在隧道接口開啟key認(rèn)證 # 分支 interface Tunnel0/0/0 ip address 10.0.0.2 255.255.255.0 tunnel-protocol gre source 202.96.134.133 destination 185.74.54.129 gre key 8096 # key只能是<0-4294967295>的數(shù)字 gre checksum 總部: interface Tunnel0/0/0 ip address 10.0.0.1 255.255.255.0 tunnel-protocol gre source 185.74.54.129 destination 202.96.134.133 gre key 8096 gre checksum
再進(jìn)行抓包: 基本實(shí)驗(yàn)就是這樣簡單,只要雙方網(wǎng)絡(luò)可達(dá),然后創(chuàng)建隧道接口指定源目地址和封裝協(xié)議就能建立GRE隧道,通過在隧道接口進(jìn)行簡單校驗(yàn)和key驗(yàn)證可以實(shí)現(xiàn)一定安全但是相對還是比較薄弱的。
END 如果覺得文章有幫助,歡迎點(diǎn)贊關(guān)注,想要及時(shí)收到推送歡迎星標(biāo)關(guān)注!
|