IPSec VPN(ipsec协议)

网友投稿 1102 2022-09-20


IPSec VPN(ipsec协议)

互联网秘钥交换协议(IKE)主要负责解决三个问题:

1、对建立IPSec的双方进行认证

2、通过秘钥交换,产生用于加密和HMAC的随机秘钥

3、协商协议参数(加密算法、散列算法、封装协议、封装模式、秘钥有效期等)

IKEv1

1、路由可达。即:

本地通讯点到达远端通讯点的路由

本地加密点到达本地通讯点的路由

本地加密点到达远端通讯点的路由

本地加密点到达远端加密点的路由

在两端加密点上定义KEv1一阶段策略;R2(config)#crypto isakmp enable //IOS系统默认开启,防火墙通常默认关闭R2(config)#crypto isakmp policy 10/定义策路的优先级顺序为10R2(config-isakmp)Hencryption 3des //定义KE数据包的加密算法为3desR2(config-isakmp)#hash md5//定义KE数据包完整性校验的hash算法为md5R2(config-isakmp)#authentication pre-share//定义一阶段的认证方式为预共享密钥R2(config-isakmp)group 21//定义DH组的交换强度R2(config)#crypto isaknp key cisco address 0.0.0.0 //定义预共享秘钥,和对等体地址R2(config)#ip access-list extended L2Lpermit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255 //定义感兴趣流R2(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmac //定义IPSec转换集,决定第二阶段协商的参数R2(cfg-crypto-trans)#mode tunnel第一阶段和第二阶段汇总策略R2(config)#crypto map CISCO 10 ipsec-isakmp //将 ipsec和iKE组合映射%NOTE: This new crypto map will remain disabled until a peerand a valid access list have been configured.R2(config-crypto-map)set peer 61.128.1.2//指定对等体地址R2(config-crypto-map)#set transform-set IPSEC//指定定义好的转换集R2(config-crypto-map)#match address L2L//指定感兴趣流R2(config)#interface Ethernet0/1 //接口调用IPSec策略 crypto map CISCO

IEK协商之后的结构成为安全关联SA:

IKE SA 维护IKE协议流量的安全防护;

IPSec SA维护实际业务流量的安全防护。

IKEv2

IKEv2同样支持数据的私密性、完整性、源认证性;

与IKEv1不兼容;

相比之下IKEv2支持EAP,可以借助认证服务器对手机、PC等终端进行身份认证,以实现远程用户接入;

1、路由可达。即:

本地通讯点到达远端通讯点的路由

本地加密点到达本地通讯点的路由

本地加密点到达远端通讯点的路由

本地加密点到达远端加密点的路由

在两端加密点上定义IKEv2提案和策略;R2(config)#crypto ikev2 proposal CISCO //定义提案IKEv2 proposal MUST have atleast an encryption algorithm, an integrity algorithm and adh group configuredR2(config-ikev2-proposal)# encryption 3des aes-cbc-256 //加密算法R2(config-ikev2-proposal)# integrity shal //完整性校验方法R2(config-ikev2-proposal)# group 2 //DH强度R2(config)#crypto ikev2 policy CISCO //策略调用提案IKEv2 policy MUST have atleast one complete proposal attachedR2(config-ikev2-policy)#proposal CISCO定义IKEv2秘钥链R2(config)#crypto ikev2 keyring V2KEY //秘钥名字R2(config-ikev2-keyring)#peer R4 //对等体名称R2(config-ikev2-keyring-peer)#address 61.128.1.2 //对等体地址R2(config-ikev2-keyring-peer)#pre-shared-key CISCO //预共享秘钥在两端加密点上定义IKEv2策略R2( config)#crypto ikev2 profile v2_PROFILE //定义名称IKEV2 profile MUST have:1. A local and a remote authentication method.2.A match identity or a match certificate or match any statenent.R2(config-ikev2-profile)#match identity remote address 61.128.1.2 255.255.255.255 //远端地址R2(config-ikev2-profile)#identity local address 202.100.1.2 //本地地址R2(config-ikev2-profile)#authentication remote pre-share //远端认证方法为预共享秘钥R2(config-ikev2-profile)#authentication local pre-share //本地认证方法为预共享秘钥R2(config-ikev2-profile)#keyring local V2KEY //指定本地用于认证的秘钥链R2(config)#ip access-list extended L2Lpermit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255 //定义感兴趣流R2(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmac //定义IPSec转换集,决定第二阶段协商的参数R2(cfg-crypto-trans)#mode tunnel在两端加密点上定义crypto map;R2(config)#tcrypto map IKEv2_L2L 10 ipsec-isakmp% NOTE: This new crypto map will remain disabled until a peerand a valid access list have been configured.R2(config-crypto-map)# set peer 61.128.1.2 //对等体地址R2(config-crypto-map)# set transform-set IPSEC //指定转换集名字R2(config-crypto-map)# set ikev2-profile V2_PROFILE //指定 ikev2 profile名字R2(config-crypto-map)# match address L2L //指定感兴趣流R2(config)#interface Ethernet0/1 //接口调用IPSec策略 crypto map IKEv2_L2L

