两个公网IP发两台服务器?华为防火墙目的NAT地址一对一按顺序对号入座
内网服务器要对外提供服务,最理想的姿势是一个公网 IP 对一台服务器,地址对地址整租不拼凑。这要求公司向 ISP 多申请几个公网地址——除了防火墙公网接口自己用的那个,再拿两个专门给服务器发布用。防火墙上要做的事叫目的 NAT:外网用户的报文目的地写的是公网地址,设备把它转换成内网服务器真实地址再送进去。
华为防火墙官方给了一个 Web 界面配置示例:公司在网络边界部署 DeviceA 做安全网关,私网有一台 Web 服务器和一台 FTP 服务器要对外服务。向 ISP 申请了 1.1.10.10 和 1.1.10.11 两个地址,规则是按顺序一对一映射——目的地址 1.1.10.10 的流量转成 10.2.0.7(Web 服务器),目的地址 1.1.10.11 的流量转成 10.2.0.8(FTP 服务器)。GE0/0/1 是公网口 1.1.1.1/24 放 Untrust 区域,GE0/0/2 是服务器区口 10.2.0.1/24 放 DMZ 区域,服务器网关指向 10.2.0.1。
配置步骤
Web 界面上按五步走。
第一步,接口和安全区域。「网络 > 接口」里把 GE0/0/1 配上 1.1.1.1/24、加入 untrust 区域;GE0/0/2 配上 10.2.0.1/24、加入 dmz 区域。
第二步,安全策略放行。「策略 > 安全策略 > 安全策略」新建 policy1:源安全区域 untrust、目的安全区域 dmz、目的地址 10.2.0.0/24、动作允许。注意目的地址填的是转换后的内网段,不是公网地址。
第三步,NAT 地址池和 NAT 策略。「策略 > NAT策略 > NAT策略 > 目的转换地址池」新建地址池 addressgroup1,section 段填 10.2.0.7~10.2.0.8。再到「NAT策略」新建 policy_nat1:源安全区域 untrust,目的地址 range 1.1.10.10 1.1.10.11,服务勾 http 和 ftp,动作选目的 NAT 静态转换、地址到地址、指向 addressgroup1。这里公网地址和地址池按顺序一对一:第一个公网地址对地址池第一个地址,依次类推。官方特别提醒:本例不做端口转换;真要做端口转换,每条 NAT 策略只支持配一个转换后的目的端口,不同服务器转换端口不同就得一台一条策略,没法批量。
第四步,黑洞路由。给 1.1.10.10 和 1.1.10.11 各配一条出接口 NULL0 的静态路由,防止路由环路——这两个地址在本设备上并不真实存在,没这条兜底,匹配不到服务器的流量会在网络里打转。
第五步,FTP 的 ALG。FTP 是多通道协议,「策略 > ASPF配置」里勾选 FTP,让设备正确处理控制通道和数据通道。
以上五步在配置脚本里的样子如下,Web 配完可以逐行核对:
#
sysname DeviceA
#
interface GE0/0/1
ip address 1.1.1.1 255.255.255.0
#
interface GE0/0/2
ip address 10.2.0.1 255.255.255.0
#
firewall zone untrust
set priority 5
add interface GE0/0/1
#
firewall zone dmz
set priority 50
add interface GE0/0/2
#
firewall interzone dmz untrust
detect ftp
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.254
ip route-static 1.1.10.10 255.255.255.255 NULL0
ip route-static 1.1.10.11 255.255.255.255 NULL0
#
destination-nat address-group addressgroup1 0
section 10.2.0.7 10.2.0.8
#
security-policy
rule name policy1
source-zone untrust
destination-zone dmz
destination-address 10.2.0.0 24
action permit
#
nat-policy
rule name policy_nat1
source-zone untrust
destination-address range 1.1.10.10 1.1.10.11
service http
service ftp
action destination-nat static address-to-address address-group addressgroup1
#
return
别漏了两件设备之外的事。DeviceA 上要配去 Internet 的缺省路由,下一跳 1.1.1.254(指向 ISP 的接入网关);ISP 那侧的 Router 上要配到 1.1.10.10 和 1.1.10.11 的静态路由、下一跳 1.1.1.1,把去服务器的流量引到防火墙来——这一步通常要联系 ISP 的网络管理员配,少配了现象就是外网完全访问不到。
验证
公网用户访问内网服务器,访问通了就是通了;要看得更细,「监控 > 会话表」里能看到目的地址为服务器公网地址的会话,转换前后的地址对照一目了然。
地址对地址的一对一映射是目的 NAT 里结构最清爽的一种,公网地址充裕的公司对外发布服务就该这么做,服务器各自独立互不牵连。贵州诚鑫致达科技帮客户规划 DMZ 对外服务时,地址申请量和映射关系是开工前第一张要定的表。你们公司服务器对外发布现在用的哪种映射方式?