ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

外网访问OpenWrt

外网访问OpenWrt

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

ping ZTip

  • 不通 → ZeroTier 本身没通,先解决 ZT 连接问题
    • 确认 ZeroTier 授权, 登录 ZeroTier 后台,找到你的网络,确认:
      • PVE 这台设备的前面已经打勾
      • IP 分配正常(就是看到的 ZTip)
    • PVE上检查ZeroTier 连接问题,检查 PVE 上的 ZT 服务
      • zerotier-cli status
      • 状态应该是ONLINE
1. 开启内核转发(必须第一条)
echo 1 > /proc/sys/net/ipv4/ip_forward

告诉 PVE 系统:
“你要允许数据包从一个网卡转发到另一个网卡”

不执行这条,下面所有转发都无效。

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

iptables -t nat -A PREROUTING -p tcp --dport8888-j DNAT --to-destinationistoreOS-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

返回列表