Windows에서 WireGuard 서버의 공인 IP로 가는 SSH가 실패합니다
경로와 방화벽 규칙은 서로 다른 결정입니다. Windows에서는 /0 피어가 제한 규칙을 켜고, 터널 자체의 전송이 예외입니다.
서버의 공인 주소로 가는 SSH가 동작을 멈추는 동안 터널이 올라오면 서버가 연결을 거부하는 것처럼 보입니다. Windows에서 더 가능성 높은 원인은 로컬인데, 전체 터널 AllowedIPs가 /0이면 터널 자체의 전송과 아주 적은 것만 허용하는 제한적 방화벽 규칙이 켜집니다. 그 주소에 도달하는 암호화된 패킷은 같은 주소로 가는 별도 TCP 연결이 나갈 수 있는지에 대해 아무것도 말하지 않습니다.
피어 목록을 건드리기 전에 엔드포인트의 공인 주소와 그 내부 터널 주소를 분리하세요. AllowedIPs를 편집해 고치려는 거의 모든 시도는 경로를 올바르게 만드는 대신 정책을 약화시킵니다.
라우팅 허용과 방화벽 허용은 다릅니다
경로는 패킷이 어디로 보내질지를 정하고, 방화벽 규칙은 보내도 되는지를 정합니다. 그래서 엔드포인트의 공인 IP에 경로를 추가하면 필터가 여전히 막을 수 있는 길이 생기며, 이 증상이 만드는 혼란이 바로 그것입니다. Windows에서는 필터가 추가 기능이 아니라 구현의 일부이므로 어떤 경로 항목도 그것을 바꾸지 않습니다. 두 결정은 다른 곳에서도 분리되어 있지만 기본값은 다릅니다.
그래서 엔드포인트로의 traceroute는 성공해도 SSH 시도는 실패할 수 있습니다. 전자는 예외를 소유한 서비스가 나르고, 후자는 그렇지 않습니다.
Windows에서 /0이 하는 일
허용 주소가 전체 IPv4 공간을 덮는 피어가 하나뿐이면 WireGuard for Windows는 제한적 방화벽 태세를 적용해 그렇지 않으면 터널 밖으로 나갈 트래픽을 차단합니다. 터널 서비스 자체의 전송이 허용되는 것은 그렇지 않으면 VPN이 동작할 수 없기 때문입니다. 같은 공인 주소로 가는 다른 애플리케이션이 그런 허용을 받지 못하는 것은 예외가 주소가 아니라 전송에 속하기 때문입니다. Windows 네트워킹 참고 사항 이 동작과 편집기의 관련 제어를 설명합니다.
그 규칙들이 kill switch라는 표현 뒤에 있는 메커니즘입니다. 그것들은 그 이름의 체크박스가 아니라 구성의 형태로 활성화됩니다.
예외는 보호 모델을 바꿉니다
/0을 두 개의 절반 기본 프리픽스로 바꾸는 것은 제한적 의미론 없이 넓은 라우팅을 유지하는 문서화된 방법이며, 더 짧은 표기가 아니라 다른 보호 모델입니다. 허용 프리픽스에서 엔드포인트 주소를 빼는 것은 또 다른 흔한 우회책으로, 목록을 길게 하고 어떤 규칙이 활성화되는지도 바꿉니다. 둘 다 국소적 효과의 국소적 편집이 아닙니다. 각각은 머신의 모든 흐름에 대해 경계를 옮기며, 고치던 연결만이 아닙니다.
직접 공인 SSH가 정말 필요한 경우, 프로필 소유자는 외부 경로와 그 방화벽 허용을 모두 설계하고 터널이 끊길 때 무관한 트래픽이 어떻게 될지 결정해야 합니다. IPv4와 IPv6를 따로 검토하는 것도 규칙이 패밀리별로 표현되기 때문에 그 일부입니다. 관리 세션 하나를 구하려고 추가한 광범위한 우회는 보통 그 세션보다 더 많은 것을 노출합니다.
선택한 관리 경로를 시험하세요
먼저 관리가 터널 안으로 지나야 하는지 밖으로 지나야 하는지를 정하고, 그다음 둘을 동시에가 아니라 그 선택만 시험하세요. 아래 명령은 클라이언트 주소, 피어 상태, 각 대상으로의 연결을 확인합니다. 터널이 올라와 있는 동안 Windows 클라이언트에서 실행하세요.
ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22
내부 주소로의 SSH가 성공하면 터널이 관리 트래픽을 나르고 있으며 서버 자체의 방화벽이 피어 범위에서 그것을 받아들인다는 뜻입니다. 두 대상 모두에서 실패하면 Windows 라우팅이 아니라 서버 측이나 키 문제입니다. 내부 주소는 되고 외부 주소가 안 되면, 로컬 방화벽 태세 가 설계된 대로 동작하는 것입니다. 프로필을 편집하기 전에 세 결과를 그 순서로 읽으세요.
관리 경로, 사용한 주소, 터널이 내려갔을 때의 동작을 기록하세요. 그 메모가 다음 사람이 오 분을 아끼려고 우회를 넓히는 것을 막습니다.