对端白名单只认固定公网IP?华为防火墙NAT No-PAT一对一转换这样配
不少公司都遇到过这类事:跟银行对接专线业务,对方风控要求把你的出口公网 IP 加白名单;上级单位门户、合作伙伴的 SaaS 后台也一样,只认固定地址。可你家里用的全是多人共享一个公网 IP 的端口复用转换,今天这条会话从 52001 端口出去、明天从 53002 出去,对端日志里全是同一个 IP 不同端口,白名单根本没法加。还有的公司人也少、向运营商申请了一小段公网地址,却仍旧沿用端口复用的方式,地址白白闲着。
上网人少、公网地址够用的时候,华为防火墙有一种更省心的源 NAT 方式——NAT No-PAT,一对一转换、不转换端口。每个上网的私网地址固定对应一个公网地址,对端看到的就是一个干干净净的固定地址,白名单、回源、日志对账都清爽。下面这套配置把整个过程完整过一遍。
组网与准备
网络边界部署一台华为防火墙作为安全网关,内网是 10.1.1.0/24 网段,向 ISP 申请了 6 个公网地址(1.1.1.10~1.1.1.15)作为转换后的地址池。接口与安全区域规划如下:
- GE0/0/1:IP 地址 10.1.1.1/24,安全区域 Trust,内网主机的默认网关指向它
- GE0/0/2:IP 地址 1.1.1.1/24,安全区域 Untrust,按 ISP 要求配置
- 防火墙缺省路由:目的地址 0.0.0.0,下一跳 1.1.1.254(ISP 接入网关)
有一处特别容易被漏掉的配套动作:转换后的公网地址 1.1.1.10~1.1.1.15 不存在于任何实际接口上,路由协议发现不了它们,所以要在 ISP 侧的 Router 上手工配置静态路由,目的地址 1.1.1.10~1.1.1.15、下一跳 1.1.1.1,回程流量才能送回防火墙。这一步通常要联系 ISP 的网络管理员配置。
配置步骤(Web 界面)
第一步,配接口。选择"网络 > 接口",在"接口列表"中单击接口 GE0/0/1 所在行,安全区域填 trust,IPv4 地址填 10.1.1.1/24,确定。再单击 GE0/0/2 所在行,安全区域填 untrust,IP 地址填 1.1.1.1/24,确定。
第二步,配安全策略。选择"策略 > 安全策略 > 安全策略",单击"新建",选择"新建安全策略",参数照下面填:
- 名称:policy1
- 源安全区域:trust
- 目的安全区域:untrust
- 源地址:10.1.1.0/24
- 动作:允许
第三步,配 NAT 地址池和 NAT 策略。选择"策略 > NAT策略 > NAT策略 > 源转换地址池",在"源转换地址池列表"中单击"新建",地址范围填 1.1.1.10~1.1.1.15,注意不开启端口转换——这一项就是 No-PAT 与端口复用方式的分水岭。确定后再选择"策略 > NAT策略 > NAT策略 > NAT策略",在"NAT策略列表"中单击"新建",把源区域 trust、目的区域 untrust、源地址 10.1.1.0/24 的流量指向这个地址池做源地址转换。
第四步,配缺省路由。选择"网络 > 路由 > 静态路由",在"静态路由列表"中单击"新建",协议类型 IPv4,目的地址/掩码 0.0.0.0/0.0.0.0,下一跳 1.1.1.254,确定。
第五步,私网主机把默认网关配成 10.1.1.1,再由 ISP 侧完成回程静态路由,整条链路就通了。
全部做完后,设备上的配置脚本长这样,命令行管理的读者可以直接对照核对:
#
sysname DeviceA
#
interface GE0/0/1
ip address 10.1.1.1 255.255.255.0
#
interface GE0/0/2
ip address 1.1.1.1 255.255.255.0
#
firewall zone trust
set priority 85
add interface GE0/0/1
#
firewall zone untrust
set priority 5
add interface GE0/0/2
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.254
#
nat address-group addressgroup1 0
mode no-pat global
route enable
section 0 1.1.1.10 1.1.1.15
#
security-policy
rule name policy1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 24
action permit
#
nat-policy
rule name policy_nat1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 24
action source-nat address-group addressgroup1
#
return
脚本里有两行值得多看一眼:mode no-pat global 声明地址池工作在一对一不转端口模式;route enable 则让设备为地址池发布路由,配合 ISP 侧静态路由保证回程可达。地址池地址少于上网人数时,后上网的用户会分配不到地址,所以规划地址池个数时按同时上网人数留足即可。
验证
配置完成后,内网用户直接访问 Internet 验证连通性;再选择"监控 > 会话表",查看源地址为公司内网地址的会话——一对一转换生效后,每条会话的转换后地址都落在 1.1.1.10~1.1.1.15 之内,且同一内网地址始终对应同一个公网地址。让对端把对应公网地址加入白名单,业务对接一次通过。
出口地址规划这种事,配错一个参数可能整层楼断网半天。贵州诚鑫致达科技在给企业做出口改造和防火墙策略梳理时,都会先摸清地址使用现状再动手。如果你拿不准自己的出口该用哪种转换方式,欢迎留言说说你的公网地址数量和上网规模,帮你看看怎么规划更稳。