You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在动态WAN IP环境下实现Hairpin NAT?

动态WAN IP下的Hairpin NAT实现方案

核心原理

Hairpin NAT(NAT回环)的核心是让内部子网(VLAN5)设备访问WAN公网IP时,流量在路由设备内部完成地址转换,无需走WAN链路:将目标地址转为VLAN1000内服务器的私有IP,同时将源地址转为路由设备的VLAN5接口IP,确保服务器返回的流量能正确回到发起设备。针对动态WAN IP,需用WAN接口的动态标识(而非硬编码IP)匹配规则,自动适配IP变化。


OpenWrt配置步骤

  1. 启用Full Cone NAT(推荐)
    编辑/etc/config/firewall,在config defaults段添加:

    option fullcone '1'
    

    执行service firewall restart生效。

  2. 添加Hairpin NAT规则
    在/etc/config/firewall中新增规则(替换对应网段/IP):

    # DNAT规则:把VLAN5访问WAN IP的443请求转去内部服务器
    config nat
        option name 'hairpin-dnat-vlan5'
        option src 'vlan5'
        option src_ip '192.168.5.0/24'
        option dest 'wan'
        option dest_port '443'
        option proto 'tcp'
        option target 'DNAT'
        option to_ip '192.168.100.10'
        option to_port '443'
        option reflection '0'
    
    # SNAT规则:把访问服务器的源IP转为VLAN5网关,确保回程流量正常
    config nat
        option name 'hairpin-snat-vlan5'
        option src 'vlan5'
        option src_ip '192.168.5.0/24'
        option dest 'vlan1000'
        option dest_ip '192.168.100.10'
        option proto 'tcp'
        option dest_port '443'
        option target 'SNAT'
        option to_ip '192.168.5.1'
    

    执行service firewall restart生效。OpenWrt的wan接口会自动跟踪动态IP,无需手动更新规则。


pfSense配置步骤

  1. 启用NAT反射(自动适配动态IP)
    进入防火墙 > NAT > 端口转发,找到已有的WAN→VLAN1000服务器的443转发规则,勾选NAT Reflection为Enable,选择Pure NAT模式。pfSense会自动适配WAN动态IP,生成回环规则。

  2. 手动补充SNAT规则(若自动规则失效)
    进入防火墙 > NAT > 出站,添加规则:

    • 接口:选择VLAN5对应的接口
    • 源地址:VLAN5子网(如192.168.5.0/24)
    • 目标地址:VLAN1000服务器IP(192.168.100.10)
    • 协议:TCP
    • 目标端口:443
    • 转换地址:Interface Address(选择VLAN5的接口地址)

通用验证方法

  • 用VLAN5内设备直接访问WAN公网IP的443端口,测试连通性
  • 查看路由设备的NAT日志,确认流量是否被正确转换
  • 检查内部防火墙规则,确保允许VLAN5与VLAN1000之间的443端口通信

内容的提问来源于stack exchange,提问作者monotux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:20:31