外网访问OpenWrt

 

 

1.  检查环境: 

  你的外网设备和 PVE 是否在同一个 ZeroTier 网络? 

  ping ZTip

  • 不通 → ZeroTier 本身没通,先解决 ZT 连接问题
    • 确认 ZeroTier 授权, 登录 ZeroTier 后台,找到你的网络,确认:
      • PVE 这台设备的前面已经打勾
      • IP 分配正常(就是看到的 ZTip)
    •   PVE上检查ZeroTier 连接问题,检查 PVE 上的 ZT 服务 
      •  zerotier-cli status  
      •    状态应该是 ONLINE

 

2. 转发规则: 

  1. 开启内核转发(必须第一条)

  echo 1 > /proc/sys/net/ipv4/ip_forward
    告诉 PVE 系统:
    “你要允许数据包从一个网卡转发到另一个网卡”
    不执行这条,下面所有转发都无效。
 

  2. 端口转发核心(最关键)

    iptables -t nat -A PREROUTING -p tcp --dport 8888 -j DNAT --to-destination istoreOS-ip:80

    逐段翻译:
    •   iptables:Linux 防火墙工具
    •   -t nat:操作 NAT 转发规则
    •   -A PREROUTING:在数据包进入时修改
    •   -p tcp:只针对 TCP 协议
    •   --dport 8888:目标端口是 8888, 可自定义
    •   -j DNAT:修改目标地址
    •   --to-destination istoreOS-ip:80:转发到 iStoreOS 的 80 端口
     总结:
       谁访问 PVE 的 8888 端口 → 自动转给  iStoreOS-IP
 

  3. 源地址伪装(必须加,否则访问不到)

    iptables -t nat -A POSTROUTING -d istoreOS-ip -p tcp --dport 80 -j MASQUERADE    
    意思:让返回的数据包正常走 PVE 回去,不然 iStoreOS 不知道把数据还给谁。
     总结:
      让 iStoreOS 以为是 PVE 在访问它,从而正常返回数据。
 

    4. 持久化保存

    上面的命令重启 PVE 就消失,要永久生效执行:
      apt install iptables-persistent
      netfilter-persistent save
 

清空规则: 

  # 清空旧规则
  iptables -t nat -F PREROUTING
  iptables -t nat -F POSTROUTING
 
 
 
 
 
 
      
posted @ 2026-04-21 16:27  D-Simin  阅读(24)  评论(0)    收藏  举报