HCIE-Security Day35:IPSec-NAT-T(hcie-security v2.0模拟考试答案)

网友投稿 244 2022-09-18


HCIE-Security Day35:IPSec-NAT-T(hcie-security v2.0模拟考试答案)

NAT穿越场景

在ipsec pn部署中,如果发起者比如fwc位于私网内部,而它希望与fwa之间直接建立一条ipsec隧道,这种情况下nat会对部署ipsec pn网络造成障碍。

在多站点企业中,有的站点连动态的公网IP地址都没有,只能先由网络中的nat设备进行地址转换,然后才能访问internet,此时如果同时需要和另一个站点建立ipsec通道的话,就存在问题。

IPSec是用来保护报文不被修改的,而NAT却专门修改报文的IP地址,所以肯定存在问题。

协商IPSec的过程是由isakmp报文完成的,isakmp报文封装在udp中,源目端口都是500,nat设备可以转换该消息的ip地址和端口,因此isakmp消息可以完成nat转换,协商得到IPSec sa,但是数据流量是通过ah或者 esp进行封装的,在nat转换过程中存在问题。

NAT对IPSec的影响

IKE协商问题

NAT转换会改变对等体的ip地址,在IKEV1主模式+预共享密钥验证下,由于依赖IP地址标识身份,所以存在问题。

由于野蛮模式不依赖ip地址标识身份,使得野蛮模式+预共享密钥验证不影响。

解决方式

开启NAT-T。

AH+NAT问题

NAT的存在对其是致命的。因为AH对包括最外层IP头部的整个包进行认证。但是地址转换会改变IP地址,从而破坏ah的hash值,因此使用ah的ipsec隧道无法穿越nat设备。

传输模式

隧道模式

no-pat+ESP传输模式问题

隧道模式默认支持no-pat下形式的nat穿越

no-pat+ESP隧道模式下,ESP对数据包的hash不包括外层ip报头字段,这解决了认证范围包括最外层IP头部情况下的NAT问题,足以满足隧道模式下ESP报文的认证和加密。

传输模式默认不支持no-pat下形式的nat穿越

由于TCP校验问题,在不进行加密的情况下,因为NAT修改了IP地址,所以导致TCP报文中校验和字段变更。这个字段的变更导致了ESP认证范围内数据的变更,使得其无法通过接收方的验证。

在进行加密的情况下,由于TCP首部作为载荷被加密,NAT后虽然IP地址发送了变更,但是由于TCP头部被加密,NAT设备无法更新TCP校验和,接收方收到后进行TCP报文校验时会失败。

TCP报文

TCP的校验和计算和IP头部的校验和计算方法是一致的,但是覆盖的数据范围不一样。TCP校验和覆盖TCP首部和TCP数据,而IP首部中的校验和只覆盖IP的头部。TCP的校验和是必需的,而UDP的校验和是可选的。TCP和UDP计算校验和时,都要加上一个12字节的伪首部。伪首部包含:源IP地址、目的IP地址、保留字节(置0)、传输层协议号(TCP是6)、TCP报文长度(报头+数据)。伪首部是为了增加TCP校验和的检错能力:如检查TCP的源和目的IP地址、传输层协议等。

napt+ESP问题

NAPT转换,多个内部地址复用一个外部地址,并且使用传输层端口来区分不同流量,由于ESP报文中TCP的端口已经加密无法修改,所以对于同时转换端口的NAT来说,ESP没法支持。

解决方式

在建立IPSec隧道的两个防火墙上同时开启nat穿越功能(NAT traversal)。开启后,当需要穿越NAT设备时,就会在最外层IP头部和ESP头部之间插入一个标准UDP头部,使得ESP报文被封装在UDP头中,UDP头部中源目端口均是4500。这样就可以承载NAT修改IP地址和端口地址的需求了。

NAT表项老化问题

