首页 科技问答 黑乎乎,NAT hairpin转换过程

黑乎乎,NAT hairpin转换过程

科技问答 182
1677252089,CRM论坛(CRMbbs.com)——一个让用户更懂CRM的垂直性行业内容平台,CRM论坛致力于互联网、客户管理、销售管理、SCRM私域流量内容输出5年。 如果您有好的内容,欢迎向我们投稿,共建CRM多元化生态体系,创建CRM客户管理一体化生态解决方案。内容来源:知了社区黑乎乎 黑乎乎 零段 粉丝:0人 关注:2人

问题描述:

1、组网


2.需求

通过配置NAT hairpin,实现内网主机通过公网地址访问内部服务器

3.关键配置

#

interface GigabitEthernet0/2

 port link-mode route

 description WAN

 ip address 1.1.1.1 255.255.255.0

 NAT outbound

 nat server protocol tcp global 1.1.1.1 23 inside 192.168.1.10 23

#

interface GigabitEthernet0/0

 port link-mode route

 description LAN

 ip address 192.168.1.1 255.255.255.0

 nat hairpin enable

#

4.测试

内网主机192.168.1.1通过公网地址访问内网服务器192.168.1.10

<R1>*Jun 30 09:44:46:222

Receiving, interface = GigabitEthernet0/0, version = 4, headlen =

pktlen = 60, pktid = 141, offset = 0, ttl = 255, protocol = 6,

checksum = 63170, s = 192.168.1.2, d = 1.1.1.1

prompt: Receiving IP packet.

 

*Jun 30 09:44:46:222

//公网口出方向做源地址转换

 PACKET: (GigabitEthernet0/2-out) Protocol: TCP

     192.168.1.2:11393 -         1.1.1.1:   23(VPN:    0) ------>

         1.1.1.1: 1025 -         1.1.1.1:   23(VPN:    0)

*Jun 30 09:44:46:222

//内网口入方向做目的地址转换

 PACKET: (GigabitEthernet0/0-in) Protocol: TCP

         1.1.1.1: 1025 -         1.1.1.1:   23(VPN:    0) ------>

         1.1.1.1: 1025 -    192.168.1.10:   23(VPN:    0)

*Jun 30 09:44:46:222

Sending, interface = GigabitEthernet0/0, version = 4, headlen =

pktlen = 60, pktid = 141, offset = 0, ttl = 254, protocol = 6,

checksum = 63418, s = 1.1.1.1, d = 192.168.1.10

prompt: Sending the packet from GigabitEthernet0/0 at GigabitEthernet0/0.

 

*Jun 30 09:44:46:224

Receiving, interface = GigabitEthernet0/0, version = 4, headlen =

pktlen = 60, pktid = 135, offset = 0, ttl = 255, protocol = 6,

checksum = 63168, s = 192.168.1.10, d = 1.1.1.1

prompt: Receiving IP packet.

 

*Jun 30 09:44:46:224

//服务器返回的报文在内网口入方向做源地址转换

 PACKET: (GigabitEthernet0/0-in) Protocol: TCP

    192.168.1.10:   23 -         1.1.1.1: 1025(VPN:    0) ------>

         1.1.1.1:   23 -         1.1.1.1: 1025(VPN:    0)

*Jun 30 09:44:46:224

//服务器返回的报文在内网口出方向做目的地址转换

 PACKET: (GigabitEthernet0/0-out) Protocol: TCP

         1.1.1.1:   23 -         1.1.1.1: 1025(VPN:    0) ------>

         1.1.1.1:   23 -     192.168.1.2:11393(VPN:    0)

*Jun 30 09:44:46:224

Sending, interface = GigabitEthernet0/0, version = 4, headlen =

pktlen = 60, pktid = 135, offset = 0, ttl = 254, protocol = 6,

checksum = 63432, s = 1.1.1.1, d = 192.168.1.2

prompt: Sending the packet from GigabitEthernet0/0 at GigabitEthernet0/0.


组网及组网描述:

问题1、上述转换过程是对的吗?第一步中GE0/2口做完源地址转换后数据包为:1.1.1.1: 1025 --->1.1.1.1:  23,如何在路由到内网口GE0/0

问题2、请大神给出GE0/0、GE0/2口数据包完整的转换过程;采纳后重谢

8小时前提问

nat hairpin功能原理是(对于C/S模式,也就是你这种模式),内网用户的报文,在内网接入进入NAT设备的时候,同时对源和目的做转换,目的地址转换是根据公网接口上的nat server来进行,源地址转换是根据匹配的内部服务器的公网接口上的nat outbound或是nat static来进行转换。
根据你的现网来看,你是192.168.1.2去访问1.1.1.1:23,那么数据包从G0/0接口进入R1的时候,因为G0/0接口配置了nat hairpin功能,所以要查看是否有接口开启nat server,此时R1的G0/2接口开启了,并且nat server的映射正好是将192.168.1.10:23映射到1.1.1.1:23,是可以匹配该nat server的,所以此时就可以将数据包的目的地址转换为192.168.1.10:23,此时顺便根据该nat server配置的接口,也配置了nat outbound,那么就会对该数据包的源地址做转换,将192.168.1.2的地址转换为1.1.1.1,此时在设备内部,数据包就变成了源IP地址是1.1.1.1,目的地址就是192.168.1.10:23,此时设备会查看表项转发给192.168.1.10:23
当server回包的时候,会判断是1.1.1.1发来的,所以server会将该报文会送给1.1.1.1,源ip地址是192.168.1.10,目的地址是1.1.1.1,也就会回到R1,R1收到之后,因为存在192.168.1.2---1.1.1.1的转换,同时存在1.1.1.2--192.168.1.10的转换,所以就继续对其转换,源地址变为1.1.1.1,目的地址就变为192.168.1.2了,这样R1继续转给192.168.1.2即可

8小时前回答

那就是上面转换过程是不对的,数据包根本不会到外网接口对吧

黑乎乎

是的,不会到外网接口的,就是内部处理的过程,只不过你看会话的时候是这样的

山东郑凯

该功能在不同工作方式下的具体转换过程如下:

·            C/S方式:NAT在内网接口上同时转换访问内网服务器的报文的源和目的IP地址,其中,目的IP地址转换通过匹配某外网接口上的内部服务器配置来完成,源地址转换通过匹配内部服务器配置所在接口上的出方向动态地址转换或出方向静态地址转换来完成。

·            P2P方式:内网各主机首先向外网服务器注册自己的内网地址信息,该地址信息为外网侧出方向地址转换的NAT地址,然后内网主机之间通过使用彼此向外网服务器注册的外网地址进行互访。该方式下,外网侧的出方向地址转换必须配置为PAT转换方式,并开启EIM模式。

8小时前回答

1、C/S方式下;数据包是不是就不经过外网接口?直接再内网接口上完成源和目的地址转换?能不能结合上面组网信息,给出具体命令?我去实验下

黑乎乎


8小时前回答

你正在,NAT hairpin转换过程

NAT