IPSec LAN TO LAN

IPSec 分为隧道模式和传输模式,在点到点采用隧道模式。

定义虚拟隧道接口,其作用在于定义IPSec的加密点对等体,以及自动感知感兴趣流:R2#configure terminalR2(config)#interface tunnel 0R2(config-if)#ip address 172.16.1.1 255.255.255.252R2(config-if)itunnel source 202.100.1.2R2(config-if)#tunnel destination 61.128.1.2R2(config-if)#tunnel mode ipsec ipv4 //与之前掌握的GRE隧道不同,这个隧道是专门为IPv4环境下的IPSec服务的定义KE一阶段和二阶段策略,注意 IPSec依然使用隧道模式;R2(config)#crypto isakmp policy 10R2(config-isakmp)# encr 3desR2(config-isakmp)# hash md5R2(config-isakmp)# authentication pre-shareR2(config-isakmp)# group 2R2(config)#crypto isakmp key cisco address 0.0.0.0R2(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmacR2(cfg-crypto-trans)# mode tunnel定义IPSec profile,调用IPSec转换集,之后能够看到隧道接口upR2(config)#crypto ipsec profile SVTIR2(ipsec-profile)#set transform-set IPSEC在隧道接口下调用IPSec方案;R2(config)#interface tunnel 0R2(config-if)tunnel protection ipsec profile SVTI*Jun 1208:16:15.590:%CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON在加密点上为去往远端私有网络部署静态路由,打通私有网络,当然也可以选择使用动态路由协议;R2(config)#ip route 192.168.1.0 255.255.255.0 tunnel 0

IPSec LAN TO LAN-T

NAT-T技术需要对等体两端都支持才能实现;

通信双方将ESP数据封装在UDP中传递;

使用UDP端口4500

R1和R3是加密点,PC1和PC2是通信点。

R1#configure terminal //R1定义去往对端加密点的路由;R1(config)#ip route 61.128.1.2 255.255.255.255 202.100.1.1R1(config)#ip access-list extended L2L //R1定义IPSec感兴趣流;R1(config-ext-nacl)# permit ip 10.1.1.0 0.0.0.255192.168.1.0 0.0.0.255R1定义IPSec方案,注意对等体地址为远端站点穿越NAI之后的公网IP地址;R1(config)#crypto isakmp policy 10R1(config-isakmp)# encr 3desR1(config-isakmp)# hash md5R1(config-isakmp)# authentication pre-shareR1(config-isakmp)# group 2R1(config)#crypto isakmp key cisco address 0.0.0.0R1(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmacR1(cfg-crypto-trans)# mode tunnelR1(config)#crypto map L2L 1 ipsec-isakmp% NOTE:This new crypto map will remain disabled until a peerand a valid access list have been configured.R1(config-crypto-map)# set peer 61.128.1.2R1(config-crypto-map)# set transform-set IPSECRI(config-crypto-map)# match address L2LR1调用IPsec方案;R1(config)#interface Ethernet0/1R1(config-if)# crypto map L2LR3定义IPSec感兴趣流;R3#configure terminalR3(config)#ip access-list extended L2LR3(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.25510.1.1.0 0.0.0.255R3(config-ext-nacl)#lexitR3定义IPSec方案;R3(config)#crypto isakmp policy 10R3(config-isakmp)# encr 3desR3(config-isakmp)# hash md5R3(config-isakmp)# authentication pre-shareR3(config-isakmp)# group 2R3(config)#crypto isakmp key cisco address 0.0.0.0R3(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmacR3(cfg-crypto-trans)# mode tunnelR3(config)#crypto map L2L 1 ipsec-isakmp% NOTE: This new crypto map will remain disabled until a peerand a valid access list have been configured.R3(config-crypto-map)# set peer 202.100.1.2R3(config-crypto-map)# set transform-set IPSECR3(config-crypto-map)# match address L2LR3调用IPsec方案;R3(config)#interface Ethernet0/1R3(config-if)# crypto map L2L

