一、场景说明
设备:F100-C-G5/F1000-C/F1000-AK 系列 V7 防火墙
组网规划
外网 Untrust 口:GE1/0/0,公网 IP 203.0.113.10/24
内网 Trust 口:GE1/0/1,内网网关 192.168.1.1/24,内网网段192.168.1.0/24
内网服务器:192.168.1.100:80
端口映射:公网203.0.113.10:80 → 内网192.168.1.100:80
需求:
全局 Easy NAT:内网上网全部转换成公网 IP
外网可通过公网 IP 访问服务器
内网电脑直接访问公网 IP: 端口也能正常打开(nat hairpin 回流)
核心原理
内网访问公网映射 IP 时,流量不走外网,在内网口同时做DNAT(目的转换公网 IP→服务器私网 IP)+SNAT(源转换内网网关 IP),解决回程路由绕开防火墙导致会话断开问题,该功能官方名称nat hairpin enable。
二、全套可复制 CLI 配置
1. 接口 IP + 安全域基础
plaintext
<H3C>system-view
[H3C]sysname FW
# 外网Untrust接口
[FW]interface GigabitEthernet 1/0/0
[FW-GigabitEthernet1/0/0]port link-mode route
[FW-GigabitEthernet1/0/0]ip address 203.0.113.10 255.255.255.0
[FW-GigabitEthernet1/0/0]undo shutdown
[FW-GigabitEthernet1/0/0]quit
[FW]security-zone name Untrust
[FW-security-zone-Untrust]import interface GigabitEthernet 1/0/0
[FW-security-zone-Untrust]quit
# 内网Trust接口【关键:开启nat hairpin回流】
[FW]interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1]port link-mode route
[FW-GigabitEthernet1/0/1]ip address 192.168.1.1 255.255.255.0
[FW-GigabitEthernet1/0/1]undo shutdown
# 核心命令:开启内网口NAT回流,实现内网访问公网映射IP
[FW-GigabitEthernet1/0/1]nat hairpin enable
[FW-GigabitEthernet1/0/1]quit
[FW]security-zone name Trust
[FW-security-zone-Trust]import interface GigabitEthernet 1/0/1
[FW-security-zone-Trust]quit
2. 全局 Easy NAT(内网上网转换公网地址)
plaintext
# ACL匹配所有内网流量
[FW]acl basic 2000
[FW-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[FW-acl-ipv4-basic-2000]quit
# 外网口配置Easy NAT,上网自动转换GE1/0/0公网IP
[FW]interface GigabitEthernet 1/0/0
[FW-GigabitEthernet1/0/0]nat outbound 2000
[FW-GigabitEthernet1/0/0]quit
3. 端口映射 nat server(外网访问服务器)
必须在外网 Untrust 接口下配置 nat server,支持 TCP/UDP 多端口映射
plaintext
[FW]interface GigabitEthernet 1/0/0
# 80端口映射示例
[FW-GigabitEthernet1/0/0]nat server protocol tcp global 203.0.113.10 80 inside 192.168.1.100 80
# 多端口扩展示例,按需添加
[FW-GigabitEthernet1/0/0]nat server protocol tcp global 203.0.113.10 443 inside 192.168.1.100 443
[FW-GigabitEthernet1/0/0]nat server protocol tcp global 203.0.113.10 3389 inside 192.168.1.100 3389
[FW-GigabitEthernet1/0/0]quit
4. 安全策略(必配,否则拦截访问)
plaintext
[FW]security-policy ip
# 规则1:外网Untrust访问内网服务器放行对应端口
rule 0 name Untrust-To-Server-Web
source-zone Untrust
destination-zone Trust
destination-address 192.168.1.100 0
service tcp destination-port eq 80
action pass
# 规则2:内网Trust任意流量全放行(包含内网访问公网映射IP回流流量)
rule 10 name Trust-All-Access
source-zone Trust
destination-zone any
action pass
quit
5. 保存配置
plaintext
[FW]save force
三、Web 界面图形化配置步骤(不会命令行)
新建NAT内部服务器
外网口出站NAT
接口配置
网络→接口→三层接口,配置 GE1/0/0 公网 IP、GE1/0/1 内网 IP;分别加入 Untrust/Trust 安全域。
开启 NAT Hairpin 回流
网络→NAT→高级设置→NAT Hairpin,选中内网 GE1/0/1,点击开启并应用。
配置全局 Easy NAT
网络→NAT→出站动态转换→新建
接口:GE1/0/0(外网口)
ACL:2000(匹配内网网段)
转换模式:接口地址(Easy IP)
端口映射 NAT 服务器
网络→NAT→内部服务器→新建
协议:TCP
外网地址:203.0.113.10,外网端口 80
内部服务器地址:192.168.1.100,内部端口 80
接口选择外网 GE1/0/0,启用规则保存。
安全策略放行
策略→安全策略,新建两条规则:外网访问服务器端口放行、内网全访问放行。
四、流量转发流程(内网访问公网 IP)
内网主机192.168.1.5发起访问 203.0.113.10:80;
内网 GE1/0/1 开启nat hairpin enable,触发双向转换:
DNAT:目的 IP 203.0.113.10 → 192.168.1.100
SNAT:源 IP 192.168.1.5 → 内网网关192.168.1.1
服务器收到源地址为防火墙网关的请求,回包给192.168.1.1;
防火墙反向还原源目地址,回传给内网主机,会话正常建立。
五、故障排查命令
plaintext
# 查看nat hairpin是否开启
display current-configuration interface GigabitEthernet 1/0/1 | include hairpin
# 查看端口映射规则
display nat server
# 查看NAT会话表,验证回流双向转换
display nat session table destination 203.0.113.10
# 查看安全策略匹配计数,确认流量被放行
display security-policy ip rule all
# 查看全局NAT出站配置
display current-configuration interface GigabitEthernet 1/0/0 | include nat outbound
六、常见失败点
未在内网口配置nat hairpin enable(90% 内网无法访问公网 IP 的根源);
nat server 配置在内网口,必须放在外网 Untrust 接口;
安全策略拦截 Untrust→Trust 服务器端口、内网回流流量;
服务器本地防火墙拦截 80/443 等业务端口;
运营商封锁公网 80、443 端口,外网和内网均无法访问。
补充多网段 / 多公网 IP 扩展
多服务器多公网 IP:重复添加多条nat server,更换 global 公网 IP 与内网 IP;
多内网网段:修改 ACL2000,新增多条 rule 放行其他内网段,hairpin 无需额外配置。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论