一、實驗拓撲
二、實驗配置
1、靜態路由實現GRE
RT1配置:
RT1(config)# int fa1/0
RT1(config-if)# ip add 192.168.20.1 255.255.255.0
RT1(config-if)# no shutdown
RT1(config)# int fa0/0
RT1(config-if)# ip add 172.1.1.2 255.255.255.0
RT1(config-if)# no shutdown
RT1(config)# ip route 0.0.0.0 0.0.0.0 172.1.1.1
RT1(config)# interface tunnel 0
RT1(config-if)# ip add 1.1.1.1 255.255.255.0
RT1(config-if)# tunnel source fastethernet 0/0
RT1(config-if)# tunnel destination 172.1.2.2
RT1(config-if)# exit
RT1(config)# ip route 192.168.36.0 255.255.255.0 tunnel 0
RT3配置:
RT3(config)# int fa1/0
RT3(config-if)# ip add 192.168.36.1 255.255.255.0
RT3(config-if)# no shutdown
RT3(config)# int fa0/0
RT3(config-if)# ip add 172.1.2.2 255.255.255.0
RT3(config-if)# no shutdown
RT3(config)# ip route 0.0.0.0 0.0.0.0 172.1.2.1
RT3(config)# interface tunnel 0
RT3(config-if)# ip add 1.1.1.2?255.255.255.0
RT3(config-if)# tunnel source fastethernet 0/0
RT3(config-if)# tunnel destination 172.1.1.2
RT3(config-if)# exit
RT3(config)# ip route 192.168.20.0 255.255.255.0 tunnel 0
RT2配置:
RT2(config)# int fa0/0
RT2(config-if)# ip add 172.1.1.1?255.255.255.0
RT2(config-if)# no shutdown
RT2(config)# int fa1/0
RT2(config-if)# ip add 172.1.2.1?255.255.255.0
RT2(config-if)# no shutdown
測試:
RT1# ping 172.1.2.2
RT1# ping 1.1.1.2
VPC4 > ping 192.168.36.88(配置隧道tunnel接口前)
配置隧道tunnel接口后:
在外網的任意一個接口抓包,可以看到在原始 IP 數據包封裝進一個 GRE 頭部,然后再封裝進一個新的 IP 頭部(源地址是站點RT1網關的公網 IP,目標地址是站點RT2網關的公網 IP)。
??RT3 ping RT1:
RT3# ping 192.168.20.1 source 192.168.36.1
本試驗現象:
在ping包過程中的數據包沒有加密
2、OSPF實現GRE
RT1配置:
rt1(config)#no ip route 192.168.36.0 255.255.255.0 tunnel 0? //刪除之前的靜態路由
rt1(config)#router ospf 1
rt1(config-router)#network 192.168.20.0 0.0.0.255 a 0
rt1(config-router)#network 1.1.1.0 0.0.0.255 a 0
rt1(config-router)#exit
RT3配置:
RT3(config)#no ip route 192.168.20.0 255.255.255.0 tunnel 0? //刪除之前的靜態路由
RT3(config)#router ospf 1
RT3(config-router)#network 1.1.1.0 0.0.0.255 a 0
RT3(config-router)#network 192.168.36.0 0.0.0.255 a 0
RT3(config-router)#exit
測試:
可重復靜態的測試方法,進行抓包驗證。
本試驗現象:
OSPF鄰居通過tunnel隧道建立,ospf數據包來觸發GRE,OSPF數據報文承載在GRE數據包中,學習到對方的私網路由(之前是靜態配置)
3、GRE over Ipsec
RT1配置:
RT1(config)# interface tunnel 0
RT1(config-if)# ip add 1.1.1.1 255.255.255.0
RT1(config-if)# tunnel source fastethernet 0/0
RT1(config-if)# tunnel destination 172.1.2.2
RT1(config-if)# exit
RT1(config)#crypto isakmp enable
RT1(config)#crypto isakmp policy 1
RT1(config-isakmp)#encryption des
RT1(config-isakmp)#authentication pre-share
RT1(config-isakmp)#hash md5
RT1(config-isakmp)#group 2
RT1(config-isakmp)#exit
RT1(config)#crypto isakmp key 0 cisco address 172.1.2.2
RT1(config)#crypto ipsec transform-set?cisco?esp-des esp-md5-hmac
RT1(cfg-crypto-trans)#exit
RT1(config)#access-list 101 permit ip host 172.1.1.2 host 172.1.2.2
RT1(config)#crypto map cisco 10 ipsec-isakmp
RT1(config-crypto-map)#set peer 172.1.2.2
RT1(config-crypto-map)#set transform-set cisco
RT1(config-crypto-map)#match address 101
RT1(config-crypto-map)#exitexit
RT1(config)#interface ethernet 0/0
RT1(config-if)#crypto map cisco
RT3配置:
RT3(config)# interface tunnel 0
RT3(config-if)# ip add 1.1.1.2?255.255.255.0
RT3(config-if)# tunnel source fastethernet 0/0
RT3(config-if)# tunnel destination 172.1.1.2
RT3(config-if)# exit
RT3(config)#crypto isakmp enable
RT3(config)#crypto isakmp policy 1
RT3(config-isakmp)#encryption des
RT3(config-isakmp)#authentication pre-share
RT3(config-isakmp)#hash md5
RT3(config-isakmp)#group 2
RT3(config-isakmp)#exit
RT3(config)#crypto isakmp key 0 cisco address 172.1.1.2
RT3(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac
RT3(cfg-crypto-trans)#exit
RT3(config)#access-list 101 permit ip host 172.1.2.2 host 172.1.1.2
RT3(config)#crypto map cisco 10 ipsec-isakmp
RT3(config-crypto-map)#set peer 172.1.1.2
RT3(config-crypto-map)#set transform-set cisco
RT3(config-crypto-map)#match address 101
RT3(config-crypto-map)#exit
RT3(config)#interface ethernet 0/0
RT3(config-if)#crypto map cisco
本試驗現象:
GRE本身不能解決VPN傳輸數據的安全性,通過承載在Ipsec VPN中實現安全性的要求,RT2客戶端定義感興趣的流量是公網地址,RT2pingRT1的時候,觸發GRE的流量,被GRE封裝,打上新的IP頭部,這時匹配Ipsec 的流量做IP sec,這樣實現的了GRE被IP sec承載,實現了安全性的要求。