1、组网
通过配置NAT hairpin,实现内网主机通过公网地址访问内部服务器
#
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
#
内网主机192.168.1.1通过公网地址访问内网服务器192.168.1.10
<R1>*Jun 30 09:44:46:222 2020 R1 IPFW/7/IPFW_PACKET:
Receiving, interface = GigabitEthernet0/0, version = 4, headlen = 20, tos = 192,
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 2020 R1 NAT/7/COMMON:
//公网口出方向做源地址转换
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 2020 R1 NAT/7/COMMON:
//内网口入方向做目的地址转换
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 2020 R1 IPFW/7/IPFW_PACKET:
Sending, interface = GigabitEthernet0/0, version = 4, headlen = 20, tos = 192,
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 2020 R1 IPFW/7/IPFW_PACKET:
Receiving, interface = GigabitEthernet0/0, version = 4, headlen = 20, tos = 192,
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 2020 R1 NAT/7/COMMON:
//服务器返回的报文在内网口入方向做源地址转换
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 2020 R1 NAT/7/COMMON:
//服务器返回的报文在内网口出方向做目的地址转换
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 2020 R1 IPFW/7/IPFW_PACKET:
Sending, interface = GigabitEthernet0/0, version = 4, headlen = 20, tos = 192,
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口数据包完整的转换过程;采纳后重谢
(0)
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即可
(1)
那就是上面转换过程是不对的,数据包根本不会到外网接口对吧
该功能在不同工作方式下的具体转换过程如下:
· C/S方式:NAT在内网接口上同时转换访问内网服务器的报文的源和目的IP地址,其中,目的IP地址转换通过匹配某外网接口上的内部服务器配置来完成,源地址转换通过匹配内部服务器配置所在接口上的出方向动态地址转换或出方向静态地址转换来完成。
· P2P方式:内网各主机首先向外网服务器注册自己的内网地址信息,该地址信息为外网侧出方向地址转换的NAT地址,然后内网主机之间通过使用彼此向外网服务器注册的外网地址进行互访。该方式下,外网侧的出方向地址转换必须配置为PAT转换方式,并开启EIM模式。
(0)
1、C/S方式下;数据包是不是就不经过外网接口?直接再内网接口上完成源和目的地址转换?能不能结合上面组网信息,给出具体命令?我去实验下
1、C/S方式下;数据包是不是就不经过外网接口?直接再内网接口上完成源和目的地址转换?能不能结合上面组网信息,给出具体命令?我去实验下
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
只有出接口的nat outbound生效