视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Cisco路由器实现IPSEC VPN配置
2025-09-23 17:56:53 责编:小OO
文档
Cisco路由器实现IPSEC VPN配置(站点到站点)  

2013-07-22 23:10:50|  分类: 接入网技术 |  标签:ipsec    ah  esp  site-to-site  |举报|字号 订阅

    

下载LOFTER客户端

 

目标 

a.分公司172.16.10.0/24,网络的主机可以通过VPN访问总部服务器10.10.33.0/24,但不能访问Internet

b.分公司的其它客户端(172.16.0.0/24)可以访问Internet

实验设备

1、Cisco路由器(IOS为12.4)

2、客户机3台,IP地址,见拓扑图,F0/0连接

 

实验步骤

 

R1上的配置

Router(config)#hostname R1

R1(config)#int f0/0

R1(config-if)#ip add 100.0.0.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#int f0/1

R1(config-if)#ip add 172.16.10.254 255.255.255.0

R1(config-if)#no sh

 

//配置默认路由

R1(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.2

 

在IPSEC中,IKE被用来自动协商SA和密钥,如果被关闭用crypto isakmp enable启用

R1(config)#crypto isakmp policy 1     //建立IKE协商策略,编号为1

R1(config-isakmp)#encryption 3des    //设置加密使用的算法为3DES

R1(config-isakmp)#hash sha    //设置密钥认证的算法为sha

R1(config-isakmp)#authentication pre-share     //告诉router要先使用预共享密钥,手工指定

R1(config-isakmp)#group 2   

R1(config-isakmp)#lifetime 10000 //声明SA的生存时间为10000,超过后SA将重新协商

R1(config-isakmp)#exit

R1(config)#crypto isakmp key 0 test address 100.0.0.2

//设置加密密钥为test,要求二端的密码相匹配,和对端地址(总部Router地址)

 

配置访问控制列表

注意:

1.当一个路由器接收到发往另一个路由器的内部网络报文时,IPSEC被启动,访问列表被用于确定哪些业务 将启动IKE和IPSEC协商

2.Crypto访问控制列表必须是互为镜像的,如:R1加密了所有流向R2的TCP流量,则R2必须加密流回R1的所有TCP流量

R1(config)#access-list 100 permit ip 172.16.10.0 0.0.0.255 10.10.33.0 0.0.0.255

//定义从172.16.10.0网络发往10.10.33.0的报文全部加密

 

//配置IPSEC传输模式,用于定义VPN隧道的认证类型,完整性与负载加密

 

R1(config)#crypto ipsec transform-set -set esp-des ah-sha-hmac

R1(cfg-crypto-trans)#mode tunnel //可选

R1(cfg-crypto-trans)#exit

R1(config)#crypto ipsec security-association lifetime seconds 1800 //定义生存周期1800秒

 

//配置caypt map(加密映射)

R1(config)#crypto map test-map 1 ipsec-isakmp //创建crypto map

//IPSEC-ISAKMP表示采用自动协调,名为test-map,编号1为优先级,越小优先级越高

R1(config-crypto-map)#set peer 100.0.0.2 //设定crypto map所对应的VPN链路对端IP

R1(config-crypto-map)#set transform-set -set //指定crypto map所使用传输模式名

R1(config-crypto-map)#match address 100 //指定此crypto map使用的访问控制列表

R1(config-crypto-map)#exit

 

//将映射应用到对应的接口上,VPN就可生效了

R1(config)#int f0/0

R1(config-if)#crypto map test-map

 

//配置PAT

R1(config)#access-list 1 deny 172.16.10.0 0.0.0.255 //研发部不能访问Internet

R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 //其它部门可以访问Internet

R1(config)#ip nat inside source list 1 interface f0/0 overload //在F0/0上启用PAT

 

R1(config)#int f0/0

R1(config-if)#ip nat outside

R1(config)#int f0/1

R1(config-if)#ip nat inside

 

 

 

R2上的配置(总部上路由器设置)

R2(config)#int f0/0

R2(config-if)#ip add 100.0.0.2 255.255.255.0

R2(config-if)#no sh

R2(config)#int f0/1

R2(config-if)#ip add 10.10.33.254 255.255.255.0

R2(config-if)#no sh

 

R2(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.1

 

//IPSEC VPN的配置,含义与R1基本相同

R2(config)#crypto isakmp policy 1 //建立IKE协商策略,编号为1

R2(config-isakmp)#encryption 3des

R2(config-isakmp)#hash sha //设置密钥认证的算法为sha

R2(config-isakmp)#authentication pre-share //告诉router要先使用预共享密钥,手工指定

R2(config-isakmp)#group 2

R2(config-isakmp)#lifetime 10000

R2(config-isakmp)#exit

 

R2(config)#crypto isakmp key 0 test address 100.0.0.1

//设置共享密钥为test,要求二端的密码相匹配,和对端地址(总部Router地址)

R2(config)#access-list 100 permit ip 10.10.33.0 0.0.0.255 172.16.10.0 0.0.0.255

//定义从10.10.33.0网络发往172.16.10.0的报文全部加密

R2(config)#crypto ipsec transform-set -set esp-des ah-sha-hmac //加密算法二边要匹配

R2(cfg-crypto-trans)#mode tunnel

R2(cfg-crypto-trans)#exit

 

R2(config)#crypto ipsec security-association lifetime seconds 1800

R2(config)#crypto map test-map 1 ipsec-isakmp

//IPSEC-ISAKMP表示采用自动协调,名为test-map,编号1为优先级,越小优先级越高

R2(config-crypto-map)#set peer 100.0.0.1 //设定crypto map所对应的VPN链路对端IP

R2(config-crypto-map)#set transform-set -set //指定crypto map所使用传输模式名

R2(config-crypto-map)#match address 100 //指定此crypto map使用的访问控制列表

R2(config-crypto-map)#exit

 

应用到接口,生效

R2(config-crypto-map)#int f0/0

R2(config-if)#crypto map test-map

 

 

相关验证结果的查看命令

显示ISAKMP协商策略的结果

∙R2#sh crypto isakmp policy

 

查看管理连接SA的状态

∙R2#sh crypto isakmp sa

 

显示IPSEC变换集

∙R2#sh crypto ipsec transform-set

 

显示数据数据连接SA的细节信息

∙R2#sh crypto ipsec sa

 

显示Crypto Map的信息

∙R2#sh crypto map

==================================================================================

上面内容转自新浪博文:http://blog.sina.com.cn/s/blog_517bb0a40100owr3.html

按上面的配置好后,发现用分公司172.16.10.0/24可以ping通10.10.33.0/24,但是从抓包来看,流量并未使用ipsec ,而是直接传输的,ipsec 没有生效。通过抓包发现,采用上面的配置时,若使用172.16.10.0/24 ping 10.10.33.0/24,源地址是100.0.0.1,也就是路由器的外部全局地址,但是ipsec的隧道兴趣流规则定义是对于源地址为172.16.10.0 0.0.0.255目标地址为 10.10.33.0 0.0.0.255的流量才使用,于是我认为应该在R1添加一句access-list 100 permit ip 100.0.0.0 0.0.0.255 10.10.33.0 0.0.0.255让源地址为100.0.0.1的流量也是兴趣流。添加后再ping时,发现ping不通10.10.33.0/24了,于是抓包,从wireshark里面看有quick mode的网络包,说明流量已经是走ipsec 了,但是由于某些原因未能通讯上,此时再看R2的CONSOLE,发现有“Processing of Quick mode failed”消息提示。通过检查R2的配置,发现兴趣流也没有定义是源地址为100.0.0.2,目上标地址是172.16.10.0的情况,于是我觉得可能是ipsec 协商失败导致的,因为过来的是ipsec流量,但是返回的数据却不是,因而失败。所以我再在R2上添加了一条ACL:access-list 100 permit ip 10.10.33.0 0.0.0.255 100.0.0.0 0.0.0.255,后来再ping就通了,从网络包看也是使用esp封装的。

总结:感兴趣流量的源地址和目标地址应该是peer两端的地址,而不是内网的地址下载本文

显示全文
专题