IPSec LAN TO LAN 动态IP地址实验

一般的网络工程环境中,很难做到所有站点固定IP地址;

动态crypto map是解决动态IP地址接入固定IP地址站点的常见解决方案;

固定IP地址一端的密钥交换对等体地址应当配置为所有,以允许所有可能的动态IP地址链接进来;

中心站点通常不设置对等体地址以及感情兴趣流,根据接入站点提供的信息两端协商出来;

这种方法适用于小型站点接入;缺点在于无法从中心站点主动发起链接,由于没有虚拟隧道,因此也无法使用动态路由协议。

R1定义IPSec一阶段和二阶段策略;R1#configure terminalR1(config)#crypto isakmp policy 10R1(config-isakmp)# encr 3desR1(config-isakmp)# hash md5R1(config-isakmp)# authentication pre-shareR1(config-isakmp)# group 2R1(config)#crypto isakmp key cisco address 0.0.0.0 R1(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmacR1(cfg-crypto-trans)# mode tunnelR1定义动态映射,用于可以响应来自未知IP地址的IPSec会话;同时定义 IPSec映射策略;R1(config)#crypto dynamic-map Dynamic 10R1(config-crypto-map)# set transform-set IPSECR1(config)#crypto map L2L 1 ipsec-isakmp dynamic DynamicR1调用IPSec方案;R1(config)#interface e0/1R1(config-if)fcrypto map L2LR2定义传统IPSec方案;R2(config)#ip access-list extended L2LR2(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 10.1.1.0 0.0.0.255R2定义IPSec一阶段和二阶段策略;R2#configure terminalR2(config)#crypto isakmp policy 10R2(config-isakmp)# encr 3desR2(config-isakmp)# hash md5R2(config-isakmp)# authentication pre-shareR2(config-isakmp)# group 2R2(config)#crypto isakmp key cisco address 0.0.0.0 R2(config)#crypto ipsec transform-set IPSEC esp-3des esp-sha-hmacR2(cfg-crypto-trans)# mode tunnelR2(config)#crypto map L2L 1 ipsec-isakmp%NOTE: This new crypto map will remain disabled until a peerand a valid access list have been configured.R2(config-crypto-map)# set peer 202.100.1.2R2(config-crypto-map)# set transform-set IPSECR2(config-crypto-map)# match address L2LR2在拨号接口下调用IPSec方案;R2(config)#interface dialer 1R2(config-if)#crypto map L2L

IPsec LAN TO LAN NAT 旁路感兴趣流

当流量进入路由器接口时,接口上同时存在IPsec和NAT部署,则NAT优先于IPsec处理流量,一旦流量中IP地址被NAT转换,则不在被IPSec的感兴趣流匹配;因此,当IPSec和NAT同时部署在一个接口上时,应当在NAT的感兴趣流中放过需要被IPSec处理的流量。

需要从NAT中旁路去掉IPsec感兴趣流,意味着NAT的部署将需要采用扩展ACL来做流量感知;这种情况只会出现在经典的IPSec站到站配置中,对于后续需要研究的GRE over IPSce以及VTI技术则不会有影响。

R1和R3的IPSec正常配置。在R1上定义NAT感兴趣流,由于NAT的处理顺序优先于IPSec,因此应当在感兴趣流中拒绝处理符合IPSec业务特征的流量,这也就意味着,NAT的感兴趣流需要使用扩展ACL或者 route-map来定义;R1#configure terminalR1(config)#ip access-list extended NATR1(config-ext-nacl)#deny ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255R1(config-ext-nacl)#permit ip 10.1.1.0 0.0.0.255 any在R1上定义NAT;R1(config)#ip nat inside source list NAT interface e0/1 overloadR3需要相同的配置,注意更改原目地址。

GRE over IPSec

应用IPSec的传输模式,无需增添新的IP头部,直接保护GRE隧道的流量,隧道的对等体IP地址以及感兴趣流由GRE和路由定义;

应用全新的的GRE over IPSec配置,无需定义IPSec对等体IP,直接使用传输模式,无需定义感兴趣流;配置更加简单,更具扩展性,并且被广泛的应用于动态专网以及SVTI技术中。

