关键词:外网无法访问映射服务器、内网使用域名或公网ip访问
1、防火墙处理外网访问VIP(端口映射)流量过程及各阶段常见问题点如下图
2、网络拓扑参考
3、各阶段排查详细步骤
(1)入接口收包阶段:确保防火墙有接收到到访问VIP的流量
排查方法:针对外网接口(以wan1口为例)使用debug sniffer确认数据包是否到达防火墙,命令如下:
diagnose sniffer packet wan1 ‘port 80’ //具体映射端口(外网访问的端口),此处以80端口为例
常见问题:新申请公网IP的80、8080等端口需要工信部备案,否则运营商不会放通,数据无法到达防火墙,如下截图:
正常情况下,外网口接收到的报文如下截图:
(2)防火墙处理阶段:确保配置正确,防火墙正常处理VIP流量
排查方法:使用debug flow来跟踪防火墙对数据包的处理过程,命令如下:
RG-WALL # diagnose debug enable
RG-WALL # diagnose debug flow show console
RG-WALL # diagnose debug flow filter dport 80 //具体映射端口(外网访问的端口),此处以80端口为例
RG-WALL # diagnose debug flow trace start 30 //抓包数量30
常见问题
问题1: 设置完VIP未在访问控制策略调用,抓包结果如下截图显示(匹配默认拒绝所有策略【policy0】, 丢弃)
解决方法:正常情况下,设置完成VIP后,需要在访问控制策略中调用如下图
VIP设置:
访问控制调用VIP设置
问题2:防火墙上没有到达实际内网服务器的路由;
解决方法:请确保防火墙上路由信息准确
问题3:vip设置、访问控制设置错误:例如映射ip、端口填写错误,映射ip、端口所处的物理接口填写错误
解决方法:请确保防火墙上路由信息准确请参照如下配置
a、VIP设置
b、访问控制配置
c、一个正常VIP流量防火墙处理debug flow抓包如下:
(3)出接口转发数据阶段:确保VIP流量从防火墙发出,同时正常接受服务器返回的流量;
排查方法:针对服务器所处接口(以internal口为例)使用debug sniffer确认数据包是否正常收发,命令如下:
diagnose sniffer packet internal ‘port 8080’ //服务器真实对外开放端口,此处以8080端口为例
常见问题
问题1: 服务器未正常开机或者未正常配置ip地址,表现为防火墙没有往外转发VIP流量,arp查询不到服务器地址
使用diagnose sniffer packet internal arp,无法获取服务器ip的mac地址(针对二层网络)
解决方法:请确保服务器正常开机,同时正确配置ip地址保证与防火墙的通信正常
问题2: 防火墙上发出了针对目标端口的请求报文,但是服务器无响应(如下抓包截图)
这通常是由以下几种原因造成:
1)服务器没有配置网关地址,或者服务器网关不在防火墙上
解决方法:在VIP策略上勾选NAT,使得匹配防火墙的数据自动执行源NAT转换,源ip转换成防火墙内网互联接口地址
2)内网有安全设备阻断对服务器访问流量进行过滤
解决方法:需要和用户确认,允许新增的流量访问
3)服务器自身映射的端口不正常或者未开启
解决方法:在内网使用与服务器同网段的ip进行测试
4)服务器上未开启nat穿越功能
解决方法:有些视频软件会设置是否允许nat穿越,勾选nat穿越、外网才能正常访问
5)未按标准方式写代码,如网页代码连接是私网ip地址,导致一些子链接无法打开
解决方法:联系网站开发人员解决
4、内网使用域名或公网ip访问设置:即使用192.168.1.153->172.18.157.92:80的访问
(1)上述防火墙外到内访问的配置为
增加vip设置,设置对应关系
访问控制调用vip设置:
策略中不需要选择NAT选项,防火墙会识别内网访问公网ip、域名的流量,自动执行NAT转换,将流量源地址转换为服务器所处于接口的ip地址,如下图所示: