实验要求:拓扑图如下所示,R1和R5作为internet中两端内部局域网,通过在网关设备R2和R4上设置IPsec VPN,使两端的局域网之间建立一种逻辑上的虚拟隧道。
实验步骤:首先配置所有理由器接口的IP地址(略),并指定默认路由(因为是末梢网络)。
R1上面的默认路由如下所示。
R2上面的默认路由如下所示。
ISP是运营商,在这里用来模拟外部网络,只需要配置IP地址就行。
R4上面的默认路由如下所示。
R5上面的默认路由如下所示。
此时配置完成两个局域网是不能够通信的。下面就需要分别在R2和R4上做IPsecVPN来实现互联互通。
R2(config)#crypto isakmp policy 1 //配置安全策略
R2(config-isakmp)#encryption 3des //管理链接的最后两个数据报文(用于身份验证)采用何种加密算法
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实验完成!
谢谢欣赏!