實驗要求:拓撲圖以下所示,R1和R5做爲internet中兩端內部局域網,經過在網關設備R2和R4上設置IPsec ×××,使兩端的局域網之間創建一種邏輯上的虛擬隧道。算法
實驗步驟:首先配置全部理由器接口的IP地址(略),並指定默認路由(由於是末梢網絡)。安全
R1上面的默認路由以下所示。網絡
R2上面的默認路由以下所示。ide
ISP是運營商,在這裏用來模擬外部網絡,只須要配置IP地址就行。測試
R4上面的默認路由以下所示。加密
R5上面的默認路由以下所示。spa
此時配置完成兩個局域網是不可以通訊的。下面就須要分別在R2和R4上作IPsec×××來實現互聯互通。3d
R2(config)#crypto isakmp policy 1 //配置安全策略orm
R2(config-isakmp)#encryption 3des //管理連接的最後兩個數據報文(用於身份驗證)採用何種加密算法blog
R2(config-isakmp)#hash sha //指定驗證過程採用HMAC的功能
R2(config-isakmp)#authentication pre-share//設備身份驗證的方式
R2(config-isakmp)#group 2 //指定DH密鑰組,默認1
R2(config-isakmp)#lifetime 60//指定管理鏈接的生存週期默認86400
R2(config)#crypto isakmp key 6 123123 address 20.0.0.1//配置預共享密鑰,「6」表示密鑰使用加密的方式(否則show出來的就是明文),後面123123是密碼,而後address跟對端的IP地址。
R2#show crypto isakmp policy //查看安全策略配置信息
R2(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 //配置crypto ACL指定須要被保護的流量或網段,兩端對等體上的ACL互爲鏡像。
R2(config)#crypto ipsec transform-set benet esp-des ah-sha-hmac //配置傳輸集,對數據進行加密,benet爲傳輸集的名稱,後面依次爲加密算法和驗證算法。
R2(cfg-crypto-trans)#mode tunnel //設置模式爲隧道模式
R2(config)#crypto ipsec security-association lifetime seconds 1800 //這是在全局模式中設置生存週期(可選)
R2(config)#crypto map zhang 1 ipsec-isakmp //配置靜態的crypto map,須要指定名稱和序列號,數值越小優先級越高。
R2(config-crypto-map)#set peer 20.0.0.1 //指定IPsec的對等體設備
R2(config-crypto-map)#set transform-set benet//指定傳輸集的名稱
R2(config-crypto-map)#match address 100 //用於調用crypto ACL
R2(config)#int fa0/1 //注意接口不要進錯了
R2(config-if)#crypto map zhang //進接口,應用上面的配置
R4(config-crypto-map)#set security-association idle-time <60-86400> //設置空閒超時計時器,後面是範圍(可選)
下面是R4上面的配置,配置過程基本一致。
R4(config)#access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 //設置crypto ACL流量
R4(config)#crypto ipsec transform-set benet esp-3des ah-sha-hmac
//指定傳輸集名稱,以及加密和驗證算法
R4(cfg-crypto-trans)#mode tunnel
以上配置完成以後可使用R1對R5接口的局域網IP地址進行ping測試,有時會有延時,等會才能生效。
此時能夠查看R2或者R4上面的配置細心。如:R4#show crypto isakmp sa //查看管理鏈接SA的狀態
R2#show crypto ipsec sa //顯示數據鏈接SA(對等體)的細節信息
若是要查看詳細的配置信息是否生效,可使用show run進行查看。如:
R2上面的配置結果和R4基本一致(固然除了IP地址),就不在囉嗦了,OK實驗完成!
謝謝欣賞!