思科动态接入IPSec VPN

动态地址的VPN接入

问题:对等体的地址动态获取,地址是不固定的;对等体双方至少有一端的地址必须是静态的。例如:hub and spoke模型。

解决方法:

dynamic map:

DVTI(思科私有)

DMVPN(思科私有)

 dynamic map

在混合厂商环境中的唯一解决方案;

缺点:

中心站点无法主动发起到分支站点的VPN流量;

没有虚拟隧道接口,不能运行动态路由协议;

–只能适合分支站点简单的网络环境;

不同的分支与总部建立VPN后,分支之间不能通过总部进行访问;

只适用于较为简单的场合。

思科配置案例

如图所示,RB为企业分支网关,公网接口的IP地址使用动态获取方式(PPPOE),RA为企业总部网关(思科路由器),分支经过NAT设备与总部通过公网建立通信。

企业希望对分支子网与总部子网之间相互访问的流量进行安全保护。由于分支网关采用动态方式获取IP地址,总部网关可以使用动态模板方式与分支网关建立一个IPsec隧道来实现该需求。总部使用模糊匹配方式,可以接入任意的分支。

下图 配置动态获取IP地址的分支用户向总部思科路由器发起协商建立IPsec隧道组网图。

PC1 配置

pc都用路由器进行模拟,pc是一台没有交换功能的路由器。

PC1(config)#no ip routing    //关闭路由功能
PC1(config)#int e0/0         //进入接口
PC1(config-if)#no sh    //开启端口(思科默认关闭)
PC1(config-if)#ip add 10.1.1.1 255.255.255.0   //配置IP地址为10.1.1.1

PC1(config)#ip default-gateway 10.1.1.254      //配置网关

PC2 配置

PC2(config)#no ip routing    //关闭路由功能
PC2(config)#int e0/0         //进入接口
PC2(config-if)#no sh    //开启端口(思科默认关闭)
PC2(config-if)#ip add 10.1.2.1 255.255.255.0   //配置IP地址为10.1.2.1

PC2(config)#ip default-gateway 10.1.2.254      //配置网关

RA 配置:

RAconfig)#int e0/0
RA(config-if)#ip add 202.101.1.1 255.255.255.0
RA(config-if)#no sh
RA(config)#int e0/1
RA(config-if)#no sh          
RA(config-if)#ip add 10.1.1.254 255.255.255.0

RA(config)#ip route 0.0.0.0 0.0.0.0 202.101.1.3    //配置静态路由

RA(config)#crypto isakmp policy 10     //创建新的isakmp策略
RA(config-isakmp)# encr 3des            //指定使用3des进行加密
RA(config-isakmp)# hash md5      //认证hash算法采用md5认证
RA(config-isakmp)# authentication pre-share    //指定认证方式为“预共享密钥”,用的最多
RA(config-isakmp)# group 5
RA(config-isakmp)# lifetime 86400
RA(config-isakmp)#ex
RA(config)#crypto isakmp key xyh#123 address 0.0.0.0     //配置预共享密钥为 xyh#123,对方的密钥也要是一致才能匹配成功,指定邻居,0.0.0.0 0.0.0.0是任意匹配 
RA(config)#crypto ipsec transform-set xyh666 esp-3des esp-md5-hmac    //配置ipsec加密转换集,名字为xyh666
RA(cfg-crypto-trans)#mode tunnel   //模式为隧道模式
RA(cfg-crypto-trans)#ex

RA(config)#crypto dynamic-map xyhy 10   //新建名为“xyhy"的动态ipsec加密图

RA(config-crypto-map)#set transform-set xyh666   //指定加密转换集为”xyh666“
RA(config-crypto-map)#ex
RA(config)#crypto map xyh88 10 ipsec-isakmp dynamic xyhy  //将动态的”xyhy"ipsec加密图映射到静态的ipsec加密图”xyh88“中
RA(config)#int e0/0
RA(config-if)#crypto map xyh88  //将加密图应用到外网接口上

RB 配置

PPPOE客户端配置

RB(config)#int dialer 1     //创建拨号口