NAT设备上的NAT会话表项有一定的存活时间,如果IPSec隧道建立后长时间没有报文进行NAT穿越,NAT设备会删除该NAT会话表项,这将导致在NAT设备外网侧的对等体无法继续传输数据。为防止NAT表项老化,NAT设备内网侧的IKE SA会以一定的时间间隔向对端发送NAT Keepalive报文,以维持NAT会话的存活。

IPSEC与NAT并存问题

在防火墙的转发流程中,NAT在上游环节,IPSec在下游环节,所以ipsec流量会收到nat处理流程的干扰,即原本应该进入IPSec隧道的流量一旦命中nat策略就会进行nat转换,转换后的流量不会再匹配ipsec中的acl了,也就不会进行IPSec处理了。

IPSEC+源NAPT

需要进入ipsec隧道的流量提前匹配了源NAPT策略,导致地址发生改变,没有匹配到IPSec通过ACL定义的感兴趣流,从而没有进入ipsec隧道。

解决方式

在nat策略中配置优先级最高的针对ipsec流量不进行地址转换的策略,并且该策略中定义的流量范围是其他策略的子集。这样ipsec流量会先命中不进行nat转换的策略,地址不会被转换,也就不会影响下面ipsec 环节的处理,而需要进行nat处理的流量也可以命中其他策略正常转换。

IPSEC+NAT Server

需要进入ipsec隧道的流量提前匹配了nat server生成的反向server-map表项,导致地址发生改变,没有匹配到IPSec通过ACL定义的感兴趣流,从而没有进入ipsec隧道。

解决方式

配置nat server时指定no-reverse参数,不生成反向server-map表项。

NAT穿越分析

NAT-T原理

IKEV1NAT穿越协商

1、协商通信双方是否支持NAT-T

开启NAT 穿越后,IKEV1协商第一阶段的1、2消息(野蛮模式也是1、2消息)会携带标识NAT穿越能力(NAT-T)的vendor id载荷,用于检查通信双方是否支持NAT-T,当双方都在各自的消息中包含了该载荷时,才会进行相关的NAT-T协商。

2、探测NAT网关是否存在及其所在位置

IKEV1协商第一阶段的3、4消息(野蛮模式2、3消息)会携带NAT-D(NAT-Discovery)载荷,用于探测两个要建立IPSec隧道的防火墙之间是否存在nat网关以及nat网关的位置。

协商双方通过NAT-D载荷向对端发送源和目的IP地址与端口的HASH值,接收方收到3、4消息(野蛮模式2、3消息)后对源目IP地址和端口进行hash并与发来的hash值进行对比,就可以判断地址和端口是否被nat设备修改过。NAT-D载荷有两个,第一个为对端ip和端口的hash值,第二个为本端ip和端口的hash值。

解决网络设备如何知道什么时候要加UDP报头的问题

发现NAT网关后,从IKEV1协商第一阶段的5、6消息(野蛮模式从第3个消息)会将ISAKMP消息UDP的源目端口修改为4500,并标识non-esp marker。

3、协商封装模式

IKEV1协商第二阶段会协商是否使用NAT穿越以及NAT穿越时IPSec报文的封装模式:UDP封装隧道模式报文和UDP封装传输模式报文。

IKEV1为ESP报文封装UDP头、UDP报文端口号为4500.当封装后的报文通过NAT设备时,NAT设备对该报文的外层IP头和增加的UDP头进行地址和端口号转换。

VID:vendor id

IKEV2NAT穿越协商

1、探测NAT网关位置

开启NAT穿越后,IKE的发起者和响应者都在IKE SA INIT消息对中包含类型为NAT-DETECTION-SOURCE-IP和NAT-DETECTION-DESTINATION-IP的通知载荷。这两个通知载荷用于检测在将要建立IPSec隧道的两个防火墙之间是否存在NAT设备,如果收到的NAT-DETECTION-SOURCE-IP没有匹配到数据包中源IP和源端口的hash,则说明对端位于NAT网关后,如果收到的NAT-DETECTION-DESTINATION-IP没有匹配到数据包中目的IP和端口的hash,说明本端位于NAT网关后。

