【原创】Nat的一次实际需求(第三方访问我方,双转换)

发布时间 2023-09-19 10:52:17作者: 艳花三月下春秋

                                                                                                         Nat的一次疑惑

实际需求:第三方访问我方某台测试服务器(含端口),通过专线的形式进行数据传输。

逻辑拓扑如下:

 

场景配置如下:

interface FastEthernet2/0

 description To-X

 ip address X.X.X.X 255.255.255.252

 ip nat inside

 duplex auto

 speed auto

End

 

interface FastEthernet2/1

 description To-3th

 ip address X.X.X.X 255.255.255.252

 ip nat outside

 duplex auto

 speed auto

End

 

ip nat inside source static 10.8.199.72 10.12.13.8

ip nat outside source static 10.3.128.64 10.12.13.4

 

ip route 10.3.128.64 255.255.255.255 X.X.X.X

10.8.199.72该地址路由在内网中可达

ip route 10.12.13.4 255.255.255.255 X.X.X.X(这句话的意思就是因为在nat中遵循一个原则【文章后面有提及】,因为回包是给10.12.13.4的,经过inside接口后,先是要进行路由至outside后再作nat转换,所以此处是重中之重,不要认为nat转换的地址只是本地有意义,就只有一个转换就完了,但表现出来的功能范围确实是只有本地有意义,但是数据在设备中会经过一系列千变万化,该要用到它时,配置一条都不能少,切记!)---但奇怪的是我在另一台锐捷RSR30上配置就不需要此配置了,这是我疑惑的地方,在思科C3845上要配置上此转换后的地址路由!这一点我还是心有疑惑!

 

interface Loopback0

 ip address 10.12.13.4 255.255.255.255

End

 

调试之前,我在分支C3845上作好了配置,并且取其loopback0地址为:10.12.13.4

第一次直接测试至服务器的网络应用如下:

 

因为没有转换,所以我也就没有必要去看下该路由器上的show ip nat translations,根本是没有的,我在SRX3600看了看,如下截图:

 

如此种种,均可见网络可达性及服务器应用层面均没有问题,但是我们需要的是将内网服务器进行nat转换为10.12.13.8,所以我们要测试的是telnet 10.12.13.8 1091 /source-interface loopback 0,但是实际情况如下截图:

 

此时则访问不通,第一时间我看了下nat的转换状态,但是也并没有看到不正常的情况:

 

         我陷入了深深的沉思,转换也正常了,配置也没有什么问题,为啥telnet不通其端口应用,我习惯性的去SRX3600上看了看,发现并没有正常数据过去或者说根本没有看到任何数据会话,但是之前直接测试是有正常数据的。这只能说明两点:1)在SRX3600上进行了拦截;如果拦截的话,那么第一次测试怎么会成功?所以排除。2)这样在C3845上测试是不成功的,如果不成功,那又是哪儿出问题?带着这些疑问,我打开debug ip packet及debug ip nat detailed,我打开两个窗口,一个用于测试,一个没有任何动静,于是放弃这种测试,再冷静了一下,突然想到是否是路由在再作怪?也不对,再仔细想了下转换过程。

我们知道nat在outside接口生效,所有流量经过inside接口需要先路由,在outside接口需要先转换

所以当以loopback0为源telnet 10.12.13.8时,只能这么解释,因为以设备上存在的lo0接口为源进行测试时,相当于outside接口失效了,即是一个完整的nat只配置了inside接口,当然也没有任何意义,当然凭空出现的内网地址10.12.13.8也没有任何意义,既然没有意义,这种操作根本没有意义,所以也就没有测试的必要了。Over!