我们知道做NAT后,对于outside上行出口的网络来说,inside下行的网络是个未知数。那么如何才能直接访问inside内的网段IP呢??
我们选择从一级nat路由器router2上ping192.168.100.2,结果肯定是Reply from 192.168.1.1: Destination host unreachable.
这是因为router2上没有路由达到192.168.100.X的原因。
为此我们在router2上添加路由ip route 192.168.100.0 255.255.255.0 192.168.1.10 ip route 192.168.200.0 255.255.255.0 192.168.200.20
在router6上添加ip route192.168.100.0 255.255.255.0 192.168.200.20
到这里一级NAT路由器已经有到达192.168.100.X网段了,并且又由于各NAT路由器上都做有默认的出口路由。因此我们可以知道在各NAT路由器上不做NAT技术的话,他们之间已经是个互通网段的局域网了的。但我们在这个互通的局域网上做NAT技术,将会怎么样呢?它们还是互通的吗?如果互通时它们的数据包做NAT还是不做NAT通信了?
在pc3上ping 192.168.1.1通过在各NAT路由器上的debug ip packat和debug ip nat 显示可知,前往与回应都做了相应的地址转换。这在前面的博客已经细解。可以看出回应包没有选择使用回程的静态路由ip route 192.168.100.0 255.255.255.0 192.168.1.10 ip route 192.168.200.0 255.255.255.0 192.168.200.20等,因为回应包的目标IP是变化转换的,其目标地址总是下行NAT路由器的outside的IP地址。
那么是不是意味着我们之前在NAT路由器上配置的静态路由没用处了呢?
我们在router2上ping 192.168.100.2
router2上ping的debug显示数据包(绿色字体表示前往,蓝色字体表示回应)
Router2#ping 192.168.100.2
IP: tableid=0, s=192.168.1.1 (local), d=192.168.100.2 (FastEthernet0/0), routed via RIB (前往目标查找路由表)
IP: s=192.168.1.1 (local), d=192.168.100.2 (FastEthernet0/0), len 128, sending (数据包转发出去)
!
IP: tableid=0, s=192.168.1.10 (FastEthernet0/0), d=192.168.1.1 (FastEthernet0/0), routed via RIB (回应包在路由表)
IP: s=192.168.1.10 (FastEthernet0/0), d=192.168.1.1 (FastEthernet0/0), len 128, rcvd 3 (表示收到回应包)
route6上debug显示数据包的情况(绿色字体表示前往,蓝色字体表示回应)
Router6#
IP: tableid=0, s=192.168.1.1 (FastEthernet0/0), d=192.168.100.2 (FastEthernet0/1), routed via RIB
IP: s=192.168.1.1 (FastEthernet0/0), d=192.168.100.2 (FastEthernet0/1), g=192.168.200.20, len 128, forward
IP: tableid=0, s=192.168.200.20 (FastEthernet0/1), d=192.168.1.1 (FastEthernet0/0), routed via RIB
IP: s=192.168.200.20 (FastEthernet0/1), d=192.168.1.1 (FastEthernet0/0), g=192.168.1.1, len 128, forward
NAT: s=192.168.200.20->192.168.1.10, d=192.168.1.1 [24]
可知在router6前往inside主机192.168.100.2时,直接使用默认路由且没有NAT技术;而回应数据包中则做了NAT转换。
router4上debug显示数据包的情况(绿色字体表示前往,蓝色字体表示回应)
router4#
IP: tableid=0, s=192.168.1.1 (FastEthernet0/0), d=192.168.100.2 (FastEthernet0/1), routed via RIB
IP: s=192.168.1.1 (FastEthernet0/0), d=192.168.100.2 (FastEthernet0/1), g=192.168.100.2, len 128, forward
IP: tableid=0, s=192.168.100.2 (FastEthernet0/1), d=192.168.1.1 (FastEthernet0/0), routed via RIB
IP: s=192.168.100.2 (FastEthernet0/1), d=192.168.1.1 (FastEthernet0/0), g=192.168.1.1, len 128, forward
NAT: s=192.168.100.2->192.168.200.20, d=192.168.1.1 [28]
从router4输出显示可知其数据包过程实现与router6是一样的。
总结:
1、NAT路由器以及outside上行设备没有回程指向inside的下行静态路由时,outside的上行网络无法访问inside下行网络的。
2、NAT路由器以及outside上行设备都配置回程指向inside的下行静态路由后。inside下行网络访问outside上行网络时,前往与回应过程都有NAT转换;outside上行网络访问inside下行网络(直接ping inside的下行ip)时,前往是没有nat转换的,回应时使用了nat(就像inside网络ping的outside的ip的前往过程)。
来源:CSDN
作者:zainwei1766
链接:https://blog.csdn.net/zainwei1766/article/details/41825583