[转]内网用户通过域名或公网IP访问内部服务器的解决办法

原文地址:内网用户通过域名或公网IP访问内部服务器的解决办法_内网用户通过域名或公网ip访问内部服务器的解决办法 tplink_zycdn的博客-CSDN博客
原因-路由回流
当用路由器防火墙等设备将内网服务器发布到公网上,供外网用户访问的过程中出现的一种现象,就是你发现web服务器已经成功发布了,外网用户能够成功访问,但内网用户确无法访问到web服务器,这就是路由回流。造成路由回流的原因主要是出口设备路由器或者是防火墙做了NAT/PAT(也被称作源地址转换)和端口映射(也被称为目标地址转换)造成的。

内网用户通过出口IP访问内网服务器,数据包到出口设备时,因为我们设置的NAT的存在,目的地址会被修改成内网服务器地址;内网服务器收到数据包后进行回复,源地址和目的地址对调,数据包直接通过交换机返回给内网用户,内网用户收到数据包后进行解封,由于地址不匹配,数据包被丢弃,造成访问失败。

解决方案


内部NAT方案


内网用户与服务器不同网段
E0/0和E0/2都需要做nat server

int e0/0
nat server protocol tcp global 202.103.1.1 www inside 192.168.2.2 www
int e0/2
nat server protocol tcp global 202.103.1.1 www inside 192.168.2.2 www
nat dns-map www.abc.com 202.103.1.1 tcp #若通过域名访问添加此配置

内网用户与服务器相同网段
acl number 3001
rule 0 permit ip source 192.168.1.0 0.0.0.255
int e0/2
ip add 202.103.1.1 255.255.255.0
nat server protocol tcp global 202.103.1.1 www inside 192.168.1.254 www
nat outbound 3001
int e0/0
ip add 192.168.1.1 255.255.255.0
nat server protocol tcp global 202.103.1.1 www inside 192.168.1.254 www
nat outbound 3001 #必须添加这条
nat dns-map www.abc.com 202.103.1.1 tcp #若通过域名访问添加此配置

内网DNS方案
在内网配置一台DNS服务器,内网的所有客户端的DNS的IP都填写这台内网的DNS服务器的IP地址,还需要在内网DNS服务器上配置转发器,转发器中填写公网上的运营商DNS服务器的IP地址就可以解决访问其他网站的问题了。

防火墙DNS Mapping方案
注意不是所有的防火墙都支持路由回流,配置域名+外网IP+内网IP即可。

路由器DNS Mapping方案
[R1] nat dns-map www.abc.com 192.168.1.100 80 tcp

其他方案
如果内网需要使用域名访问的用户不多,则可以在内网机器上的C:\Windows\System32\drivers\etc\hosts添加以一行记录,192.168.1.100 www.abc.com,这样就可以了。Linux目录为:/etc/hosts

小结
上述几种解决方案中,内网DNS解决方案最符合一般人的习惯,安装配置也是最简单的,但是需要一台DNS服务器。

内部NAT解决方案在企业级的路由器或者防火墙上很容实现,但是难度比内网DNS方案略大。

防火墙DNS Mapping和路由器DNS Mapping需要防火墙和路由器支持,目前大多数防火墙和路由器支持,但是购买前请咨询厂商。

资源
内网用户通过域名或公网IP访问内部服务器的解决办法

内网通过域名或公网IP访问ERP的解决方案

内网用户不能通过域名访问web服务器

华为交换机DNS MAP配置实例
————————————————
版权声明:本文为CSDN博主「zycdn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zycdn/article/details/90747093

其他参考文章:

关于NAT回流 - 内网使用DDNS域名访问内网服务器 - 兮陌|薛叶 (simaek.com)

posted @ 2023-03-02 22:26  dirgo  阅读(613)  评论(0编辑  收藏  举报