네트워크 문제 해결
네트워킹 문제는 진단하고 해결하기가 매우 어려울 수 있습니다. 예를 들어 Wi-Fi 네트워크가 로컬에서 제대로 작동하지만 인터넷과 연결이 끊어진 것을 알 수 있습니다. 이러한 경우 Azure Sphere 디바이스가 올바르게 업데이트되지 않는 것을 확인할 수 있습니다. 이 항목에서는 네트워킹 문제를 진단하는 데 도움이 될 수 있는 몇 가지 제안을 제공합니다.
네트워크 인터페이스 상태 확인
PowerShell, Windows 명령 프롬프트 또는 Linux 명령 셸을 사용하여 명령줄 인터페이스를 엽니다.
az sphere device network list-interfaces를 실행하여 연결된 디바이스에 대한 네트워크 인터페이스의 세부 정보를 나열합니다.
출력에는 디바이스에 대해 설정된 모든 인터페이스가 표시됩니다. 디바이스의 각 인터페이스에 대해 출력은 다음을 보여줍니다.
[ { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": null, "interfaceName": "azspheresvc", "interfaceUp": true, "ipAcquired": false, "ipAddresses": [ "192.168.35.2" ], "ipAssignment": null }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": "b2:30:bb:f0:d1:44", "interfaceName": "eth0", "interfaceUp": true, "ipAcquired": false, "ipAddresses": null, "ipAssignment": "dynamic" }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": null, "interfaceName": "lo", "interfaceUp": true, "ipAcquired": false, "ipAddresses": [ "127.0.0.1" ], "ipAssignment": null }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": "00:02:b5:03:69:ea", "interfaceName": "wlan0", "interfaceUp": true, "ipAcquired": false, "ipAddresses": null, "ipAssignment": "dynamic" } ]
인터페이스에 대한 다음 설정이 True인지 확인합니다.
네트워크 인터페이스를 위로. 이 설정이 False인 경우:
- 액세스 지점을 사용하는 로컬 디바이스가 연결되어 있는지 확인합니다. 자세한 내용은 Networking_IsNetworkingReady 함수를 참조 하세요.
- 네트워크 인터페이스가 사용하도록 설정되어 있는지 확인합니다. az sphere device network enable 명령을 사용하거나 Networking_SetInterfaceState Function API를 사용하여 필요한 인터페이스를 사용하도록 설정할 수 있습니다.
네트워크에 연결되었습니다. 이 설정이 False인 경우:
- az sphere device wifi show-status를 실행하여 Wi-Fi SSID 값이 디바이스 Wi-Fi 설정과 일치하는지 확인합니다.
- 네트워크를 검색하여 디바이스 설정의 SSID가 네트워크의 SSID와 일치하는지 확인합니다. 자세한 내용은 wifi scan 명령을 참조하세요.
- Wi-Fi 네트워크에 대한 SSID가 숨겨져 있고 애플리케이션이 대상 검색을 사용하는 경우 대상 검색이 사용하도록 설정되어 있는지 확인합니다.
IP 주소를 획득했습니다. 이 설정이 False인 경우:
- 연결이 만들어질 때까지 기다립니다.
- 네트워크를 확인하여 액세스 지점 및 네트워크의 다른 디바이스가 완전히 연결되어 있는지 확인합니다. 자세한 내용은 Networking_IsNetworkingReady 함수를 참조 하세요.
- 액세스 지점 및 네트워크에서 허용된 IP 주소의 범위 또는 허용된 연결의 제한을 확인합니다.
인터넷에 연결되었습니다. 이 설정이 False인 경우:
- 네트워크가 인터넷에 연결되어 있는지 확인합니다.
Wi-Fi 상태 확인
- PowerShell, Windows 명령 프롬프트 또는 Linux 명령 셸을 사용하여 명령줄 인터페이스를 엽니다.
- az sphere device wifi show-status를 실행하여 디바이스의 현재 Wi-Fi 연결에 대한 정보를 확인합니다.
다음과 비슷한 결과가 나타나야 합니다.
az sphere device wifi show-status
{
"SSID": "MSFTGUEST",
"configurationState": "enabled",
"connectionState": "connected",
"frequency": 5660,
"ipAddress": "10.106.106.40",
"keyManagement": "NONE",
"macAddress": "00:02:b5:03:69:ea",
"mode": "station",
"securityState": "open",
"wpaState": "COMPLETED"
}
연결 상태가 연결 끊김으로 설정된 경우 디바이스에서 Wi-Fi를 사용하도록 설정합니다.
네트워크 상태 확인
az sphere device network show-status를 실행하여 연결된 디바이스의 네트워크 상태를 확인합니다.
다음과 비슷한 결과가 나타나야 합니다.
az sphere device network show-status
{
"deviceAuthenticationIsReady": false,
"networkTimeSync": "incomplete",
"proxy": "disabled"
}
- 디바이스 인증이 준비되면 False를 반환합니다.
- 네트워크 시간 동기화 상태가 불완전한 상태를 반환하는 경우
- 연결이 만들어질 때까지 기다립니다.
- 인바운드 및 아웃바운드 트래픽을 허용하도록 네트워크가 구성되어 있는지 확인합니다. 자세한 내용은 포트 및 프로토콜을 참조 하세요.
방화벽 설정 확인
애플리케이션이 원격 호스트에 연결하지 못하는 경우:
- 애플리케이션의 방화벽 설정을 확인합니다.
애플리케이션 매니페스트는 기능을 설정
AllowedConnections
하여 애플리케이션이 연결할 수 있는 호스트 이름 또는 IP 주소를 지정해야 합니다. - 애플리케이션이 서비스 검색을 수행하도록 구성된 경우 애플리케이션 매니페스트의 항목 외에도 검색된 엔드포인트도 방화벽 구성에 나열되어야 합니다.
원격 호스트가 서버 애플리케이션에 연결할 수 없는 경우:
- 애플리케이션의 방화벽 설정을 확인합니다.
애플리케이션 매니페스트는 인바운드 연결에 대해 애플리케이션이 열려 있는 UDP 및
AllowedUdpServerPorts
TCP 포트를 지정AllowedTcpServerPorts
해야 합니다.
여전히 어려움이 있는 경우:
- az sphere device network list-firewall-rules를 실행하고 방화벽 규칙 및 애플리케이션 매니페스트 파일의 IP 주소가 일치하는지 확인합니다.
- 시스템 기본 연결이 기본적으로 있는지 확인합니다 .
네트워크 진단 가져오기
네트워크 오류가 발생하는 경우 두 가지 방법으로(WifiConfig API에 대한 호출 및 명령줄에서) 오류에 대한 진단 정보를 가져올 수 있습니다.
상위 수준 애플리케이션은 WifiConfig_GetNetworkDiagnostics 호출하여 문제에 대한 정보를 수집할 수 있습니다. 이 함수는 지정된 네트워크의 가장 최근 실패에 대한 세부 정보를 포함하는 WifiConfig_NetworkDiagnostics
구조체를 반환합니다. 진단 구조의 정보를 다음 팁과 결합하여 일반적인 네트워크 오류를 진단하고 복구합니다.
WiFi_HighLevelApp 샘플은 진단을 사용하는 방법을 보여 줍니다.
az sphere device network show-diagnostics 명령을 사용하여 마지막 오류에 대한 진단 정보를 표시할 수도 있습니다.
잘못된 네트워크 연결
디바이스가 잘못된 네트워크에 연결되어 있거나 연결되었지만 잘못된 특성이 있는 경우 네트워크 구성이 올바른지 확인합니다. 구성을 변경한 경우 다시 로드해야 합니다. 애플리케이션에서 WifiConfig_ReloadConfig 호출하거나 명령줄에서 az sphere device wifi reload-config 명령을 사용하여 현재 구성을 다시 로드합니다. 다시 부팅할 때 네트워크 구성이 유지되도록 하려면 앱에서 WifiConfig_PersistConfig 호출할 수 있습니다.
루트 CA 인증서 업데이트 문제
루트 CA 인증서를 업데이트한 후 디바이스가 EAP-TLS 네트워크에 연결할 수 없는 경우 WifiConfig_SetNetworkEnabled 함수에서 반환된 상태로 시작합니다.
상태가 루트 CA 인증서 오류를 나타내는 경우 다음 중 하나가 원인일 수 있습니다.
- 업데이트 프로세스 중에 이전 루트 CA1이 만료되거나 RADIUS 서버에서 변경되나요? 이 경우 새 루트 CA2가 올바르지 않을 수 있습니다.
- 서버 쪽에서 다른 오류가 발생했나요? 네트워크 관리자에게 문의하십시오. 관리자가 다른 또는 잘못된 인증 기관을 사용했을 수 있으며 이를 중앙에서 수정해야 할 수 있습니다.
상태가 클라이언트 인증서 오류를 나타내는 경우:
- 새 Network2의 구성이 Network1 속성과 동기화가 되었나요? 네트워크 1에서 속성이 변경되었지만 Network2에서 오래된 속성을 사용하여 연결하려고 하면 Network2가 연결되지 않을 수 있습니다. 두 네트워크에 대해 키 속성이 동일한지 확인합니다.
- 네트워크 업데이트 프로세스 중에 클라이언트 인증서가 변경했나요? Network1 및 Network2와 연결된 인증서를 확인하고 동일한지 확인합니다. 앱은 CertStore API의 함수를 사용하여 인증서 세부 정보를 검사할 수 있습니다.
루트 CA와 클라이언트 인증서가 모두 올바른 경우 실패는 Wi-Fi 액세스 지점 또는 다른 문제와 관련이 있을 수 있습니다.
문제에 대한 자세한 내용을 확인하기 위해 실패한 각 시도 후 WifiConfig_GetNetworkDiagnostics에서 반환된 데이터를 계속 확인합니다.
클라이언트 인증서 업데이트 문제
클라이언트 인증서를 업데이트한 후 디바이스가 EAP-TLS 네트워크에 연결할 수 없는 경우 WifiConfig_SetNetworkEnabled 함수에서 반환된 상태로 시작합니다.
상태가 클라이언트 인증서 오류를 나타내는 경우:
- 이전 인증서로 되돌리고 다시 연결합니다. 성공은 새 클라이언트 인증서에 문제가 있음을 나타냅니다. 실패는 새 인증서가 유효하지 않거나 이전 인증서가 중간에 만료되었음을 나타냅니다.
상태가 다른 유형의 오류를 나타내는 경우:
- 네트워크에 다른 문제가 발생하고 있습니까? 두 클라이언트 인증서를 사용하여 연결을 계속 시도합니다.
문제에 대한 자세한 내용을 확인하기 위해 실패한 각 시도 후 WifiConfig_GetNetworkDiagnostics에서 반환된 데이터를 계속 확인합니다.
SSID를 브로드캐스트하지 않는 5GHz 네트워크에 연결하는 문제
MT3620에는 대상 검색을 사용했음에도 불구하고 디바이스가 SSID를 브로드캐스트하지 않는 5GHz 네트워크에 연결할 수 없는 알려진 문제가 있습니다. SSID 브로드캐스트를 사용하지 않도록 설정하거나 2.4GHz 전용 네트워크에서 사용하지 않는 것이 좋습니다.