野蛮模式的作用:
对于两端IP地址不是固定的情况(如ADSL拨号上网),并且双方都希望采用预共享密钥验证方法来创建IKE SA,就需要采用野蛮模式。另外如果发起者已知回应者的策略,采用野蛮模式也能够更快地创建IKE SA。
ipsec下两种模式的区别:
1、野蛮模式协商比主模式协商更快。主模式需要交互6个消息,野蛮模式只需要交互3个消息。
2、主模式协商比野蛮模式协商更严谨、更安全。因为主模式在5、6个消息中对ID信息进行了加密。而野蛮模式由于受到交换次数的限制,ID信息在1、2个消息中以明文的方式发送给对端。即主模式对对端身份进行了保护,而野蛮模式则没有。
3、两种模式在确定预共享密钥的方式不同。主模式只能基于IP地址来确定预共享密钥。而积极模式是基于ID信息(主机名和IP地址)来确定预共享密钥。
野蛮模式的必要性:
两边都是主机名的时候,就一定要用野蛮模式来协商,如果用主模式的话,就会出现根据源IP地址找不到预共享密钥的情况,以至于不能生成SKEYID。
1、因为主模式在交换完3、4消息以后,需要使用预共享密钥来计算SKEYID,但是由于双方的ID信息在消息5、6中才会被发送,此时主模式的设备只能使用消息3、4中的源IP地址来找到与其对应的预共享密钥;如果主模式采用主机名方式,主机名信息却包含在消息5、6中,而IPSEC双方又必须在消息5、6之前找到其相应的预共享密钥,所以就造成了矛盾。
2、在野蛮模式中,ID信息(IP地址或者主机名)在消息1、2中就已经发送了,对方可以根据ID信息查找到对应的预共享密钥,从而计算出SKEYID。
野蛮模式的配置实例:
实验说明:如图是一个网络拓扑图,现采用ipsec野蛮模式实现pc1,pc2,pc3之间的相互通信。其中F1、F2、F3、Internet均有防火墙来做,因实验环境和实验器材限制,F2和F3的动态地址次分配地址,暂时由手工配置,然后修改地址进行验证。
配置步骤:
F1配置:
配置3000的访空列表规则:
[F1]acl number 3000
[F1-acl-adv-3000]rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
[F1-acl-adv-3000]rule 2 deny ip
[F1-acl-adv-3000]quit
配置3001的访空列表规则:
[F1]acl number 3001
[F1-acl-adv-3001]rule 1 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
[F1-acl-adv-3001]rule 2 deny ip
[F1-acl-adv-3001]quit
配置端口地址:
[F1]int eth0/1
[F1-Ethernet0/1]ip address 192.168.10.100 24
[F1]int eth0/2
[F1-Ethernet0/2]ip address 192.168.1.1 24
[F1-Ethernet0/2]quit
设置ike模块的本端id:
[F1]ike local-name f1
针对第一个IKE网关名:
[F1]ike peer p1
指定IKE阶段一使用的协商模式 野蛮模式:
[F1-ike-peer-p1]exchange-mode aggressive
指定预共享密钥:
[F1-ike-peer-p1]pre-shared-key 123456
设置id验证为name:
[F1-ike-peer-p1]id-type name
指定第一个对端网关名f2:
[F1-ike-peer-p1]remote-name f2
针对第二个ike网关名:
[F1]ike peer p11
启用野蛮模式:
[F1-ike-peer-p11]exchange-mode aggressive
指定预共享密钥:
[F1-ike-peer-p11]pre-shared-key 123456
设置id验证为name:
[F1-ike-peer-p11]id-type name
指定第二个对端网关名f3:
[F1-ike-peer-p11]remote-name f3
指定IPSec安全提议的名字:
[F1]ipsec proposal policy1
指定ESP(RFC2406)协议验证算法以及协议加密类型:
[F1-ipsec-proposal-policy1]esp authentication-algorithm md5
[F1-ipsec-proposal-policy1]encapsulation-mode tunnel
[F1-ipsec-proposal-policy1]esp encryption-algorithm des
[F1-ipsec-proposal-policy1]transform esp
指定IPSec第一个模块配置信息使用IKE协商建立安全联盟:
[F1]ipsec policy policy1 1 isakmp
security 指定由此安全策略保护的报文、由访问列表号来指定报文:
[F1-ipsec-policy-isakmp-policy1-1]security acl 3000
[F1-ipsec-policy-isakmp-policy1-1]ike-peer p1
[F1-ipsec-policy-isakmp-policy1-1]proposal policy1
[F1-ipsec-policy-isakmp-policy1-1]quit
security 指定由此安全策略保护的报文、由访问列表号来指定报文:
[F1]ipsec policy policy1 2 isakmp
[F1-ipsec-policy-isakmp-policy2-2]security acl 3001
[F1-ipsec-policy-isakmp-policy2-2]ike-peer p11
[F1-ipsec-policy-isakmp-policy2-2]proposal policy1
添加防火墙区域信任:
[F1]firewall zone trust
[F1-zone-trust]add interface eth0/1
[F1-zone-trust]add interface eth0/2
[F1-zone-trust]quit
设置本地路由:
[F1]ip route-static 0.0.0.0 0.0.0.0 192.168.10.1
将策略应用到接口:
[F1]int eth0/1
[F1-Ethernet0/1]ipsec policy policy1
F2配置:
配置3000的访空列表规则:
[F2]acl number 3000
[F2-acl-adv-3000]rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
[F2-acl-adv-3000]rule 2 deny ip
[F2-acl-adv-3000]quit
配置端口地址:
[F2]int eth0/1
[F2-Ethernet0/1]ip address 192.168.20.100 24
[F2]int eth0/2
[F2-Ethernet0/2]ip address 192.168.2.1 24
[F2-Ethernet0/2]quit
[F2]ike local-name f2
IKE网关名:
[F2]ike peer p2
指定IKE阶段一使用的野蛮模式:
[F2-ike-peer-p2]exchange-mode aggressive
[F2-ike-peer-p2]pre-shared-key 123456
[F2-ike-peer-p2]id-type name
[F2-ike-peer-p2]remote-name f1
目的端地址:
[F2-ike-peer-p2]remote-address 192.168.10.100
指定IPSec(IP Security)模块配置信息、配置IPSec安全提议、IPSec安全提议的名字:
[F2]ipsec proposal policy1
指定ESP(RFC2406)协议的参数、IPSec安全协议的验证算法:
[F2-ipsec-proposal-policy1]esp authentication-algorithm md5
[F2-ipsec-proposal-policy1]encapsulation-mode tunnel
[F2-ipsec-proposal-policy1]esp encryption-algorithm des
[F2-ipsec-proposal-policy1]transform esp
指定IPSec(IP Security)模块配置信息、配置IPSec安全策略、使用IKE协商建立安全联盟:
[F2]ipsec policy policy1 1 isakmp
security 指定由此安全策略保护的报文、由访问列表号来指定报文:
[F2-ipsec-policy-isakmp-policy1-1]security acl 3000
[F2-ipsec-policy-isakmp-policy1-1]ike-peer p2
[F2-ipsec-policy-isakmp-policy1-1]proposal policy1
[F2-ipsec-policy-isakmp-policy1-1]quit
添加防火墙区域信任:
[F2]firewall zone trust
[F2-zone-trust]add interface eth0/1
[F2-zone-trust]add interface eth0/2
[F2-zone-trust]quit
设置本地路由:
[F2]ip route-static 0.0.0.0 0.0.0.0 192.168.20.1
将策略应用到接口:
[F2]int eth0/1
[F2-Ethernet0/1]ipsec policy policy1
F3配置:
配置3001的访空列表规则:
[F3]acl number 3001
[F3-acl-adv-3001]rule 0 permit ip source 192.168.3.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
[F3-acl-adv-3001]rule 2 deny ip
[F3-acl-adv-3001]quit
配置端口地址:
[F3]int eth0/1
[F3-Ethernet0/1]ip address 192.168.30.100 24
[F3]int eth0/2
[F3-Ethernet0/2]ip address 192.168.3.1 24
[F3-Ethernet0/2]quit
[F3]ike local-name f3
IKE网关名:
[F3]ike peer p3
指定IKE使用野蛮模式:
[F3-ike-peer-p3]exchange-mode aggressive
[F3-ike-peer-p3]pre-shared-key 123456
[F3-ike-peer-p3]id-type name
[F3-ike-peer-p3]remote-name f1
目的端地址:
[F3-ike-peer-p3]remote-address 192.168.10.100
指定IPSec(IP Security)模块配置信息、配置IPSec安全提议、IPSec安全提议的名字:
[F3]ipsec proposal policy1
指定ESP(RFC2406)协议的参数IPSec安全协议的验证算法:
[F3-ipsec-proposal-policy1]esp authentication-algorithm md5
[F3-ipsec-proposal-policy1]encapsulation-mode tunnel
[F3-ipsec-proposal-policy1]esp encryption-algorithm des
[F3-ipsec-proposal-policy1]transform esp
指定IPSec(IP Security)模块配置信息、配置IPSec安全策略、使用IKE协商建立安全联盟:
[F3]ipsec policy policy1 1 isakmp
security 指定由此安全策略保护的报文、由访问列表号来指定报文:
[F3-ipsec-policy-isakmp-policy1-1]security acl 3001
[F3-ipsec-policy-isakmp-policy1-1]ike-peer p3
[F3-ipsec-policy-isakmp-policy1-1]proposal policy1
[F3-ipsec-policy-isakmp-policy1-1]quit
添加防火墙区域信任:
[F3]firewall zone trust
[F3-zone-trust]add interface eth0/1
[F3-zone-trust]add interface eth0/2
[F3-zone-trust]quit
设置本地路由:
[F3]ip route-static 0.0.0.0 0.0.0.0 192.168.30.1
将策略应用到接口:
[F3]int eth0/1
[F3-Ethernet0/1]ipsec policy policy1
Internet (暂时由一台防火墙替代):
配置端口地址:
[F4]int eth0/1
[F4-Ethernet0/1]ip address 192.168.10.1 24
[F4]int eth0/2
[F4-Ethernet0/2]ip address 192.168.20.1 24
[F4-Ethernet0/2]quit
[F4]int eth0/3
[F4-Ethernet0/3]ip address 192.168.30.1 24
[F4-Ethernet0/3]quit
将端口添加防火墙信任:
[F4]firewall zone trust
[F4-zone-trust]add interface eth0/1
[F4-zone-trust]add interface eth0/2
[F4-zone-trust]add interface eth0/3
[F4-zone-trust]quit
在pc2上测试:
野蛮模式下,F2、F3上链接Internet端口地指是由dhcp分配,不是固定地址,因实验环境限制,没有配置dhcp服务,所以这里手动修改F2上eth0的地址,模拟动态地址进行验证。
在pc2主机上执行ping 192.168.1.1 -t,然后将地址由原来的192.168.20.100,改为192.168.20.13进行验证:
可以看到,地址修改后pc1与pc2之间任能继续通信,同理也可以修改F3上eth0/1的地址,在pc3上进行验证。