VPN在日常中很常用,本次就介绍一下cisco vpn的配置,本次为IPSEC 即,站点到站点的VPN 配置,使用思科的路由器配置,理论知识不多讲,可以百度搜索一下
查看思科路由器是否支持ipsec,可使用 show crypto ipsec sa 命令,若命令报错,则不支持,则需要购买licese或升级ios
本次模拟实验环境如上图所示,下面简单说一下配置
R1 R2 R3 从左到右,分别是这三个路由器,R1模拟总公司,R2中的为运营商,运营商只用一个路由器,连接两个不同的网段即可以模拟,R3模拟分公司地址分配如下
路由器 | Fa0/0 | Fa0/1 |
---|---|---|
R1
|
202.1.1.2
|
192.168.1.1
|
R2
|
202.1.1.1
|
203.1.1.1
|
R3
|
203.1.1.2
|
192.168.2.1
|
先将三个路由配置好,并做好 nat ,以模拟正常公司环境
以下是R1的配置
配置接口地址
en conf t hostname R1 interface fa0/0 ip address 202.1.1.2 255.255.255.0 no shutdown interface fa0/1 ip address 192.168.1.1 255.255.255.0 no shutdown
配置nat 上网
conf t interface fa0/0 ip nat outside exit interface fa0/1 ip nat inside exit access-list 110 permit ip 192.168.1.0 0.0.0.255 any ip nat insdie source list 110 interface fa0/0 overload ip route 0.0.0.0 0.0.0.0 202.1.1.1
R2配置
conf t hostname R2_ISP interface fa0/0 ip address 202.1.1.1 255.255.255.0 no shut interface fa0/1 ip address 203.1.1.1 255.255.255.0 no shut
R3配置
conf t hostname R3 interface fa0/0 ip addr 203.1.1.2 255.255.255.0 no shut interface fa0/1 ip addr 192.168.2.1 255.255.255.0 no shut
配置NAT(PAT)上网
conf t inter fa0/0 ip nat outside interface fa0/1 ip nat inside access-list 110 permit ip 192.168.2.0 0.0.0.255 any ip nat inside source list 110 interface FastEthernet0/0 overload ip route 0.0.0.0 0.0.0.0 203.1.1.1
以上就配置完了,点击左侧下面那个PC 来测试一下,先把PC 配置地址,点一下,会弹出一个对话框,然后点击Desktop 再点击ip configuration
然后 测试
可以到达分公司的路器的外网出口,没有问题,做VPN,先把物理链路搞通,以下是R1的VPN 相关配置,以下所有配置,均在全局配置模式下,Route(config)#
定义感兴趣流,也就是哪些数据是需要被加密的,本次环境的是总公司和分公司的,R1为总公司的路由器,也就是192.168.1.0到192.168.2.0需要加密
access-list 120 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
配置第一阶段参数,加密算法和认证算法
crypto isakmp policy 10 //配置一个ike 策略,编号为10 authentication pre-share // 配置验证类型为预共享密钥 encryption aes 128 // 配置密码算法为aes 128位,这里有3des des aes可以自由选择,注意两端要一段,否则不能协商成功 group 2 hash sha lifetime 12000 //配置 ike 生存周期
配置加密密钥为 cisco123 两端必须保持一持,并指定对端地址
crypto isakmp key cisco123 address 203.1.1.2
配置 ipsec 传输集
crypto ipsec transform-set vpn-set esp-aes 128 esp-sha-hmac
配置ipsec 生存周期
crypto ipsec security-association lifetime seconds 12000
配置crypto map
crypto map vpn-map 10 ipsec-isakmp // 编号为10 set peer 203.1.1.2 //设置对端路由器地址 set transform-set vpn-set //设置使用 vpn-set 传输信s match address 120 // 匹配感兴趣流,也就是定义哪些数据需要加密 exit
在外网接口上启用crypto map
interface fa0/0 crypto map vpn-map
至于分公司的配置,和总公司一样,区别就是在配置三兴趣流,以及对端地址需要改变,其它的都可从R1直接复制过来,简单说的贴下配置
配置ike 协商策略
crypto isakmp policy 10 authentication pre-share encryption aes 128 group 2 hash sha lifetime 12000
定义感兴趣流,也就是哪些数据是需要被加密的,本次环境的是总公司和分公司的,R2为分公司的路由器,也就是192.168.2.0到192.168.1.0需要加密
access-list 120 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
配置加密密钥为 cisco123 两端必须保持一持,并指定对端地址
crypto isakmp key cisco123 address 202.1.1.2
配置 ipsec 传输集
crypto ipsec transform-set vpn-set esp-aes 128 esp-sha-hmac
配置ipsec 生存周期
crypto ipsec security-association lifetime seconds 12000
配置crypto map
crypto map vpn-map 10 ipsec-isakmp set peer 202.1.1.2 set security-association lifetime seconds 12000 set transform-set vpn-set match address 120 exit
在外网接口上启用crypto map
interface fa0/0 crypto map vpn-map
配置NAT 免除,两端都需要
R1 NAT 取消VPN段的NAT转换
conf t no access-list 110 permit ip 192.168.1.0 0.0.0.255 any access-list 110 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 access-list 110 permit ip 192.168.1.0 0.0.0.255 any
R2 NAT 取消VPN段的NAT转换
conf t no access-list 110 permit ip 192.168.2.0 0.0.0.255 any access-list 110 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 110 permit ip 192.168.2.0 0.0.0.255 any
使用分公司ping PC 向总公司测试
测试已经成功
另外思科的路由器或者防火墙,在做VPN的时候,配置好以后不会自己建立,需要有流量触发一下,才会建立起来,所以刚配置完,就查看 ipsec sa 和isakmp sa,是空的,不要理解为配置错误,没有协商成功,ping一下,触发一下流量,即可以建立,上图 ping的时候,第一个包丢失,这也就是在触发流量以后,开始建立,所以第一个包丢
下面再看一下第一阶段的ike sa
R1#show crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status 203.1.1.2 202.1.1.2 QM_IDLE 1067 0 ACTIVE IPv6 Crypto ISAKMP SA R1#
查看ike 协商的结果
show crypto isakmp policy
查看sa管理连接的状态
show crypto isakmp sa
查看 ipsec sa 的详细信息
show crypto ipsec sa
查看ipsec 传输集
show crypto ipsec transform-set
查看crypto map
show crypto map
还有就是配置VPN的时候,很容易遗忘的做NAT的免除,导致最后不通,还就是要注意共享密钥以及两端的加密算法以及认证算法要保持一致,否则不能协商成功
定义的acl 120没有match,还是用的110
谢谢,写文档的时候手误打错了,多谢指正
实验发现match 110的话通道不会建立,需要match 120
谢谢,写文档的时候手误打错了,多谢指正
想问一下,原本配置是能通的,但是隔了一天打开发现就不能通了,查看了一下ike sa,发现如下
137.78.5.1 202.100.1.1 MM_NO_STATE 0 0 ACTIVE (deleted)
请问怎么解决这个问题呢
没有活动的连接啊,ping一下对端的地址,就会建立了
我想问一下,如果中间运营商那里想用两台路由器可以吗
一二楼的话,我蒙了
请问,我设置了ping不通,不知道是什么原因