建立GRE隧道,使私网联通。在两端加密点上定义IPSec策略,在此方案中,ipsec专门用于为GRE隧道及其流量加固,其感兴趣流和对等体等信息,均由GRE隧道决定;configure terminalcrypto isakmp policy 10encr 3deshash md5authentication pre-sharegroup 2crypto isakmp key cisco address 0.0.0.0crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac mode transport cryptoipsec profile L2L set transform-set IPSEC 在GRE隧道下调用 IPSec profile;R1(config)#interface tunnel 0R1(config-if)#tunnel protection ipsec profile L2L

DM VPN 第二历史发展阶段配置

中心站点与分支站点间维护永恒隧道,分支站点间按需建立临时隧道

1、路由联通性

2、部署隧道接口,所有站点都是用mGRE . 总部节点和分支节点配置只有ip地址不一样。

interface Tunnel 0ip address 172.16.100 255.255.255.0tunnel source 61.128.1.1 tunnel mode gre multipoint

3、配置NHRP 分支配置全部一样

总部:

interface Tunnel 0 ip nhrp map multicast dynamic //动态接收组播映射 ip nhrp network-id 123 //开启NHRP的能力 站点最好配置一样,不配置可能有bug

分支:

interface Tunnel 0 ip nhrp map 172.16.1.100 61.128.1.1 //单播映射到总部 ip nhrp map multicast 61.128.1.1 //组播映射到总部 ip nhrp nhs 172.16.1.100 //定义NHRP服务器位置 ip nhrp network-id 123

验证

1、测试私网地址联通性

2、

4-1、配置动态路由协议 eigrp 。 总部和分支各自配置。

interface Tunnel 0no ip split-horizon eigrp 1 //关闭水平,解决分支站点无路由问题no ip next-hop-self eigrp 1 //关闭下一跳自我,解决分支站点路由下一跳

iBGP的水平分割,可以用反射器来解决。

4-2、配置OSPF路由协议

总部和分支站点都要改。

interface Tunnel 0ip ospf network broadcast //更改ospf接口网络类型,多个站点用广播。默认点到点。

分支站点 降低优先级,总部成为DR,多区域才可以同步路由。

interface Tunnel 0ip ospf priority 0

验证:

5、调用IPSEC对GRE隧道加固。总部和分支全部配置

配置IPSEC策略 要更改为传输模式。

Spoke_1#show running-config | section ipseccrypto ipsec transform-set IPSEC esp-3des esp-md5-hmac mode transportcrypto ipsec profile DMVPN set transform-set IPSEC

接口调用策略。注意:先关闭 调用 在开启 。

interface Tunnel 0shutdowntunnel protection ipsec profile DMVPNno shutdown

DM VPN F-VRF

在站点出口网关连接运营商的端口上部署VRF,能够有效的将私有网络和互联网隔离,当连接运营商的接口被部署在vrf中,就称为F-VRF

VRF添加去互联网的默认路由HUB(config)#ip route vrf CISCO 0.0.0.0 0.0.0.0 61.128.1.254Spoke_1(config)#ip route vrf CISCO 0.0.0.0 0.0.0.0 202.100.1.254Spoke_2(config)#ip route vrf CISCO 0.0.0.0 0.0.0.0 137.78.100.254 接口划入VRF,分之站点相同操作。HUB(config)#interface tunnel 0 HUB(config-if)#tunnel vrf CISCO分支站点与中心站点建立BGP对等体,对中心站点做AS欺骗,通告本站点是AS123;Spoke_1(config)#router bgp 100 Spoke_1(config-router)#neighbor 172.16.1.100 remote-as 66 Spoke_1(config-router)#neighbor 172.16.1.100 local-as 123Spoke_2(config)#router bgp 200 Spoke_2(config-router)#neighbor 172.16.1.100 remote-as 66 Spoke_2(config-router)#neighbor 172.16.1.100 local-as 123HUB(config)#router bgp 66HUB(config-router)#neighbor DM peer-groupHUB(config-router)#neighbor DM remote-as 123HUB(config-router)#bgp listen range 172.16.1.0/24 peer-group DM基于默认的eBGP路由传递规则,因为做了AS欺骗,分文路点之间互相不能收取路由,此处采取由中心站点强制为分支站点下发默认路由的操作;HUB(config)#router bgp 66HUB(config-router)#neighbor DM default-originate针对于IPSec加固的部分,修改预共享密钥的配置即可;no crypto isakmp key cisco address 0.0.0.0 //删除原来定义的keycrypto keyring cisco vrf CISCO //为vrf定义密钥链 pre-shared-key address 0.0.0.0 0.0.0.0 key cisco //在密钥链中定义一个预共享密钥调用IPSec,不要忘记按照如下顺序处理:1、所有站点关闭隧道接口2、所有站点调用IPSec3、开启中心站点隧道接口4、开启分支站点隧道接口interface tunnel 0shutdowntunnel protection ipsec profile DMVPNno shutdown

