我有一个 wireguard 服务器和 2 个连接到该服务器的 wireguard 对等体。所有 3 个都可以在 wg0 接口上互相 ping 通,但 2 个对等体无法互相连接。
我发现有人遇到过类似的问题,问题是由于 MTU 导致数据包被粉碎。我已将两个对等端的 MTU 降低到 1280,但问题仍然存在。
对等点 A 是一台 Windows 计算机,尝试通过服务器 C 连接到对等点 B。
对等体 A 可以 ping 对等体 B。我已经确认对等体 B 可以通过 SSHing、RDPing 以及从其本地网络上的计算机加载其 apache2 测试站点来工作,因此我认为这不是防火墙问题。
对等 A(Windows 桌面)Wireguard 配置:
[Interface]
PrivateKey = PRIVATEKEY=
Address = 192.168.3.2/24
DNS = 192.168.1.2
MTU = 1280
[Peer]
PublicKey = PUBLICKEY=
AllowedIPs = 192.168.3.0/24, 10.1.1.0/24
Endpoint = CONNECTIONLOCATION:PORT
PersistentKeepalive = 25
对等体 B 的配置(RASPBIANPI)
[Interface]
Address = 192.168.3.231/24
PrivateKey = PRIVATEKEY=
MTU = 1280
DNS = 8.8.8.8
[Peer]
PublicKey = PUBLICKEY=
AllowedIPs = 192.168.3.0/24
Endpoint = CONNECTION:PORT
PersistentKeepalive = 25
我最好的猜测是 Wireguard 服务器设置和路由正确,因为两个对等方都可以在它们的 wireguard 接口上 ping 该服务器并互相 ping。
当尝试通过 SSH 连接到对等点 B 时,会出现超时错误,因此就好像 SSH 连接无法到达它,或者 wg0 接口没有监听该端口。