这是一个创建于 770 天前的主题,其中的信息可能已经有所发展或是发生改变。
最近折腾了 PVE ,在上面虚拟了一个 Openwrt 做旁路由,因为希望宿主机也能翻墙,就把宿主机的网关和 DNS 设成了 Openwrt 的地址。然后发现原先能连上的 WireGuard 就连不上了。WireGuard 是安装在宿主机上的。
这是需要在 WireGuard 上做 iptables 的新规则,还是要在旁路由上做处理呢,对防火墙不熟悉,请大佬帮忙看看。
大致的架构是
宿主机
IP: 192.168.1.3
Gateway: 192.168.1.4
DNS: 192.168.1.4
Openwrt
IP: 192.168.1.4
Gateway: 192.168.1.1
DNS: 192.168.1.1
WireGurd 的配置如下
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = XXXXXXXXXXXXXXXX
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o vmbr0 -j MASQUERADE
[Peer]
AllowedIPs = 10.0.0.2/24,10.0.0.3/24
PublicKey = XXXXXXXXXXXXXXXX
2 条回复 • 2022-10-20 14:36:28 +08:00
|
|
1
baobao1270 2022-10-20 14:09:11 +08:00
你宿主机通过 Openwrt 上网的话,那应该需要在 Openwrt 上配置路由和防火墙规则啊
|
|
|
2
ProteinPig 2022-10-20 14:36:28 +08:00
明白了,这实际上旁路由端口二次转发的问题
|