这可能更像是一个 Linux 防火墙问题,但上下文是 Ubuntu 上的 Wireguard VPN 设置。请注意,我几乎不熟悉这些东西。
我在 Digital Ocean Ubuntu 上启动并运行了 Wireguard,Windows 和 Android 客户端都在使用它。一切似乎都很好。
我在出现时使用的基本防火墙命令如下: 因此,第 3 行似乎将所有进入wg0
(私有 VPN)的流量通过公共eth0
接口路由出去。正如它应该(几乎?),它工作正常。Wgo/Private 网络是10.8.0.1/24
,服务器是10.8.0.1
. 当客户端流量进入下面的服务器10.8.0.x
(专用网络中的另一个地址)时,它会超时。
我“认为”这是因为它试图通过路由eth0
?如果是这样,我如何确保发往私有子网的流量仍然使用wg0
接口?如果没有,还有其他建议吗?
PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv6.conf.all.forwarding=1
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w net.ipv4.ip_forward=0
PostDown = sysctl -w net.ipv6.conf.all.forwarding=0