DM VPN i-VRF

使用vrf将属于业务网络的私有网络与互联网个离开,就成为i-VRF方案;这个解决方案的逻辑思路为思科的SD-WAN提供的很好的奠基,在WAN数据通讯的网络发展历程上具有非常积极的作用。

1、创建2个tunnel接口划分不同的VRF   A和B

步骤(4):部署BGP协议,打通专用网络;其中关键配置,针对中心场点local as 是前应用过的方案,allowas-in则是修改了默认的eBGP路由传递规则,允许带一个本地AS号码的BGP路由收取进来HUB#configure terminalHUB(config)#router bgp 66 HUB(config-router)#address-family ipv4 unicast vrfA HUB(config-router-af)#neighbor VRFA peer-group HUB(config-router-af)#neighbor VRFA remote-as 123 HUB(config-router-af)#network 10.1.1.0 mask 255.255.255.0 HUB(config-router)#address-family ipv4 unicast vrf B HUB(config-router-af)#neighbor VRFB peer-group HUB(config-router-af)#neighbor VRFB remote-as 123 HUB(config-router-af)#network 10.2.1.0 mask 255.255.255.0 HUB(config-router)#bgp listen range 172.16.1.0/24 peer-group VRFA HUB(config-router)#bgp listen range 172.16.2.0/24 peer-group VRFB Spoke_1#configure terminalSpoke_1(config)#router bgp 100 Spoke_1(config-router)#address-family ipv4 unicast vrfA Spoke_1(config-router-af)#network 10.1.2.0 mask 255.255.255.0 Spoke_1(config-router-af)#neighbor 172.16.1.100 remote-as 66 Spoke_1(config-router-af)#neighbor 172.16.1.100 local-as 123 Spoke_1(config-router-af)#neighbor 172.16.1.100 allowas-in 1 Spoke_1(config-router)#address-family ipv4 unicast vrf B Spoke_1(config-router-af)#network 10.2.2.0 mask 255.255.255.0 Spoke_1(config-router-af)#neighbor 172.16.2.100 remote-as 66 Spoke_1(config-router-af)#neighbor 172.16.2.100 local-as 123 Spoke_1(config-router-af)#neighbor 172.16.2.100 allowas-in 1Spoke_2(config)#router bgp 100 Spoke_2(config-router)# address-family ipv4 unicast vrf A Spoke_2(config-router-af)# network 10.1.3.0 mask 255.255.255.0 Spoke_2(config-router-af)# neighbor 172.16.1.100 remote-as 66 Spoke_2(config-router-af)# neighbor 172.16.1.100 local-as 123 Spoke_2(config-router-af)#neighbor 172.16.1.100 activate Spoke_2(config-router-af)#neighbor 172.16.1.100 allowas-in 1 Spoke_2(config-router)# address-family ipv4 unicast vrf B Spoke_2(config-router-af)#network 10.2.3.0 mask 255.255.255.0 Spoke_2(config-router-af)#neighbor 172.16.2.100 remote-as 66 Spoke_2(config-router-af)#neighbor 172.16.2.100 local-as 123 Spoke_2(config-router-af)#neighbor 172.16.2.100 activate Spoke_2(config-router-af)#neighbor 172.16.2.100 allowas-in 1 总部和分支调用IPSec策略对专有网络进行加固;此处的shared参数是关通个逻辑隧道接口共享一个IPSec策略;HUB#configure terminalHUB(config)#interface tunnel 0 HUB(config-if)#shutdown HUB(config-if)#tunnel protection ipsec profile DMVPN shared HUB(config-if)# no shutdown HUB(config)#interface tunnel 1 HUB(config-if)#shutdown HUB(config-if)#tunnel protection ipsec profile DMVPN shared HUB(config-if)#no shutdown


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java核心技术巩固篇之控制流程与大数值及数组详解
下一篇:交换机-开启ssh登录(交换机怎么ssh登录别的交换机)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~