저는 몇 년 동안 행복한 WireGuard 사용자였으며 아무런 문제도 없었습니다. 오늘은 별 이유 없이 문제가 생기기 시작했습니다.
루트로 실행했는데 wg-quick up $profile
해당 터미널 세션이 잠겼습니다(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]
. 허용 IP가 0.0.0.0/0이므로 기본 게이트웨이가 Wireguard 서버로 변경될 수 있으며 이로 인해 SSH 제어가 손실될 수 있습니다.
옵션을 사용하면 Table = off
wg-quick을 시작한 후 쉘 프롬프트를 다시 얻을 수 있습니다. 그런 다음 ping, Traceroute 등과 같은 네트워크 도구를 사용해 보고 무엇이 잘못되었는지 확인할 수 있습니다.