发现NAT网关后,IKEV2协商的IKE-AUTH消息会将ISAKMP消息UDP的源目端口修改为4500,并标识non-esp marker。

2、协商封装模式

IKEV2为ESP报文封装UDP头、UDP报文端口号为4500.当封装后的报文通过NAT设备时,NAT设备对该报文的外层IP头和增加的UDP头进行地址和端口号转换。

NAT穿越配置

ike peer a//创建IKE对等体并进入IKE对等体视图。nat traversal//使能NAT穿越功能。缺省情况下,NAT穿越功能处于开启状态。quitipsec nat-traversal source-port 4500//配置IPSec NAT穿越的端口号。缺省情况下,IPSec NAT穿越的端口号为4500。ike nat-keepalive-timer interval 20//配置IKE发送NAT Keepalive报文的时间间隔。缺省情况下,设备发送NAT Keepalive报文的时间间隔为20秒。

实验一:两个网关之间存在NAT设备时通过IKE方式协商IPSec VPN隧道(总部通过Name认证分支)

需求和拓扑

总部属于10.1.1.0/24子网,通过接口GigabitEthernet 0/0/1与FW_A连接。分支机构属于10.1.2.0/24子网,通过接口GigabitEthernet 0/0/1与FW_C连接。FW_A和FW_C路由可达。FW_B为NAT网关,分支用户必须经过NAT网关才能访问总部。

分支机构的员工需要访问总部的服务器。由于服务器信息较机密,数据经过Internet传输不安全,故需建立IPSec隧道来对传输数据进行加密。

操作步骤

1、配置接口地址和安全区域

2、配置域间安全策略

//f1和f3security-policy rule name 1 source-zone trust destination-zone untrust source-address 10.1.1.0 mask 255.255.255.0 destination-address 10.1.2.0 mask 255.255.255.0 action permit rule name 2 source-zone untrust destination-zone trust source-address 10.1.2.0 mask 255.255.255.0 destination-address 10.1.1.0 mask 255.255.255.0 action permit//前两个使得icmp流量通过 rule name 3 source-zone local destination-zone untrust source-address 1.1.2.1 mask 255.255.255.255 destination-address 1.1.5.1 mask 255.255.255.255 action permit rule name 4 source-zone untrust destination-zone local source-address 1.1.5.1 mask 255.255.255.255 destination-address 1.1.2.1 mask 255.255.255.255 action permit//后两个用于控制IPSec隧道两端设备IKE协商报文通过,使其能够进行隧道协商//f2security-policy rule name 1 source-zone trust destination-zone untrust source-address 10.1.5.2 mask 255.255.255.255 destination-address 1.1.2.1 mask 255.255.255.255 action permit rule name 2 source-zone untrust destination-zone trust source-address 1.1.2.1 mask 255.255.255.255 destination-address 10.1.5.2 mask 255.255.255.255 action permit

3、配置静态路由

//f1ip route-static 1.1.5.0 255.255.255.0 1.1.2.2ip route-static 10.1.2.0 255.255.255.0 1.1.2.2ip route-static 10.1.5.0 255.255.255.0 1.1.2.2//f2ip route-static 1.1.2.0 255.255.255.0 1.1.5.2ip route-static 10.1.1.0 255.255.255.0 1.1.5.2ip route-static 10.1.2.0 255.255.255.0 10.1.5.2//f3ip route-static 1.1.2.0 255.255.255.0 10.1.5.1ip route-static 10.1.1.0 255.255.255.0 10.1.5.1//rip route-static 10.1.1.0 255.255.255.0 1.1.2.1ip route-static 10.1.2.0 255.255.255.0 1.1.5.1ip route-static 10.1.5.0 255.255.255.0 1.1.5.1

4、配置IPSEC

4.1、配置感兴趣流

//f1acl number 3000 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255//f1acl number 3000 rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

4.2、配置ipsec安全提议

//f1f3ipsec proposal tran1 esp authentication-algorithm sha2-256 esp encryption-algorithm aes-256

