R1模擬上海總公司的內網,R3模擬南京分公司的內網;ASA1是上海總公司出口防火墻,ASA2是南京分公司的出口防火墻;R2模擬internet。
需求:
實現總公司和分公司的內部資源共享,并且保證數據傳輸時是安全的,內網能正常上internet。
分析發現:
1.實現兩公司內部資源共享,就要使用VPN ,保證數據安全得使用IPSec技術實現vpn。
2.實現內網能正常上網,就要使用NAT技術(地址轉換),但地址轉換導致IPSec vpn不能正常工作,這時就要配置NAT豁免,使兩公司內網之間的流量不做NAT轉換。
基本配置:
R1(config)#interfa 0/0
R1(config-if)#ipadd 192.168.10.1 255.255.255.0
R1(config-if)#noshutdown
R1(config)#iproute 0.0.0.0 0.0.0.0 192.168.10.2
ASA1(config)#inter e0/0
ASA1(config-if)#nameif inside
ASA1(config-if)#ip add 192.168.10.2 255.255.255.0
ASA1(config-if)#no shutdown
ASA1(config-if)#inter e0/1
ASA1(config-if)#nameif outside
ASA1(config-if)#ip add 12.0.0.1 255.255.255.252
ASA1(config-if)#no shutdown
ASA1(config)#route outside 0.0.0.0 0.0.0.0 12.0.0.2
R2(config)#interfa 0/1
R2(config-if)#ipadd 12.0.0.2 255.255.255.252
R2(config-if)#noshutdown
R2(config-if)#interffa 0/0
R2(config-if)#ipadd 22.0.0.1 255.255.255.252
R2(config-if)#noshutdown
ASA2(config)#intere0/0
ASA2(config-if)#nameif outside
ASA2(config-if)#ip add 22.0.0.2 255.255.255.252
ASA2(config-if)#no shutdown
ASA2(config-if)#inter e 0/1
ASA2(config-if)#nameif inside
ASA2(config-if)#ip add 192.168.30.1 255.255.255.0
ASA2(config-if)#no shutdown
ASA2(config)#route outside 0.0.0.0 0.0.0.0 22.0.0.1
R3(config)#interfa 0/1
R3(config-if)#ipadd 192.168.30.2 255.255.255.0
R3(config-if)#noshutdown
R3(config)#iproute 0.0.0.0 0.0.0.0 192.168.30.1
配置IPSecVPN:
(配置站點到站點的vpn ,首先得保證L2L之間能正常通信,并且公網IP地址是固定的。)
ASA1(config)#crypto isakmp enable outside//在ASA外網口啟用ISAKMP.
IKE階段1:
ASA1(config)#crypto isakmp policy1//創建isakmp策略并指定策略編號
ASA1(config-isakmp-policy)#encryption aes//指定對稱加密算法
ASA1(config-isakmp-policy)#hash sha//指定HMAC驗證使用的算法
ASA1(config-isakmp-policy)#authentication pre-share//指定驗證的方式
ASA1(config-isakmp-policy)#group 2//指定DH 密鑰組
ASA1(config-isakmp-policy)#lifetime 120//配置管理連接的生存周期
ASA1(config)#crypto isakmp key 1234 address 22.0.0.2//為對端創建預共享密鑰
IKE階段2配置:
ASA1(config)#access-list110 permit ip 192.168.10.0255.255.255.0 192.168.30 255.255.255.0
//配置crypto ACL ,定義保護的流量
ASA1(config)#crypto ipsec transform-set benet1 esp-aes esp-md5-hmac //配置傳輸集
ASA1(config)#crypto map benet 1 match address 110//調用crypto acl
ASA1(config)#crypto map benet 1 setpeer 22.0.0.2//指定IPSec對等體
ASA1(config)#crypto map benet 1 settransform-setbenet1//指定傳輸集
將cryptomap 應用到接口上:
ASA1(config)#crypto map benet interface outside
ASA2的配置:
ASA2(config)#crypto isakmp enable outside//在ASA外網口啟用ISAKMP.
ASA2(config)#crypto isakmp policy 1
ASA2(config-isakmp-policy)#encryption aes
ASA2(config-isakmp-policy)#authentication pre-share
ASA2(config-isakmp-policy)#group 2
ASA2(config-isakmp-policy)#lifetime 120
ASA2(config)#crypto isakmp key 1234 address 12.0.0.1
ASA2(config)#access-list 110 permit ip 192.168.30.0 255.255.255.0 192.168.10.0 255.255.255.0
ASA2(config)#crypto ipsec transform-set benet1 esp-aes esp-md5-hmac
ASA2(config)#crypto map benet 1 match address 110
ASA2(config)#crypto map benet 1 set peer 12.0.0.1
ASA2(config)#crypto map benet 1 set transform-set benet1
將cryptomap 應用到接口上:
ASA2(config)#crypto map benet interface outside
小結:完成上述配置,IPSec VPN就做通了。用ping命令可以測試是否成功。
配置地址轉換
ASA1(config)# nat(inside)10192.168.10.0 255.255.255.0
ASA1(config)#global (outside) 10 interface
ASA2(config)# nat(inside) 10 192.168.30.0 255.255.255.0
ASA2(config)#global (outside) 10 interface
小結:添加這些命令,內網就可以上網了(用telnet測試,在R2上配置遠程管理),但IPSec VPN 就不能工作了,因為ip地址在ASA上被轉換了,導致VPN驗證失敗。所以要配置NAT豁免,使兩個內網的流量不被NAT.
配置NAT豁免:
ASA1(config)#access-list nonat extended permit ip 192.168.10.0 255.255.255.0 192.168.30.0255.255.255.0
ASA1(config)# nat(inside) 0 access-list nonat
ASA2(config)#access-list nonat extended permit ip 192.168.30.0 255.255.255.0 192.168.10.0255.255.255.0
ASA2(config)# nat(inside) 0 access-list nonat
配置完上面這些所有需求都可以滿足了。