專用網絡
在講虛擬專用網絡(V P N)之前,先給大家介紹什麼是專用網絡。
專用網絡也就是專線業務,大多是面向企業、政府以及其他要求帶寬穩定、較高服務質量的客戶。一般具有固網IP地址,不需要進行接入認證;根據客戶需求,不僅在接入層對帶寬和接入業務類型上有要求、而且會對業務的全程全網服務質量提出更細節和詳盡的要求;而專線客戶,往往由運營商提供更爲主動、周全、及時、專業的客戶服務支撐。
一家公司異地的局域網可以通過專線連接,如下圖所示,北京、上海兩個城市的局域網,可以通過數字數據網(DDN)專線業務、幀中繼(FR)專線業務、數字用戶線路(DSL)專線業務、同步數字(SDH)專線業務等進行連接。
使用專線連接,成本高、通訊質量好,專線通常用於內網通信,全網通常採用私有IP地址。
虛擬專用網絡(V P N)
如圖所示,企業在北京的網絡接入了Internet、在上海的網絡也接入了Internet,這兩個局域網通過Internet是連接起來,但由於北京和上海的兩個網絡是私網地址,不能通Internet直接相互通信。
通過配置兩端路由器R1和R2,可以爲兩個局域網創建一個隧道,實現兩個局域網之間能夠相互通信,通過加密和身份驗證技術實現數據通信的安全,能夠達到像專線一樣的效果。這種在公共網絡中建立的連接多個局域網的隧道就稱爲虛擬專用網絡(V P N)。
通過V P N利用Internet把兩地網絡進行互聯,只需要支付本地上Internet的費用,費用低。使用IPSec能夠保證數據通信安全,不改變使用習慣,使用私網地址和對方進行通訊。
配置站點間V P N
站點間×××就是在Internet上創建×××隧道,將多個局域網進行連接。後面還會講到遠程訪問×××,在遠程計算機建立到企業內網的×××連接,訪問企業內網。
GRE隧道V P N
GRE V P N(Generic Routing Encapsulation)即通用路由封裝協議,是對某些網絡層協議(如IP和IPX)的數據報進行封裝,使這些被封裝的數據報能夠在另一個網絡層協議(如IP)中傳輸。下面給大家討論的GRE隧道V P N,是將跨Internet的內網之間的通信的數據包封裝到具有公網地址的數據包中進行傳輸。
如圖所示,北京和上海兩個局域網通過Internet連接,在AR1和AR3上配置GRE隧道,這時候大家應該把這條隧道當成一條連接AR1和AR3的一根網線。AR1的隧道接口的地址和AR3隧道接口的地址在同一個網段。這樣理解,你就清楚在AR1上添加到上海網段的路由,下一跳是172.16.0.2,在AR3上添加到北京網段的路由,下一跳是172.16.0.1。
圖中也畫出了PC1給PC2通信的數據包,在隧道中(也就是在Internet中)傳輸數據包封裝格式示意圖,可以看到PC1到PC2的數據包外面又有一層GRE封裝,最外面是隧道的目標地址和隧道的源地址。
使用eNSP參照上圖搭建實驗環境。
在AR1上的設置。
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 20.1.1.1 24
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface Vlanif 1
[AR1-Vlanif1]ip address 10.1.1.1 24
[AR1-Vlanif1]quit
[AR1]ip route-static 20.1.2.0 24 20.1.1.2 --添加到20.1.2.0/24路由
在AR2上的配置,不添加到北京和上海網絡的路由,Internet上的路由器不添加到私有網絡的路由。
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 20.1.1.2 24
[AR2-GigabitEthernet0/0/0]quit
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 20.1.2.2 24
[AR2-GigabitEthernet0/0/1]quit
在AR3上的配置。
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 20.1.2.1 24
[AR3-GigabitEthernet0/0/0]quit
[AR3]interface Vlanif 1
[AR3-Vlanif1]ip address 10.1.2.1 24
[AR3-Vlanif1]quit
[AR3]ip route-static 20.1.1.0 24 20.1.2.2
現在AR1上創建到上海網絡的GRE隧道接口,並添加到上海網絡的路由。
[AR1]interface Tunnel 0/0/0
[AR1-Tunnel0/0/0]tunnel-protocol ? --查看隧道支持的協議
gre Generic Routing Encapsulation
ipsec IPSEC Encapsulation
ipv4-ipv6 IP over IPv6 encapsulation
ipv6-ipv4 IPv6 over IP encapsulation
mpls MPLS Encapsulation
none Null Encapsulation
[AR1-Tunnel0/0/0]tunnel-protocol gre
[AR1-Tunnel0/0/0]ip address 172.16.0.1 24 --指定隧道接口的地址
[AR1-Tunnel0/0/0]source 20.1.1.1 --指定隧道的起點(源地址)
[AR1-Tunnel0/0/0]destination 20.1.2.1 --指定隧道的終點(目標地址)
[AR1-Tunnel0/0/0]quit
[AR1]ip route-static 10.1.2.0 24 172.16.0.2 --添加到上海網絡的路由
添加到上海網絡的路由,下一跳也可以使用Tunnel 0/0/0 替換。
[AR1]ip route-static 10.1.2.0 24 Tunnel 0/0/0。
在AR3上創建到北京網絡的GRE隧道接口,並添加到北京網絡的路由。
[AR3]interface Tunnel 0/0/0
[AR3-Tunnel0/0/0]tunnel-protocol gre
[AR3-Tunnel0/0/0]ip address 172.16.0.2 24
[AR3-Tunnel0/0/0]source 20.1.2.1
[AR3-Tunnel0/0/0]destination 20.1.1.1
[AR3-Tunnel0/0/0]quit
[AR3]ip route-static 10.1.1.0 24 172.16.0.1
查看Tunnel 0/0/0接口的狀態。
<AR3>display interface Tunnel 0/0/0
Tunnel0/0/0 current state : UP
Line protocol current state : UP
Last line protocol up time : 2018-06-16 01:37:01 UTC-08:00
Description:HUAWEI, AR Series, Tunnel0/0/0 Interface
Route Port,The Maximum Transmit Unit is 1500
Internet Address is 172.16.0.2/24
Encapsulation is TUNNEL, loopback not set
……
抓包分析GRE隧道中的數據包格式。如圖所示,右擊AR2路由器,點擊“數據抓包”,點擊“GE 0/0/0”接口。
開始抓包後,PC1 ping PC2,觀察捕獲的數據包,查看GRE封裝。
上面給大家展示創建GRE隧道V P N將兩個城市的局域網進行了連接,如果一個企業在北京、上海、石家莊三個城市都有局域網,如圖所示,我們創建GRE隧道×××,需要在每個路由器上創建兩個Tunnel接口,分別定義好隧道的起點和終點,以及隧道接口地址,添加到遠程網絡的路由。
總結:GRE是一個標準協議,支持多種協議和多播,能夠用來創建彈性的V P N,支持多點隧道,能夠實施QOS。
GRE協議的存在問題有:缺乏加密機制,沒有標準的控制協議來保持GRE隧道(通常使用協議和keepalive),隧道很消耗CPU,出現問題要進行DEBUG很困難。