【客户问题】 防火墙做端口映射不成功
【问题分析】 端口映射不成功,基本上由以下几个原因 1.运营商把端口封了,访问流量到达不了目标地址 2.端口映射设置错误,转换后内网IP设置错误 3.设备或配置问题,收到访问流量后不转发 4.防火墙有做安全策略,禁止访问端口 5.内网服务器端口没开放 6.端口正常访问,但是应用层问题导致的业务不可访问
【抓包方法】 1.首先看防火墙端口情况。分清楚哪个是外网口,哪个是内网口。如果有多条线路,则以具体映射外网IP为准 (本次外网口为eth2口,内网口为eth0口)
3.在防火墙[排障][抓包取证]里抓取外网口收到的数据包,抓包选项的IP地址里输入外网电脑的外网IP,端口选要映射的端口
【排查步骤】【情况一:排查运营商问题】 外网电脑在不断telnet 80端口。停止抓包后,下载下来的数据包是空的,说明80端口运营商封住了 换一个没封的8089端口对比一下:
【情况二:端口设置错误现象】 正常情况下可以看到完整的三次握手过程 端口映射配置错误的情况下,只看到外网电脑发的SYN包,并没有收到ACK的应答包,也就是访问数据请求已经到了目的网关,但是没收到回应
【情况三:外网收到访问请求,不转发或转发错误】 左图是外网接口(eth2)抓到的数据包,右图是内网接口(eth0)抓到的数据包。正常情况下可以看到源地址保持不变,目的地址已经转换成内网地址了。很形象地说明什么叫目的地址转换。如果不转发的情况下,内网接口(eth0)是不会抓到数据包的
【情况四:安全策略阻止】 建议排查端口映射问题时把内网和外网IP都加入黑白名单中的放行名单,或者开启直通时在设置开启条件中添加内网和外网IP
【情况五:内网服务器端口未开放】 若采用TCP端口,可以在内网电脑或者防火墙命令控制台中使用telnet IP+端口号测试。若UDP端口的话要采用UDP端口测试工具测试
【情况六:应用层导致的问题】 用内网电脑尝试以内网IP访问服务器应用,如果不行请联系软件开发商
【结语】 以上就是我想到的端口映射不成功的几种解决方法。各位大佬如果还想到其它情况欢迎补充。 |