https://blog.51cto.com/u_1965839/5259426
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转换过程中存在问题。
ike peer a//创建IKE对等体并进入IKE对等体视图。 nat traversal//使能NAT穿越功能。缺省情况下,NAT穿越功能处于开启状态。 quit ipsec 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隧道来对传输数据进行加密。
//f1和f3 security-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协商报文通过,使其能够进行隧道协商 //f2 security-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、配置静态路由
//f1 ip route-static 1.1.5.0 255.255.255.0 1.1.2.2 ip route-static 10.1.2.0 255.255.255.0 1.1.2.2 ip route-static 10.1.5.0 255.255.255.0 1.1.2.2 //f2 ip route-static 1.1.2.0 255.255.255.0 1.1.5.2 ip route-static 10.1.1.0 255.255.255.0 1.1.5.2 ip route-static 10.1.2.0 255.255.255.0 10.1.5.2 //f3 ip route-static 1.1.2.0 255.255.255.0 10.1.5.1 ip route-static 10.1.1.0 255.255.255.0 10.1.5.1 //r ip route-static 10.1.1.0 255.255.255.0 1.1.2.1 ip route-static 10.1.2.0 255.255.255.0 1.1.5.1 ip route-static 10.1.5.0 255.255.255.0 1.1.5.1
4、配置IPSEC
4.1、配置感兴趣流
//f1 acl number 3000 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255 //f1 acl 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安全提议
//f1f3 ipsec proposal tran1 esp authentication-algorithm sha2-256 esp encryption-algorithm aes-256
4.3、配置ike安全提议
//f1f3 ike 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
//f1 ike 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 //f3 ike 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
//f1 ipsec policy map1 10 isakmp security acl 3000 ike-peer c proposal tran1 //f3 ipsec policy map1 10 isakmp security acl 3000 ike-peer a proposal tran1
4.6、接口应用IPSec policy
//f1f3 interface GigabitEthernet1/0/1 ipsec policy map1
5、配置NAT
//f2 nat-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>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 sa 2022-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 sa 2022-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