华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器

摘要:
标题有点复杂。问题是intranet中服务器的端口映射是在公共网络出站接口上配置的。内网中的普通用户可以正常通过内网地址进行访问,但不能通过公共IP进行访问。拓扑图如下:以出站接口地址100.100.100:80到192.168.1.11:80的映射为例,实际问题是192.168.1.100和192.168.1.110无法通过100.100.100:90访问,但通过Internet访问映射端口是正常的。

标题有点绕,问题就是在公网出接口上配置了内网某台服务器的端口映射,内网的普通用户通过内网地址访问正常,但无法通过公网IP进行正常访问,拓扑图如下:

华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器第1张

  上图以出接口地址100.100.100.100:80映射为192.168.1.11:80为例,实际问题为192.168.1.100与192.168.1.110无法通过100.100.100.100:80进行访问,但通过互联网访问映射端口正常。

问题原因分析

  假设以192.168.1.100通过公网访问192.168.1.11:80的话,这里假设访问的源端口是10000,目标端口是80,主机发起web请求,那么访问目标就是100.100.100.100:80即数据包分析如下:

  192.168.1.100:10000—>100.100.100.100:80

  数据包最终会被路由到防火墙上,防火墙检查访问的目的地址,匹配到它的端口映射策略,将目标地址改为对192.168.1.11的访问,建立起一个针对目标ip地址转换的NAT会话表:

  192.168.1.100:10000—>192.168.1.11:80

  然后数据包到会被转发到192.168.1.11服务器上并会响应192.168.1.100主机的请求,将上述访问的源目ip地址及端口进行倒转,并将数据包交给它的网关处理,拓扑中即为USG防火墙:

  192.168.1.11:80—>192.168.1.100:10000

  网关发现目标ip地址是192.168.1.100,是在路由表中的内网直连地址,就会将数据包直接路由到主机上,主机接收到数据包,检查数据包的源ip和端口是192.168.1.11:80,发现其本身并没有这样一个http会话与之相匹配,就是说主机并没有主动发起对192.168.1.11:80的访问,实际发起的是对100.100.100.100:80的访问,那么主机就会丢弃这个数据包,导致内网用户通过域名或者公网ip地址访问自己的内网服务器不通的现象。

  192.168.1.11:80—>192.168.1.100:10000

  发生上述问题的原因,就是因为网关发现响应数据包的目的ip地址是内网一个可直接路由的地址,就会直接在内网进行路由转发。然而这并不是一个BUG,任何设备只要做了端口映射,都绕不开这个问题,因为TCP/IP协议栈就是这样工作的,有的设备在你做端口映射的时候,偷偷地把端口回流的问题也给你解决了。然而你也不要以为它们帮你做了端口回流,你就认为那些设备是好设备,感觉好高端,那你错了,我很少见企业级设备偷偷地帮你解决这个问题的(不是说没有,一般是应用层网络设备有这个),都是需要你主动去处理解决,这也体现了它们设备高度可定制性及专业性。

问题解决方案

  实际解决这个问题也很简单,即在192.168.1.100:10000访问192.168.1.11:80的时候,不走内网路由,再做一次回流的NAT映射即可。

华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器第2张

回流NAT映射验证

华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器第3张

参考:  转载 https://www.xj123.info/8094.html

https://blog.51cto.com/11555417/2288036

http://www.360doc.com/content/18/0419/01/11935121_746788625.shtml

https://blog.csdn.net/weixin_30376509/article/details/97982837?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-97982837.nonecase&utm_term=%E9%98%B2%E7%81%AB%E5%A2%99%E5%81%9A%E5%9B%9E%E6%B5%81%E9%85%8D%E7%BD%AE&spm=1000.2123.3001.4430

免责声明:文章转载自《华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【原】结构体包含CString类型成员变量出错的原理FileUpload上传控件用法详解来自MSDN帮助文档下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nmap简单扫描

Nmap所识别的6个端口状态。 open(开放的) 应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上...

Linux安装Tomcat8

前置条件 安装jdk,见参考文章 下载Tomcat8 先从tomcat网站上下载最新的.gz安装包tomcat官网下载地址 在下面找到Linux对应的tomcat安装包 我下载的文件名是:apache-tomcat-8.5.37.tar.gz 使用Xftp将文件上传到/usr/local目录中 进入目录解压安装包 cd /usr/localtar...

Linux 配置Samba服务

查看系统下是否已经安装了sambarpm -qa |grep samba 安装sambayum -y install samba 配置samba创建目录sambamkdir -p /home/samba 修改samba权限chmod 777 /home/samba 关闭防火墙service iptables stop 配置smb.conf设置不需要密码访...

sqlserver2017安装及连接过程中发现的问题

1、SSMS安装报错,如下图 根据搜索资料发现是防火墙的问题,关闭防火墙就行了。 2、连接用户时报错 这个是因为远程连接相关问题。 首先打开服务器远程连接: 其次点击: SqlServer配置管理器--点击MSSQLSERVER的协议--启用TCP/IP 最后新增入站规则端口1433 3、在数据库 'master' 中拒绝了 CREATE DATA...

在阿里云服务器上部署禅道

1、xshell连接阿里云服务器; 2、禅道官网下载http://dl.cnezsoft.com/zentao/9.8.3/ZenTaoPMS.9.8.3.zbox_64.tar.gz安装包 3、复制到/opt目录下,并解压 tar -xvf  ZenTaoPMS.9.8.3.zbox_64.tar.gz 4、修改禅道自带的Apache和mysql端口号...

Win7远程桌面不能连接的解决方案

首先,WinXP下的远程桌面可以自己连接自己,但是Win7下是不可以的,会出现这样的错误: 计算机无法连接到远程计算机上的另一个控制台会话,原因是您正在运行一个控制台会话。   所以,不要自己拿自己测试了,如果在另外一台上还是不能连接,要先后确认: 1、是否为管理员账号设置了密码; 2、是否打开了“允许远程桌面连接到该计算机”; 3、防火墙是否允许了远程桌...