RB(config-if)#dialer pool 66    //创建拨号池

RB(config-if)#encapsulation ppp   //封装PPP

RB(config-if)#ppp chap hostname R2   //发送账号

RB(config-if)#ppp chap password cisco123    //发送密码

RB(config-if)#ppp ipcp route default      //进行IP地址协商

RB(config-if)#ip address negotiated      //获取默认路由(可选),在获取地址的时候才能获取,当地址获取完成之后,这条命令是不生效的。

RB(config)#int e0/0

RB(config-if)#pppoe-client dial-pool-number 66     //进入物理接口关联拨号池

RB(config-if)#int e0/1
RB(config-if)#no sh
RB(config-if)#ip add 10.1.2.254 255.255.255.0

RB(config)#ip route 0.0.0.0 0.0.0.0 202.101.2.3  //配置静态路由

RB(config)#crypto isakmp policy 10     //创建新的isakmp策略
RB(config-isakmp)# encr 3des            //指定使用3des进行加密
RB(config-isakmp)# hash md5      //认证hash算法采用md5认证
RB(config-isakmp)# authentication pre-share    //指定认证方式为“预共享密钥”,用的最多
RB(config-isakmp)# group 5
RB(config-isakmp)# lifetime 86400
RB(config-isakmp)#ex
RB(config)#crypto isakmp key xyh#123 address 202.101.1.1  //配置预共享密钥。指定peer202.101.1.1的预共享密钥为”xyh#123“该密钥与总部上指定该分支的密钥一致,如果使用数字证书/信封认证无需配置
RB(config)#crypto ipsec transform-set xyh666 esp-3des esp-md5-hmac  //配置ipsec加密转换集,名字为xyh666,没有指定就写R1一致的
RB(cfg-crypto-trans)# mode tunnel  //模式为隧道模式
RB(cfg-crypto-trans)#ex
RB(config)#access-list 100 permit ip 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.255 允许分支的流量访问总部的网络,ip汇聚可以使用,现网中还是用子网会安全点

RB(config)#crypto map xyh88 10 ipsec-isakmp   //新建名称为”xyh88“的加密图
RB(config-crypto-map)#set peer 202.101.1.1    //指定peer地址
RB(config-crypto-map)#set transform-set xyh666 //指定加密转换集”xyh666“
RB(config-crypto-map)#match address 100   /匹配感兴趣流ACL100
RB(config)#int dialer 1
RB(config-if)#crypto map xyh88  将加密图应用到接口

注意:接口必须是有获取到IP地址,pppoe使用的是拨号口。

ISP配置

PPPOE 服务端配置

ISP(config)#username RB password xyh@123     //创建用户名密码
ISP(config)#ip local pool xyh 202.101.2.10 202.101.2.20     //配置下发地址池

ISP(config)#int virtual-template 1      //创建模板接口
ISP(config-if)#encapsulation ppp       //封装PPP
ISP(config-if)#ppp authentication chap        //选择认证方式为CHAP 
ISP(config-if)#ip address 202.101.2.1 255.255.255.0     //配置接口地址
ISP(config-if)#peer default ip address pool xyh       //认证通过之后给邻居下发地址池中的地址
ISP(config)#bba-group pppoe xyh1                      //创建BBA组
ISP(config-bba-group)#virtual-template 1             //关联模板口
ISP(config-bba-group)#int e0/1
ISP(config-if)#pppoe enable group xyh1              //接口下调用BBA 组

ISP(config)#int e0/0
ISP(config-if)#ip add 202.101.1.3 255.255.255.0

测试

因为RB是通过PPPOE动态地址分配,这个时候RA是不知道RB的具体IP地址的,所以PC1 是不能主动来触发IPsec VPN隧道的,如下图所示,PC1 ping 不通PC2的 IP地址


这个时候,我们要用PC2主动去Ping PC1,因为RB是知道RA的准确的IP地址,所以,必须得要用动态获取地址的一端主动发起通信过程,才能成功坚持IPsec VPN

查看IKE SA的基本信息

show crypto isakmp sa

 查看IPsec SA的基本信息

show crypto ipsec sa

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值