×

H3C出口设备nat server端口映射解决NAT回流问题

hqy hqy 发表于2021-12-27 14:35:26 浏览2120 评论0

抢沙发发表评论

H3C出口设备nat server端口映射解决NAT回流问题


前言:

我们在配置nat server(端口映射)的时候会出现外网访问正常,而内网主机访问外网IP的端口不能访问的情况,这就是因为NAT回流造成的。

具体原因如下图所示:

image

1、内网主机访问100.0.0.1:8023,会把流量送到出口设备的G0/1接口。

2、出口设备的G0/1接口配置了nat server,数据包就会修改数据包的目的地址和目的端口号,并不对原地址进行改变。

3、数据包从出口设备发送到服务器,因为发过来数据包的原地址为10.0.0.10(内网主机)。

4、服务器对出口设备的数据包回复,原目地址对调,导致数据包直接通过交换机发送到内网主机。

5、内网主机解封装服务器回复的数据包,因为地址不匹配,则进行丢弃,导致访问失败。

一、通过nat hairpin解决问题

H3C V7版本可以在内网接口侧(图中为GE0/0)配置 nat hairpin解决NAT回流的问题。

通过在内网侧接口上使能NAT hairpin功能,可以实现内网用户使用NAT地址访问内网服务器或内网其它用户。

interface GigabitEthernet0/0    //内网口port link-mode route
combo enable copper
ip address 10.0.0.1 255.255.255.0 
nat hairpin enable

配置nat hairpin功能后,通过抓包可以发现出口设备发送给服务器的原地址将变为WAN口地址:

image

二、通过双向NAT解决问题

如果使用的是H3C v5版本的出口设备可能不支持 nat hairpin,我们可以使用双向NAT的方式进行解决。

1、在内网口配置与公网口相同的nat server条目;

2、配置基于acl的nat outbound;

acl advanced 3000rule 0 permit ip destination 10.0.0.2 0#interface GigabitEthernet0/0      //内网口port link-mode route
combo enable copper
ip address 10.0.0.1 255.255.255.0nat outbound 3000nat server protocol tcp global 100.0.0.1 8023 inside 10.0.0.2 23

我们通过抓包可以看到出口设备进行了双向NAT:
image

注意:使用双向NAT因为映射的数据包需要在出口设备内部进行多次转换,这样会增大设备压力,如果设备支持nat hairpin的话建议使用nat hairpin。

三、模拟器设备配置:

出口设备配置:

#
 version 7.1.075, Alpha 7571#
 sysname out_R1#
 system-working-mode standard
 xbar load-single
 password-recovery enable
 lpu-type f-series#vlan 1#interface Serial1/0#interface Serial2/0#interface Serial3/0#interface Serial4/0#interface NULL0#interface GigabitEthernet0/0
 port link-mode route
 combo enable copper
 ip address 10.0.0.1 255.255.255.0
 nat outbound 3000
 nat server protocol tcp global 100.0.0.1 8023 inside 10.0.0.2 23#interface GigabitEthernet0/1
 port link-mode route
 combo enable copper
 ip address 100.0.0.1 255.255.255.0
 nat outbound
 nat server protocol tcp global 100.0.0.1 8023 inside 10.0.0.2 23#interface GigabitEthernet0/2
 port link-mode route
 combo enable copper#interface GigabitEthernet5/0
 port link-mode route
 combo enable copper#interface GigabitEthernet5/1
 port link-mode route
 combo enable copper#interface GigabitEthernet6/0
 port link-mode route
 combo enable copper#interface GigabitEthernet6/1
 port link-mode route
 combo enable copper#
 scheduler logfile size 16#line class aux
 user-role network-operator#line class console
 user-role network-admin#line class tty
 user-role network-operator#line class vty
 user-role network-operator#line aux 0
 user-role network-operator#line con 0
 user-role network-admin#line vty 0 63
 user-role network-operator#
 ip route-static 0.0.0.0 0 100.1.1.2#acl advanced 3000
 rule 0 permit ip destination 10.0.0.2 0#domain name system#
 domain default enable system#user-group system#return

 


打赏

本文链接:https://www.kinber.cn/post/2026.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客