Windows 터널이 실패하고 로그가 10051이라는 번호를 제시합니다. 이것은 WSAENETUNREACH이며, 소켓 작업이 대상까지 사용할 수 있는 경로를 찾지 못할 때 보고됩니다. 거부된 비밀번호도, 만료된 인증서도, 서버가 터널 패킷을 보고 거부했다는 증거도 아닙니다.

두 가지 다른 작업이 한 세션에서 이것을 만들 수 있습니다. 의미가 다르고 담당도 다릅니다.

코드가 알려주는 것과 알려주지 않는 것

이 오류는 로컬 결정을 설명합니다: 스택이 요청한 대상까지 경로를 찾지 못했으므로 작업은 컴퓨터를 떠나지 않았습니다. 이것은 경로에 대한 진술이며, 상대방이 당신의 자격 증명을 어떻게 보는지에 대한 것이 아닙니다. 인증 실패로 읽으면 인증서 저장소와 계정 재설정으로 향하게 됩니다 그들이 일으킬 수 없는 문제인데도 말입니다. 이 코드는 패킷이 전혀 전송되지 않았기 때문에 하위 방화벽이 패킷을 허용했는지도 말하지 않습니다.

기록할 때 주변 로그 줄을 함께 보관하세요. 번호만으로는 대상, 전송, 시점이 사라지고, 일주일 뒤 이 항목을 해석할 수 있게 하는 것은 이 세 가지 사실입니다.

어떤 작업이, 언제 실패했는가

클라이언트가 VPN의 외부 엔드포인트에 도달하려는 중의 오류는 터널이 설정된 뒤의 애플리케이션 실패와 다른 사례입니다. 전자에서는 서버로 가는 전송 경로가 없거나 제거되었습니다. 후자에서는 터널이 존재하고 그 안의 무언가가 요청한 대상을 확인하거나 라우팅할 수 없습니다. 같은 코드, 다른 계층, 다른 담당입니다. 연결 시도와의 시간 관계가 보통 어느 쪽인지 결정합니다.

오류만이 아니라 실패한 작업을 인용하세요: 어느 주소로, 어느 전송으로, 순서의 어느 지점에서 연결했는지. 그 표현이 두 번째 사람이 결정을 재현할 수 있게 합니다.

엔드포인트와 주소 패밀리를 비교하세요

확인된 대상, 전송, 포트를 기록하세요. 이름이 IPv4와 IPv6 주소를 모두 반환한다면, IPv4 확인이 성공해도 실패한 IPv6 시도에 대해서는 아무것도 설명하지 못합니다. 클라이언트가 시험해 보지 않은 패밀리를 쓰고 있을 수 있고, 다른 패밀리를 강제하면 실험을 고치는 대신 바꾸게 됩니다.

Resolve-DnsName vpn.example.net -Type A,AAAA
Find-NetRoute -RemoteIPAddress 198.51.100.62
Get-NetConnectionProfile

경로 쿼리는 현재 상태에서 그 대상에 대한 최선의 로컬 주소와 경로를 반환하므로, 장애가 있는 동안 실행하세요. 연결이 끊긴 어댑터, 바뀐 네트워크, 예상치 못한 경로는 모두 초기화 후에 다르게 보입니다. 두 번째 활성 터널이 엔드포인트 경로를 가로챌 수도 있으며, 그러면 한 클라이언트에만 이 코드가 나타납니다.

경로 응답이 무엇인지 기억하세요: 로컬 결정 하나일 뿐, 전송 허가가 아닙니다. 방화벽이 데이터그램을 받아들일지, 먼 쪽에서 무언가 듣고 있는지는 알려주지 못합니다.

다른 소켓 오류와 인계

오류 10054는 다른 보고이며, UDP 수신에서는 이전 전송과 관련된 ICMP 포트 도달 불가가 드러날 수 있습니다. 이것은 특정 대상 포트에 대한 메시지이지 경로가 없다는 선언이 아니며, 둘은 서로 다른 조사로 이어집니다. 모든 소켓 번호를 연결 실패의 변형으로 다루는 것이 빠진 경로를 클라이언트 재설치로 '고치는' 방식입니다.

유용한 인계에는 정확한 코드, 실패한 작업, 엔드포인트와 주소 패밀리, 선택된 경로, 네트워크 변경 시각이 포함됩니다. 입증된 경로 문제는 그 구성을 소유한 쪽을 통해 고치세요. 인증서를 교체하거나 상대 검증을 끄는 것은 존재하지 않는 경로를 제공할 수 없고, 둘 다 최종 진단을 어렵게 만듭니다.

관련 글