赞
踩
死亡对等体检测(dead peer detection),检查对端IKE SA(iskmp sa)是否存在。当隧道出现异常,检测出异常重新发起协商,维持隧道。
作用:DPD解决隧道黑洞问题,用于检查第一阶段是否生效;若检查第一阶段的IKE SA断开,则不会再发出DPD包
DPD检查依赖超时计数器,默认5次不回包,则删除本地SA
NAT会破坏IPSec的完整性
具体场景:当ipsec设备没有部署在企业边界,而是部署在企业内网时,ipsec的通信地址会被边界NAT设备做地址转换,这种情况下,需要考虑ipsec和nat的兼容性
第一阶段的主模式:第5、6包的认证ID,由于NAT破坏无法完成身份认证
第一阶段的野蛮模式:ID可以自定义为字符串,NAT无法破坏,可正常完成第一阶段身份认证
第二阶段的AH的传输模式和隧道模式:AH协议会校验外层IP地址,无论是传输还是隧道NAT都回转换外层IP地址,完整性都会被破坏,AH协议无法与NAT兼容。
第二阶段的ESP的隧道模式与传输模式:ESP不会对外层IP做认证或校验,所以完整算法不会被NAT破坏,但是TCP会进行头部校验
NAT在修改IP地址的时候也要修改伪首部校验和,这样就不会出现伪首部校验失败的问题,但ESP将加密封装将4层加密后,NAT就无法修改伪首部校验和,则会导致校验失败。
ESP的传输模式会导致伪首部校验失败
ESP的隧道模式,伪首部针对的是原始IP头,NAT转换的是新IP头,不存在校验失败的问题,ESP隧道模式可以与NAT兼容
(标准的IKE SA的主模式使用IP地址作为身份ID,nat会破坏IP地址故而不支持主模式,仅支持野蛮模式)
NAT环境下的IPSec配置 --- 野蛮模式 + ESP的隧道模式
(ESP加密数据 -- ESP协议没有端口号)
以上问题是IPSEC在NAT环境下用野蛮模式和ESP隧道模式下会遇到的问题
NAT环境下IPSEC最终解决方案:NAT-T(NAT穿透)技术,改技术规定在NAT模式下IPSEC的IKE SA阶段使用目的端口UDP 500或4500作为端口号,源端口允许被修改(这种情况下防火墙写策略时不要规定其源端口号),IPSEC SA数据加密流传输阶段规定使用目的端口UDP 4500来传输ESP加密流,源端口允许被修改,解决了ESP没有端口号的问题。
华为与思科的产品都默认开启NAT-T技术;若需要对方主动协商,本端在NAT设备上需要配置静态NAT映射
- nat static protocol udp global 100.1.1.1 500 inside 10.100.1.1 500
- nat static protocol udp global 100.1.1.1 4500 inside 10.100.1.1 4500
附:IPSEC不支持动态协议
IPSEC具有可靠性,完整性,机密性,也有抗重放功能,安全性高。但是IPSEC不支持组播,在IPSEC隧道中,只能通过写静态路由来引导数据包。如果私网主机网段很多,意味着得一条一条写静态路由。
GRE有很牛的隧道技术,传播速度快,支持组播技术。但是GRE不支持加密,传输数据别人都能看见,安全性不高。
解决问题:GRE隧道传输的同时,IPSEC为它保驾护航
图:企业典型的Hub-Spoke组网(配置DSVNP之前)
如上图,如果一个公司又很多分支站点,采用GRE over IPSec的话会存在如下缺点:
动态智能VPN(Dynamic Smart Virtual Private Network),简称DSVPN。是一种在Hub-Spoke组网方式下为公网地址动态变化的分支之间建立VPN隧道的解决方案。
DSVPN是华为私有协议
GRE over IPSEC缺点比较多
通过将下一跳解析协议NHRP(Next Hop Resolution Protocol)和mGRE(multipoint Generic Routing Encapsulation)技术与IPSec相结合解决了GRE over IPSec的缺陷:
图:企业Hub-spoke组网(配置DSVPN之后)
企业通过总部Hub端与多个分支Spoke相连,Hub端使用静态公网地址,Spoke可以使用动态的公网地址。在该网络中,当源Spoke需要向目的Spoke发送数据报文时,源Spoke将通过与Hub之间的静态mGRE隧道交换NHRP协议获取目的Spoke的公网地址,并与目的Spoke建立动态的mGRE隧道。隧道建立完成后,Spoke与Spoke之间的数据报文将通过该动态mGRE隧道直接发送给对方,不载经过总部Hub中转。
- [ISP]int g0/0/0
- [ISP-GigabitEthernet0/0/0]ip address 100.1.12.2 255.255.255.0
- [ISP]int g0/0/1
- [ISP-GigabitEthernet0/0/1]ip add 100.1.23.2 24
- [ISP]int g0/0/2
- [ISP-GigabitEthernet0/0/2]ip add 100.1.24.2 24
- [ISP]int g4/0/0
- [ISP-GigabitEthernet4/0/0]ip add 100.1.25.2 24
- [ISP]int g4/0/1
- [ISP-GigabitEthernet4/0/1]ip add 100.1.26.2 24
- [ISP]int g4/0/2
- [ISP-GigabitEthernet4/0/2]ip add 100.1.27.2 24
- [ISP]int g4/0/3
- [ISP-GigabitEthernet4/0/3]ip add 100.1.28.2 24
- [R1]int g0/0/0
- [R1-GigabitEthernet0/0/0]ip add 100.1.12.1 24
- [R3]int g0/0/0
- [R3-GigabitEthernet0/0/0]ip ad 100.1.23.1 24
- [R4]int g0/0/0
- [R4-GigabitEthernet0/0/0]ip add 100.1.24.1 24
- [r5]int g0/0/0
- [r5-GigabitEthernet0/0/0]ip add 100.1.25.1 24
- [r6]int g0/0/0
- [r6-GigabitEthernet0/0/0]ip add 100.1.26.1 24
- [r7]int g0/0/0
- [r7-GigabitEthernet0/0/0]ip add 100.1.27.1 24
- [r8]int g0/0/0
- [r8-GigabitEthernet0/0/0]ip add 100.1.28.1 24
- [R1]int lo0
- [R1-LoopBack0]ip add 10.1.1.1 24
- [R3]int lo0
- [R3-LoopBack0]ip add 10.3.3.3 24
- [R4]int lo0
- [R4-LoopBack0]ip add 10.4.4.4 24
- [r5]int lo0
- [r5-LoopBack0]ip add 10.5.5.5 24
- [r6]int lo0
- [r6-LoopBack0]ip add 10.6.6.6 24
- [r7]int lo0
- [r7-LoopBack0]ip add 10.7.7.7 24
- [r8]int lo0
- [r8-LoopBack0]ip add 10.8.8.8 24
- [R1]int t0/0/0
- [R1-Tunnel0/0/0]ip add 172.16.1.1 24
- [R3]int t0/00/0
- [R3-Tunnel0/0/0]ip ad 172.16.1.3 24
- [R4]int t0/0/0
- [R4-Tunnel0/0/0]ip add 172.16.1.4 24
- [r5]int t0/0/0
- [r5-Tunnel0/0/0]ip add 172.16.1.5 24
- [r6]int t0/0/0
- [r6-Tunnel0/0/0]ip add 172.16.1.6 24
- [r7]int t0/0/0
- [r7-Tunnel0/0/0]ip add 172.16.1.7 24
- [r8]int t0/0/0
- [r8-Tunnel0/0/0]ip add 172.16.1.8 24
- [R1]ip route-static 0.0.0.0 0 100.1.12.2
- [R3]ip route-static 0.0.0.0 0 100.1.23.2
- [R4]ip route-static 0.0.0.0 0 100.1.24.2
- [r5]ip route-static 0.0.0.0 0 100.1.25.2
- [r6]ip route-static 0.0.0.0 0 100.1.26.2
- [r7]ip route-static 0.0.0.0 0 100.1.27.2
- [r8]ip route-static 0.0.0.0 0 100.1.28.2
测试连通性:
(首先配置R1为server,R3-4为一级分支)
- [R1]int t0/0/0
- [R1-Tunnel0/0/0]tunnel-protocol gre p2mp
- [R1-Tunnel0/0/0]gre key 100 --> 配置标识key,防止和公网中其他gre混用
- [R1-Tunnel0/0/0]nhrp network-id 123 --> 配置标识network-id,防止和公网中nhrp混用
- [R1-Tunnel0/0/0]nhrp entry multicast dynamic --> R1为server端,自动为client配置映射
- [R1-Tunnel0/0/0]source g0/0/0
- [R3]int t0/0/0
- [R3-Tunnel0/0/0]tunnel-protocol gre p2mp
- [R3-Tunnel0/0/0]gre key 100
- [R3-Tunnel0/0/0]nhrp entry 172.16.1.1 100.1.12.1 register --> 自动注册server端的隧道地址和公网地址
- [R3-Tunnel0/0/0]nhrp network-id 123
- [R3-Tunnel0/0/0]source g0/0/0
- [R4]int t0/0/0
- [R4-Tunnel0/0/0]tunnel-protocol gre p2mp
- [R4-Tunnel0/0/0]source GigabitEthernet0/0/0
- [R4-Tunnel0/0/0]gre key 100
- [R4-Tunnel0/0/0]nhrp network-id 123
- [R4-Tunnel0/0/0]nhrp entry 172.16.1.1 100.1.12.1 register
查看配置情况:
- [R1]int t0/0/0
- [R1-Tunnel0/0/0]ospf network-type p2mp
- [R3]int t0/0/0
- [R3-Tunnel0/0/0]ospf network-type p2mp
- [R3-Tunnel0/0/0]ospf dr-priority 0 --> 让r3不在进行dr的选举
- [R4]int t0/0/0
- [R4-Tunnel0/0/0]ospf network-type p2mp
- [R4-Tunnel0/0/0]ospf dr-priority 0 --> 让r4不在进行dr的选举
- [R1]ospf 1 router-id 1.1.1.1
- [R1-ospf-1]a 0
- [R1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [R1-ospf-1-area-0.0.0.0]network 10.1.1.1 0.0.0.0
- [R3]ospf 1 router-id 3.3.3.3
- [R3-ospf-1]a 0
- [R3-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [R3-ospf-1-area-0.0.0.0]network 10.3.3.3 0.0.0.0
- [R4]ospf 1 router-id 4.4.4.4
- [R4-ospf-1]a 0
- [R4-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [R4-ospf-1-area-0.0.0.0]network 10.4.4.4 0.0.0.0
查看建邻情况
- [R1-Tunnel0/0/0]nhrp redirect
- [R3-Tunnel0/0/0]nhrp shortcut
- [R4-Tunnel0/0/0]nhrp shortcut
(配置r5-8为二级分支)
- [R3-Tunnel0/0/0]nhrp entry multicast dynamic
- [R4-Tunnel0/0/0]nhrp entry multicast dynamic
- [r5]int t0/0/0
- [r5-Tunnel0/0/0]tunnel-protocol gre p2mp
- [r5-Tunnel0/0/0]gre key 100
- [r5-Tunnel0/0/0]source g0/0/0
- [r5-Tunnel0/0/0]nhrp network-id 123
- [r5-Tunnel0/0/0]nhrp entry 172.16.1.3 100.1.23.1 register
- [r5-Tunnel0/0/0]ospf network-type p2mp --> 将ospf网络类型改为p2mp
- [r6]int t0/0/0
- [r6-Tunnel0/0/0]tunnel-protocol gre p2mp
- [r6-Tunnel0/0/0]source GigabitEthernet0/0/0
- [r6-Tunnel0/0/0]gre key 100
- [r6-Tunnel0/0/0]nhrp network-id 123
- [r6-Tunnel0/0/0]nhrp entry 172.16.1.3 100.1.23.1 register
- [r6-Tunnel0/0/0]ospf network-type p2mp
-
- [r7]int t0/0/0
- [r7-Tunnel0/0/0]ospf network-type p2mp
- [r7-Tunnel0/0/0]tunnel-protocol gre p2mp
- [r7-Tunnel0/0/0]gre key 100
- [r7-Tunnel0/0/0]nhrp network-id 123
- [r7-Tunnel0/0/0]nhrp entry 172.16.1.4 100.1.24.1 register
- [r7-Tunnel0/0/0]source g0/0/0
- [r8]int t0/0/0
- [r8-Tunnel0/0/0]tunnel-protocol gre p2mp
- [r8-Tunnel0/0/0]source GigabitEthernet0/0/0gre key 100
- [r8-Tunnel0/0/0]ospf network-type p2mp
- [r8-Tunnel0/0/0]nhrp network-id 123
- [r8-Tunnel0/0/0]nhrp entry 172.16.1.4 100.1.24.1 register
- [r5-Tunnel0/0/0]nhrp shortcut
- [r6-Tunnel0/0/0]nhrp shortcut
-
- [r7-Tunnel0/0/0]nhrp shortcut
- [r8-Tunnel0/0/0]nhrp shortcut
- [r5]ospf 1 router-id 5.5.5.5
- [r5-ospf-1]a 0
- [r5-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [r5-ospf-1-area-0.0.0.0]network 10.5.5.5 0.0.0.0
- [r6]ospf 1 router-id 6.6.6.6
- [r6-ospf-1]a 0
- [r6-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [r6-ospf-1-area-0.0.0.0]network 10.6.6.6 0.0.0.0
-
- [r7]ospf 1 router-id 7.7.7.7
- [r7-ospf-1]a 0
- [r7-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [r7-ospf-1-area-0.0.0.0]network 10.7.7.7 0.0.0.0
- [r8]ospf 1 router-id 8.8.8.8
- [r8-ospf-1]a 0
- [r8-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
- [r8-ospf-1-area-0.0.0.0]network 10.8.8.8 0.0.0.0
查看建邻情况:
- [R3]int t0/0/0
- [R3-Tunnel0/0/0]nhrp redirect
- [R4]int t0/0/0
- [R4-Tunnel0/0/0]nhrp redirect
- [R1]ike proposal 1 // 安全提议编号
- [R1-ike-proposal-1]encryption-algorithm aes-cbc-128 // 加密算法
- [R1-ike-proposal-1]dh group5 // 非对称加密算法强度
- [R1-ike-proposal-1]authentication-algorithm md5 // 认证算法
- [R1-ike-proposal-1]sa duration 3600
- [R1]ipsec proposal yyy // ipsec提议
- [R1-ipsec-proposal-yyy]encapsulation-mode transport
- [R1-ipsec-proposal-yyy]transform ah-esp // 选择传输协议
- [R1-ipsec-proposal-yyy]ah authentication-algorithm sha1 // 认证算法
- [R1-ipsec-proposal-yyy]esp authentication-algorithm sha1 // 认证算法
- [R1-ipsec-proposal-yyy]esp encryption-algorithm 3des // 加密算法
- [R1]ike peer yyy v1 // ike认证名称和版本
- [R1-ike-peer-yyy]exchange-mode aggressive // 模式选择
- [R1-ike-peer-yyy]pre-shared-key simple 999 // 编译预共享密钥
- [R1-ike-peer-yyy]ike-proposal 1 // 调用安全提议
- [R1-ike-peer-yyy]local-id-type name // 采用name定义
- [R1-ike-peer-yyy]remote-name kkk // 远端name为a1
- [R1]ipsec profile yyy
- [R1-ipsec-profile-yyy]ike-peer yyy // 调用peer
- [R1-ipsec-profile-yyy]proposal yyy // 调用提议
-
- 在R3-4,r5-8上相同的配置
- [R1-Tunnel0/0/0]ipsec profile yyy
- [R3-Tunnel0/0/0]ipsec profile yyy
- [R4-Tunnel0/0/0]ipsec profile yyy
- [r5-Tunnel0/0/0]ipsec profile yyy
- [r6-Tunnel0/0/0]ipsec profile yyy
- [r7-Tunnel0/0/0]ipsec profile yyy
- [r8-Tunnel0/0/0]ipsec profile yyy
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。