通过公网IP地址访问内网单臂部署的设备,无法访问
  

sky_090603 2003

不知道有没有其他人也遇到过,我在社区里查找帖子没有发现,今天遇到这么个问题,就分享一下吧:

情景:设备在内网单臂部署

需求:在局域网内通过公网IP地址访问设备

解决办法:“LAN-LAN端口映射”主要是分别变换源地址和目的地址,解决的问题是局域网网用户利用公网ip访问内网服务器的问题,端口映射用于网关设备。
网络拓扑图(自己画的,将就着看吧-.-):

拓扑

拓扑

失败原因:首先用户要想访问到服务器肯定要做一个目的地址转换(DNAT),在网关处将目的地址为公网地址端口为服务器端口的数据包转换为目的地址为服务器地址,这样数据包经过网关转发到服务器,服务器收到源地址为用户pc的数据包,回包给pc的IP地址,看似正常,但是pc收到的包源地址是服务器地址,但是pc并未向服务器地址发过包,所以将数据包丢弃!!!这就导致了pc端无法访问到服务器。

解决:解决这个问题就需要在网关设备上继续添加一条源地址转换(SNAT),使得pc发出的数据包在网关处被完全改造成为源地址是网关,目的地址是服务器的数据包,这样服务器收到数据包后,会回包给网关设备,网关设备根据自己的转换记录,将数据包回转给pc,使得pc收到的数据包源地址是公网ip,目的地址是自己,和自己之前发出的数据包正好是回应,接受!正常显示访问界面。需要注意的是:SNSAT需要设置一定的转换条件,否则会影响正常上网,而且优先级要比上网的SNAT高,不然数据被直接转换到公网上去了。

做完DNAT和一定条件的SNAT就可以在内网通过公网的IP地址访问到内网的服务器了。




喜欢这篇文章吗?喜欢就给楼主打赏吧!

打赏
1人已打赏

Sangfor_闪电回_朱丽 发表于 2017-2-13 10:29
  
非常棒的分析,对平时排查问题也有帮助,感谢楼主的分享!
新手605987 发表于 2017-2-21 00:22
  
点赞