ISAKMP/IKE階段二是通過AH協議和ESP協議實現加密或認證,其區別在於:
AH協議之提供認證,並且對整個三層數據(包括ip包頭)實現驗證;所以AH不能與NAT設備一起工作,(因爲ip包頭轉化了,發生改變了)
ESP協議同時提供加密和認證,但只認證三層數據的有效載荷(不包括ip包頭),所以與NAT可以共存,但是這樣卻沒有是實現ip地址的節省,因爲將***設備的地址靜態轉換成公有ip後,該公有ip將無法在被其他私有地址複用。
解決這個問題就需要實現esp協議和PAT一同工作,實現一個公網地址轉換內網的所有私有ip,但esp是一個三層協議,由於三層的有效載荷部分完全被加密,PAT修改的是第四層數據包頭,缺少需要的tcp或udp包頭的端口信息,無法實現轉換,所以需要在ip包頭和esp包頭之間添加新的四層包頭信息,這就是NAT-T(NAT穿越)
ip包頭 tcp或udp包頭 esp頭 密文數據 esp尾
管理連接 端口號爲500
數據連接 端口號爲4500
在PAT設備將端口500和4500靜態映射到內網 如下是實驗環境
一、asa1的基本配置
asa1(config)#int e0/0
asa1(config-if)#nameif outside
asa1(config-if)#ip add 192.168.2.1 255.255.255.0
asa1(config-if)#no sh
asa1(config-if)#int e0/1
asa1(config-if)#nameif inside
asa1(config-if)#ip add 192.168.1.1 255.255.255.0
asa1(config-if)#no sh
asa1(config)#route outside 0 0 192.168.2.2
asa1(config)# access-list 111 permit icmp any any (asa不允許低級訪問高級別,這樣便於測試)
asa1(config)#access-group 111 in int outside
二、NAT的配置
ip配置略
nat(config)#int f0/0
nat(config-if)#ip nat inside
nat(config)#int f1/0
nat(config-if)#ip nat outside
nat(config)#access-list 1 permit any
nat(config)#ip nat inside source list 1 int f1/0 overload 端口複用實現PAT
nat(config)#ip nat inside source static udp 192.168.2.1 4500 192.168.3.1 4500 實現數據連接的靜態端口映射
nat(config)#ip nat inside source static udp 192.168.2.1 500 192.168.3.1 500 實現管理連接的靜態端口映射
nat(config)#ip route 0.0.0.0 0.0.0.0 192.168.3.2
nat(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1
三、ISP的配置
只需配置ip即可
四、ASA2的基本配置
asa2(config)#int e0/0
asa2(config-if)#nameif outside
asa2(config-if)#ip add 192.168.4.2 255.255.255.0
asa2(config-if)#no sh
asa2(config-if)#int e0/1
asa2(config-if)#nameif inside
asa2(config-if)#ip add 192.168.5.1 255.255.255.0
asa2(config-if)#no sh
asa2(config)#route outside 0 0 192.168.4.1
asa2(config)# access-list 111 permit icmp any any (asa不允許低級訪問高級別,這樣便於測試)
asa2(config)#access-group 111 in int outside
五、asa1的ipsec ***的配置
asa1(config)#crypto isakmp enable outside
asa1(config)#crypto isakmp policy 1
asa1(config-isakmp-policy)#encrytion aes
asa1(config-isakmp-policy)#hash sha
asa1(config-isakmp-policy)#authentication pre-share
asa1(config-isakmp-policy)#group 1
asa1(config)#isakmp key benet address 192.168.4.2
asa1(config)#access-list vf*** extended permit ip 192.168.1.0 255.255.255.0 192.168.5.0 255.255.255.0
asa1(config)#crypto ipsec transform-set benet-set esp-aes esp-sha-hmac
asa1(config)#crypto map benet-map 1 match address vf***
asa1(config)#crypto map benet-map 1 set peer 192.168.4.2
asa1(config)#crypto map benet-map 1 set trans benet-set
asa1(config)#crypto map benet-map int outside
六、asa2的ipsec ***的配置
asa2(config)#crypto isakmp enable outside
asa2(config)#crypto isakmp policy 1
asa2(config-isakmp-policy)#encrytion aes
asa2(config-isakmp-policy)#hash sha
asa2(config-isakmp-policy)#authentication pre-share
asa2(config-isakmp-policy)#group 1
asa2(config)#isakmp key benet address 192.168.3.1
asa2(config)#access-list vf*** extended permit ip 192.168.5.0 255.255.255.0 192.168.1.0 255.255.255.0
asa2(config)#crypto ipsec transform-set benet-set esp-aes esp-sha-hmac
asa2(config)#crypto map benet-map 1 match address vf***
asa2(config)#crypto map benet-map 1 set peer 192.168.3.1 對等體寫nat設備口
asa2(config)#crypto map benet-map 1 set trans benet-set
asa2(config)#crypto map benet-map int outside
驗證
nat設備查nat轉換表 sh ip nat tr
兩臺pc可以ping通
NAT-t是自啓動的。
這樣的可以節省ip地址,即ipsec設備與NAT設備之間的網段可以使用私有地址,也可以保護***設備。