帮我找出路线。有两台 Ubuntu 服务器,S1 和 S2,每台都运行 WireGuard。 S1 是主服务器,位于欧洲,S2 位于俄罗斯。我想将后者作为客户端连接到 S1,这样到某些网络的流量就从 S1 服务器的对等点通过 WireGuard 隧道路由到 S2,这样它就通过其网络接口上线了。
S1 有几个网络接口 10.7.0.1/24、10.8.0.1/24、10.9.0.1/24。
我在 S2 上创建 wg0 10.10.0.1/24,添加一个对等点,下载配置并将其放在 S1 上,有一个连接,服务器 10.10.0.1/32 - 10.10.0.2/32 之间的 ping 是双向的。
在 S2 上配置
[Interface]
ListenPort = 5555
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown =
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PreUp =
Address = 10.10.0.1/24
SaveConfig = true
PrivateKey = PrivateKey
[Peer]
PublicKey = PublicKey
AllowedIPs = 10.10.0.2/32
Endpoint = 0.0.0.0:40070
在 S1 上配置
[Interface]
PrivateKey = PrivateKey
Address = 10.10.0.2/32
[Peer]
PublicKey = PublicKey
AllowedIPs = 10.10.0.1/24
Endpoint = 0.0.0.0:5555
PersistentKeepalive = 25
您不能在服务器 S1 上的 AllowedIPs 参数中输入 0.0.0.0/0,因为默认路由将会改变,与服务器的连接将会丢失。网络 10.7.0.0/24、10.8.0.0/24、10.9.0.0/24、10.10.0.1/24 之间的 ping 不起作用。设置 net.ipv4.ip_forward=1 已启用。如何才能实现这些网络之间的流量路由并有选择地(使用路由)将流量重定向到 S2?