大约一周前,我成功运行了自己的基于 Wireguard 的 vpn 服务器。一切都很顺利,直到几天前我注意到客户端停止接收数据。谷歌搜索这个问题并没有解决问题。我尝试通过 wireshark 分析从客户端到服务器的流量,发现握手没有完成(无休止的握手启动数据包来自客户端机器,而服务器没有任何响应)。以下是 wg0.conf 的内容
[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 192.168.69.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 192.168.69.8/32
以下是客户端配置示例
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 192.168.69.8/32
DNS = 1.1.1.1, 1.0.0.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = VPS_IP:51820
PersistentKeepalive = 25
我仔细检查了双方的公钥/私钥内容,以避免出现任何不一致的情况。我怀疑是防火墙阻止了所有流量,但在内核日志中没有找到任何可以证实这一点的内容
答案1
我最终通过重新生成服务器的公钥/私钥对解决了这个问题!