多年来,我一直是 WireGuard 的忠实用户,从未遇到过任何问题。今天,似乎毫无缘由地,我开始遇到问题。
我wg-quick up $profile
以 root 身份运行,终端会话被锁定(ctrl+c/d 等不会终止它)。唯一的输出是[#] ip link add $profile type wireguard
。
这是我的配置:
PrivateKey = $privatekey
Address = 10.19.49.3/24,fd9d:bc11:4021::3/48
DNS = 172.16.0.1
[Peer]
PublicKey = $publickey
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = $ipaddress:$port
PersistentKeepalive = 25
(显然已填写 $variables)
我看了一下,dmesg
但其中一次也没有提到wireguard
。wg
我该怎么做?我没有看到--verbose
选项wg-quick
。有什么好的调试方法吗?
以下是进程列表:
root 432947 0.0 0.0 17000 7772 pts/5 S+ 10:17 0:00 sudo wg-quick up $profile
root 432948 0.0 0.0 8060 4244 pts/5 S+ 10:17 0:00 /bin/bash /usr/bin/wg-quick up $profile
root 925699 0.0 0.0 0 0 pts/5 Z+ 10:58 0:00 [wg-quick] <defunct>
附加到sudo wg-quick $profile up
进程(432947):
[#0] 0x7f96c084b34f → ppoll()
[#1] 0x7f96c099d169 → sudo_ev_loop_v1()
[#2] 0x563081408861 → add eax, 0x1
[#3] 0x56308140261c → xor r8d, r8d
[#4] 0x5630813eeb38 → mov ebx, eax
[#5] 0x7f96c0772310 → __libc_start_call_main()
[#6] 0x7f96c07723c1 → __libc_start_main_impl()
[#7] 0x5630813eeda5 → hlt
附加到[wg-quick] <defunct>
(925699):
warning: process 925699 is a zombie - the process has already terminated
ptrace: Operation not permitted.
注意:我丢失了服务器的 SSH 密钥,因此无法从那边进行调试,但 SSH 公钥被拒绝消息确认服务器确实仍在运行。
编辑:我刚刚测试过,如果我使用手机上的相同 WireGuard 配置,服务器就可以正常工作。我该如何调试此客户端?
答案1
首先,Table = off
在 下添加选项[Interface]
。由于您的 allowips 是 0.0.0.0/0,默认网关可能会更改为 wireguard 服务器,这会导致您失去 ssh 控制权。
使用Table = off
选项,您可能可以在启动 wg-quick 后恢复 shell 提示。然后您可以尝试使用 ping、traceroute 等网络工具,看看出了什么问题。