上图描述:
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
配置完上面这些所有需求都可以满足了。