我有一个 Wireguard 服务器,有两个客户端(移动设备和笔记本电脑)连接到该服务器。我希望能够将我的 Wireguard 服务器上特定端口上的流量路由到笔记本电脑。服务器和客户端的配置如下。
服务器:
[Interface]
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 57777
PrivateKey = <redacted>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
### Client wg-mobile
[Peer]
PublicKey = <redacted>
PresharedKey = <redacted>
AllowedIPs = 10.66.66.3/32,fd42:42:42::3/128
### Client laptop
[Peer]
PublicKey = <redacted>
PresharedKey = <redacted>
AllowedIPs = 10.66.66.4/32,fd42:42:42::4/128
客户 wg-mobile
[Interface]
PrivateKey = <redacted>
Address = 10.66.66.3/32,fd42:42:42::3/128
DNS = 176.103.130.130,176.103.130.131
[Peer]
PublicKey = <redacted>
PresharedKey = <redacted>
Endpoint = vpn-domain.tld:57777
AllowedIPs = 0.0.0.0/0,::/0
客户端笔记本电脑
[Interface]
PrivateKey = <redacted>
Address = 10.66.66.4/32,fd42:42:42::4/128
DNS = 176.103.130.130,176.103.130.131
[Peer]
PublicKey = <redacted>
PresharedKey = <redacted>
Endpoint = vpn-domain.tld:57777
AllowedIPs = 0.0.0.0/0,::/0
PersistentKeepalive = 25
两个客户端以 10.66.66.3/32(Android)和 10.66.66.4/32(ubuntu 20.04 笔记本电脑)的身份连接到 wireguard 网络中。
两个客户端都连接到 wireguard vpn 并能够访问互联网。
但是,当我从 ping 第二个客户端时, ping 10.66.66.4
它卡住了,但是当我尝试ping 10.66.66.3
从服务器 ping 第一个客户端时,ping 工作正常。
我尝试在笔记本电脑上使用移动客户端的配置,再次连接到 VPN,但现在ping 10.66.66.3
服务器卡住了。所以我猜这是笔记本电脑的问题。
我不确定这是否是笔记本电脑上的防火墙问题还是其他问题。我希望能够将我的 wireguard 服务器上特定端口上的流量路由到笔记本电脑。目前,我能够使用 nginx 中的 proxy_pass 将 wireguard 服务器上端口 80 上的流量路由到移动客户端,因为proxy_pass 10.66.66.3
我也希望能够对笔记本电脑执行此操作。有人可以指导我正确的方向吗?我无法弄清楚我在这里遗漏了什么。