VPN 문제 해결 개요
가상 네트워크 게이트웨이는 온-프레미스 리소스와 Azure Virtual Network 간의 연결을 제공합니다. 통신이 끊어지지 않도록 가상 네트워크 게이트웨이 및 해당 연결을 모니터링하는 것이 중요합니다. Azure Network Watcher VPN 문제 해결은 가상 네트워크 게이트웨이 및 해당 연결 문제를 해결하는 기능을 제공합니다. VPN 문제 해결은 Azure Portal, Azure PowerShell, Azure CLI 또는 REST API를 통해 호출할 수 있습니다. 호출하면 Network Watcher가 게이트웨이 또는 연결의 상태를 진단하고 적절한 결과를 반환합니다. 요청은 장기 실행 트랜잭션입니다. 진단이 완료되면 결과가 반환됩니다.
지원되는 게이트웨이 유형
다음 표에는 Network Watcher 문제 해결로 지원되는 게이트웨이 및 연결이 나열되어 있습니다.
게이트웨이 또는 연결 | 지원됨 |
---|---|
게이트웨이 유형 | |
VPN | 지원됨 |
ExpressRoute | 지원되지 않음 |
VPN 유형 | |
경로 기반 | 지원됨 |
정책 기반 | 지원되지 않음 |
연결 유형 | |
IPsec | 지원됨 |
VNet2VNet | 지원됨 |
ExpressRoute | 지원되지 않음 |
VPNClient | 지원되지 않음 |
결과
반환되는 예비 결과는 전반적인 리소스 상태에 대한 정보를 제공합니다. 다음 섹션에 표시된 대로 리소스에 대한 심층적인 정보를 제공할 수 있습니다.
다음 목록은 VPN 문제 해결 API에서 반환되는 값입니다.
- startTime - 이 값은 문제 해결 API 호출이 시작된 시간입니다.
- endTime - 이 값은 문제 해결이 종료된 시간입니다.
- code - 단일 진단 오류가 발생할 경우 이 값은 UnHealthy입니다.
- results - 연결 또는Virtual Network 게이트웨이에 대해 반환되는 결과의 모음입니다.
- id - 이 값은 오류 유형입니다.
- summary - 이 값은 오류에 대한 요약입니다.
- detailed - 이 값은 오류에 대한 자세한 설명을 제공합니다.
- recommendedActions - 이 속성은 수행을 권장하는 조치의 모음입니다.
- actionText - 이 값은 수행할 조치를 설명하는 텍스트를 포함합니다.
- actionUri - 조치 방법에 대한 설명서로 연결되는 URI를 제공합니다.
- actionUriText - 이 값은 조치 텍스트에 대한 간단한 설명입니다.
다음 표에서는 발생할 수 있는 다양한 오류 유형(이전 목록에서 결과 아래의 id)과 오류 로그 생성 여부를 보여 줍니다.
게이트웨이
오류 유형 | 이유 | 로그 |
---|---|---|
NoFault | 오류가 발견되지 않은 경우 | 예 |
GatewayNotFound | 게이트웨이를 찾을 수 없거나 게이트웨이가 프로비전되지 않았습니다. | 아니요 |
PlannedMaintenance | 게이트웨이 인스턴스가 유지 관리되고 있습니다. | 아니요 |
UserDrivenUpdate | 이 오류는 사용자 업데이트를 진행 중인 경우 발생합니다. 업데이트는 크기 조정 작업일 수 있습니다. | 아니요 |
VipUnResponsive | 이 오류는 게이트웨이의 주 인스턴스가 상태 프로브 실패로 인해 연결할 수 없을 때 발생합니다. | 아니요 |
PlatformInActive | 플랫폼에 문제가 있습니다. | 아니요 |
ServiceNotRunning | 기본 서비스가 실행되고 있지 않습니다. | 아니요 |
NoConnectionsFoundForGateway | 게이트웨이에 연결이 존재하지 않습니다. 이 오류는 단지 경고일 뿐입니다. | 아니요 |
ConnectionsNotConnected | 연결이 연결되지 않았습니다. 이 오류는 단지 경고일 뿐입니다. | 예 |
GatewayCPUUsageExceeded | 현재 게이트웨이 CPU 사용량이 >95%를 초과했습니다. | 예 |
Connection
오류 유형 | 이유 | 로그 |
---|---|---|
NoFault | 오류가 발견되지 않은 경우 | 예 |
GatewayNotFound | 게이트웨이를 찾을 수 없거나 게이트웨이가 프로비전되지 않았습니다. | 아니요 |
PlannedMaintenance | 게이트웨이 인스턴스가 유지 관리되고 있습니다. | 아니요 |
UserDrivenUpdate | 이 오류는 사용자 업데이트를 진행 중인 경우 발생합니다. 업데이트는 크기 조정 작업일 수 있습니다. | 아니요 |
VipUnResponsive | 이 오류는 게이트웨이의 주 인스턴스가 상태 프로브 실패로 인해 연결할 수 없을 때 발생합니다. | 아니요 |
ConnectionEntityNotFound | 연결 구성이 없습니다. | 아니요 |
ConnectionIsMarkedDisconnected | 연결이 “연결 끊김”으로 표시되었습니다. | 아니요 |
ConnectionNotConfiguredOnGateway | 기본 서비스에 연결이 구성되어 있지 않습니다. | 예 |
ConnectionMarkedStandby | 기본 서비스가 대기로 표시되었습니다. | 예 |
인증 | 미리 공유한 키가 일치하지 않습니다. | 예 |
PeerReachability | 피어 게이트웨이에 연결할 수 없습니다. | 예 |
IkePolicyMismatch | 피어 게이트웨이에 Azure에서 지원되지 않는 IKE 정책이 있습니다. | 예 |
WfpParse Error | WFP 로그를 구문 분석하는 동안 오류가 발생했습니다. | 예 |
로그 파일
리소스 문제 해결 로그 파일은 리소스 문제 해결이 완료된 후 스토리지 계정에 저 됩니다. 다음 그림에서는 오류를 발생시킨 호출의 내용을 예를 들어 보여 줍니다.
참고 항목
- 일부 경우에는 로그 파일의 하위 집합만 스토리지에 기록됩니다.
- 최신 게이트웨이 버전의 경우 IkeErrors.txt, Scrubbed-wfpdiag.txt 및 wfpdiag.txt.sum은 오류뿐만 아니라 전체 IKE 작업을 포함하는 IkeLogs.txt 파일로 대체되었습니다.
Azure 스토리지 계정에서 파일을 다운로드하는 방법에 대한 지침은 블록 Blob 다운로드를 참조하세요. 사용할 수 있는 다른 도구는 Storage Explorer입니다. Azure Storage Explorer에 대한 자세한 내용은 Azure Storage Explorer를 사용하여 Blob 다운로드를 참조하세요.
ConnectionStats.txt
ConnectionStats.txt 파일에는 송/수신 바이트, 연결 상태 및 연결이 설정된 시간 등 연결의 전체 통계가 포함됩니다.
참고 항목
문제 해결 API에 대한 호출 결과가 정상일 경우 Zip 파일에 ConnectionStats.txt 파일만 반환됩니다.
이 파일의 내용은 다음 예제와 비슷합니다.
Connectivity State : Connected
Remote Tunnel Endpoint :
Ingress Bytes (since last connected) : 288 B
Egress Bytes (Since last connected) : 288 B
Connected Since : 2/1/2017 8:22:06 PM
CPUStats.txt
CPUStats.txt 파일에는 CPU 사용량 및 테스트 당시 사용 가능한 메모리 파일이 포함됩니다. 이 파일의 내용은 다음 예제와 비슷합니다.
Current CPU Usage : 0 % Current Memory Available : 641 MBs
IKElogs.txt
IKElogs.txt 파일에는 모니터링 중에 발견된 IKE 작업이 포함되어 있습니다.
다음 예제에서는 IKElogs.txt 파일의 콘텐츠를 보여 줍니다.
Remote <IPaddress>:500: Local <IPaddress>:500: [RECEIVED][SA_AUTH] Received IKE AUTH message
Remote <IPaddress>:500: Local <IPaddress>:500: Received Traffic Selector payload request- [Tsid 0x729 ]Number of TSIs 2: StartAddress 10.20.0.0 EndAddress 10.20.255.255 PortStart 0 PortEnd 65535 Protocol 0, StartAddress 192.168.100.0 EndAddress 192.168.100.255 PortStart 0 PortEnd 65535 Protocol 0 Number of TSRs 1:StartAddress 0.0.0.0 EndAddress 255.255.255.255 PortStart 0 PortEnd 65535 Protocol 0
Remote <IPaddress>:500: Local <IPaddress>:500: [SEND] Proposed Traffic Selector payload will be (Final Negotiated) - [Tsid 0x729 ]Number of TSIs 2: StartAddress 10.20.0.0 EndAddress 10.20.255.255 PortStart 0 PortEnd 65535 Protocol 0, StartAddress 192.168.100.0 EndAddress 192.168.100.255 PortStart 0 PortEnd 65535 Protocol 0 Number of TSRs 1:StartAddress 0.0.0.0 EndAddress 255.255.255.255 PortStart 0 PortEnd 65535 Protocol 0
Remote <IPaddress>:500: Local <IPaddress>:500: [RECEIVED]Received IPSec payload: Policy1:Cipher=DESIntegrity=Md5
IkeCleanupQMNegotiation called with error 13868 and flags a
Remote <IPaddress>:500: Local <IPaddress>:500: [SEND][NOTIFY] Sending Notify Message - Policy Mismatch
IKEErrors.txt
IKEErrors.txt 파일에는 모니터링 중에 발견된 IKE 오류가 포함됩니다.
다음 예제에서는 IKEErrors.txt 파일의 내용을 보여 줍니다. 오류는 문제에 따라 다를 수 있습니다.
Error: Authentication failed. Check shared key. Check crypto. Check lifetimes.
based on log : Peer failed with Windows error 13801(ERROR_IPSEC_IKE_AUTH_FAIL)
Error: On-prem device sent invalid payload.
based on log : IkeFindPayloadInPacket failed with Windows error 13843(ERROR_IPSEC_IKE_INVALID_PAYLOAD)
Scrubbed-wfpdiag.txt
Scrubbed wfpdiag.txt 로그 파일에는 wfp 로그가 포함됩니다. 이 로그에는 패킷 삭제 및 IKE/AuthIP 오류에 대한 기록이 포함됩니다.
다음 예제에서는 Scrubbed-wfpdiag.txt 파일의 내용을 보여 줍니다. 이 예제에서는 아래에서 세 번째 줄에서 볼 수 있듯이 연결의 사전 공유 키가 잘못되었습니다. 다음 예제는 전체 로그의 일부에 불과합니다. 로그는 문제에 따라 길어질 수 있습니다.
...
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Deleted ICookie from the high priority thread pool list
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| IKE diagnostic event:
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Event Header:
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Timestamp: 1601-01-01T00:00:00.000Z
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Flags: 0x00000106
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Local address field set
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Remote address field set
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| IP version field set
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| IP version: IPv4
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| IP protocol: 0
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Local address: 203.0.113.92
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Remote address: 203.0.113.36
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Local Port: 0
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Remote Port: 0
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Application ID:
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| User SID: <invalid>
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Failure type: IKE/Authip Main Mode Failure
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Type specific info:
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Failure error code:0x000035e9
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| IKE authentication credentials are unacceptable
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36|
[0]0368.03A4::02/02/2017-17:36:01.496 [ikeext] 3038|203.0.113.36| Failure point: Remote
...
wfpdiag.txt.sum
wfpdiag.txt.sum 파일은 버퍼 및 처리된 이벤트를 표시하는 로그입니다.
다음 예제는 wfpdiag.txt.sum 파일의 내용입니다.
Files Processed:
C:\Resources\directory\924336c47dd045d5a246c349b8ae57f2.GatewayTenantWorker.DiagnosticsStorage\2017-02-02T17-34-23\wfpdiag.etl
Total Buffers Processed 8
Total Events Processed 2169
Total Events Lost 0
Total Format Errors 0
Total Formats Unknown 486
Elapsed Time 330 sec
+-----------------------------------------------------------------------------------+
|EventCount EventName EventType TMF |
+-----------------------------------------------------------------------------------+
| 36 ikeext ike_addr_utils_c844 a0c064ca-d954-350a-8b2f-1a7464eef8b6|
| 12 ikeext ike_addr_utils_c857 a0c064ca-d954-350a-8b2f-1a7464eef8b6|
| 96 ikeext ike_addr_utils_c832 a0c064ca-d954-350a-8b2f-1a7464eef8b6|
| 6 ikeext ike_bfe_callbacks_c133 1dc2d67f-8381-6303-e314-6c1452eeb529|
| 6 ikeext ike_bfe_callbacks_c61 1dc2d67f-8381-6303-e314-6c1452eeb529|
| 12 ikeext ike_sa_management_c5698 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
| 6 ikeext ike_sa_management_c8447 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
| 12 ikeext ike_sa_management_c494 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
| 12 ikeext ike_sa_management_c642 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
| 6 ikeext ike_sa_management_c3162 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
| 12 ikeext ike_sa_management_c3307 7857a320-42ee-6e90-d5d9-3f414e3ea2d3|
고려 사항
- 구독당 한 번에 하나의 VPN 문제 해결 작업만 실행할 수 있습니다. 다른 VPN 문제 해결 작업을 실행하려면 기존 VPN이 완료되기를 기다립니다. 이전 작업이 완료되지 않은 동안 새 작업을 트리거하면 후속 작업이 실패합니다.
- Azure CLI를 사용하여 명령을 실행하는 경우 VPN Gateway 및 Storage 계정은 동일한 리소스 그룹에 있어야 합니다. 다른 리소스 그룹에 리소스가 있는 고객은 PowerShell 또는 Azure Portal을 대신 사용할 수 있습니다.