内容:
昨天半夜两点,客户电话炸了,说网站打不开。我爬起来一看,又是端口映射搞崩了。真的,每次看到这种低级错误都想骂人。很多人问怎么在华为防火墙做网站映射,其实根本不是技术问题,是逻辑问题。你先把脑子清空,别一上来就点鼠标。
华为的USG系列,不管是6000还是9000,界面看着高大上,底层逻辑就那几样。别去背命令,GUI界面对于做NAT映射其实更直观,也更容易出错,因为按钮太多。我一般直接进对象管理,这步最容易被忽略。很多小白直接新建地址转换,结果发现策略怎么都匹配不上,最后查半天发现源地址对象都没建对。
先说对象。你要映射的服务器IP,必须先在“对象-地址-地址域”里建好。别偷懒,别直接用IP地址段,一定要建单个地址对象。名字随便起,比如“Web_Server_80”,看着心里踏实。然后,外网接口和内网接口,这两个概念必须搞清楚。外网接口是面对互联网的,内网是面对你局域网的。华为防火墙默认是信任内网,不信任外网,所以你必须手动开绿灯。
接下来是地址转换规则。这是核心。进“策略-地址转换-源NAT”或者“目的NAT”。注意,做网站映射,你要做的是目的NAT,也就是DNAT。很多新手搞混,搞成源NAT,那肯定不通。在目的NAT里,新建一条规则。动作选“服务器映射”或者“双向NAT”,看你的版本,新版华为通常叫“服务器映射”。
关键点来了:本地地址填你内网服务器的真实IP,服务填你开放的端口,比如HTTP 80或HTTPS 443。远程地址填“Any”或者你外网接口的IP。转换后的地址,填你外网的那个公网IP。这一步填错,神仙难救。我见过太多人,外网IP填成内网网关,结果流量转了一圈又回来了,防火墙直接丢包。
然后是安全策略。光有NAT规则没用,华为防火墙默认拒绝所有流量。你必须去“策略-安全策略”里放行。新建策略,源区域是Untrust(外网),目的区域是Trust(内网)。源地址选Any,目的地址选你刚才建的那个服务器对象。服务选HTTP或HTTPS。动作选允许。别忘了勾选“启用日志”,不然出了事你连排查方向都没有。
这里有个大坑,很多人做完映射,外网能ping通,但浏览器打不开。为什么?因为你的服务器本身有防火墙,或者Web服务没启动。别急着怪防火墙,先去服务器上看服务状态。另外,检查你的ISP有没有封锁80和443端口。现在大部分宽带都封了80,你得用8080或者8443,然后在映射规则里做端口转换,把外网的8080映射到内网的80。
还有,别忽视会话表。如果配置完还是不通,去诊断工具里看会话表。搜你的外网IP,看有没有建立起来的会话。如果没有,说明策略没匹配上;如果有但没数据,说明NAT转换有问题。我有一次帮客户排查,发现是因为他同时在做了源NAT和目的NAT,顺序搞反了,导致转换混乱。
最后,测试的时候,别只在自己家里测。找个手机,关掉WiFi,用4G/5G网络访问。因为很多家庭宽带都有CGNAT,也就是运营商的大内网,你看到的公网IP可能是假的。这时候你做映射也是白搭,得找运营商要真正的公网IP。
做这个事儿,心态要稳。别慌,一步步来。对象、NAT、策略,这三步走错一步,全盘皆输。网上那些教程,要么太老,要么太简略,根本解决不了实际问题。你自己多试几次,踩几个坑,自然就懂了。别怕麻烦,网络配置这事儿,严谨点总没错。
本文关键词:怎么在华为防火墙做网站映射