4.3、配置ike安全提议

//f1f3ike proposal 10 encryption-algorithm aes-256 dh group14 authentication-algorithm sha2-256 authentication-method pre-share integrity-algorithm hmac-sha2-256 prf hmac-sha2-256

4.4、配置ike peer

//f1ike peer c undo version 2 pre-shared-key Test!1234 ike-proposal 10 remote-id-type fqdn remote-id branch remote-address 1.1.5.1 remote-address authentication-address 10.1.5.2//f3ike peer a undo version 2 pre-shared-key Test!1234 ike-proposal 10 local-id-type fqdn remote-id-type ip local-id branch remote-address 1.1.2.1

4.5、配置ipsec policy

//f1ipsec policy map1 10 isakmp security acl 3000 ike-peer c proposal tran1//f3ipsec policy map1 10 isakmp security acl 3000 ike-peer a proposal tran1

4.6、接口应用IPSec policy

//f1f3interface GigabitEthernet1/0/1 ipsec policy map1

5、配置NAT

//f2nat-policy rule name 1 source-zone trust destination-zone untrust source-address 10.1.5.0 mask 255.255.255.0 action source-nat easy-ip

验证和分析

1、pc2发起访问,之后pc1和pc2之间可以互访,pc2同时可以访问公网。

在f2上检查nat 转换session表项

dis fire session table 2022-04-04 14:21:30.190 Current Total Sessions : 1 udp VPN: public --> public 10.1.5.2:4500[1.1.5.1:2048] --> 1.1.2.1:4500

2、f1上可以查看到对应的ike sa

[f1]dis ike sa2022-04-04 15:30:54.200 IKE SA information : Conn-ID Peer VPN Flag(s) Phase RemoteType RemoteID -------------------------------------------------------------------------------- 12 1.1.5.1:2048 RD|A v1:2 FQDN branch 10 1.1.5.1:2048 RD|A v1:1 FQDN branch Number of IKE SA : 2-------------------------------------------------------------------------------- Flag Description: RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP M--ACTIVE S--STANDBY A--ALONE NEG--NEGOTIATING

3、f3上可以查看到对端为f1的ike sa,f3是发起方,标志位是ST

[f3]dis ike sa2022-04-04 15:37:45.530 IKE SA information : Conn-ID Peer VPN Flag(s) Phase RemoteType RemoteID -------------------------------------------------------------------------------- 11 1.1.2.1:4500 RD|ST|A v1:2 IP 1.1.2.1 9 1.1.2.1:4500 RD|ST|A v1:1 IP 1.1.2.1 Number of IKE SA : 2-------------------------------------------------------------------------------- Flag Description: RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP M--ACTIVE S--STANDBY A--ALONE NEG--NEGOTIATING

4、f1上可以查看到一对双向的IPSec sa,对应f3

[f1]dis ipsec sa brief 2022-04-04 15:39:49.190 IPSec SA information: Src address Dst address SPI VPN Protocol Algorithm ------------------------------------------------------------------------------- 1.1.5.1 1.1.2.1 184615425 ESP E:AES-256 A:SHA2_256_128 1.1.2.1 1.1.5.1 189482996 ESP E:AES-256 A:SHA2_256_128 Number of IPSec SA : 2

5、f3上可以查看到一对双向IPSec sa,对应f1

[f3]dis ipsec sa brief 2022-04-04 15:42:12.900 IPSec SA information: Src address Dst address SPI VPN Protocol Algorithm ------------------------------------------------------------------------------- 10.1.5.2 1.1.2.1 184615425 ESP E:AES-256 A:SHA2_256_128 1.1.2.1 10.1.5.2 189482996 ESP E:AES-256 A:SHA2_256_128 Number of IPSec SA : 2


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

上一篇:HCIE-Security Day26:IPSec:实验(一)两个网关之间通过IKE方式协商IPSec PN隧道(采用预共享密钥认证)(hcie-security培训费)
下一篇:java基础实现猜数字小游戏
相关文章

 发表评论

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