Устранение неполадок с сетью
Проблемы с сетью, как известно, могут быть трудно диагностировать и устранить. Например, вы можете обнаружить, что 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 или API функции Networking_SetInterfaceState .
Подключено к сети. Если этот параметр имеет значение False, выполните следующие действия:
- Выполните команду az sphere device wifi show-status, чтобы проверка, что значение SSID Wi-Fi соответствует параметрам Wi-Fi устройства.
- Проверьте наличие сетей, чтобы убедиться, что SSID в параметрах устройства соответствует SSID в сети. Дополнительные сведения см. в статье Команда проверки wi-fi .
- Если SSID для Wi-Fi сети скрыт и приложение использует целевую проверку, проверка, что целевая проверка включена.
Полученный 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,
- Перезапустите устройство и повторите команду.
- Убедитесь, что сеть настроена так, чтобы разрешить входящий и исходящий трафик. Дополнительные сведения см. в разделе Порты и протоколы.
- Если состояние синхронизации сетевого времени возвращает неполный,
- Дождитесь подключения.
- Убедитесь, что сеть настроена так, чтобы разрешить входящий и исходящий трафик. Дополнительные сведения см. в разделе Порты и протоколы.
Проверка параметров брандмауэра
Если приложению не удается подключиться к удаленному узлу:
- Проверьте параметры брандмауэра приложения.
Манифест приложения должен указать имена узлов или IP-адреса, к которым приложение может подключаться, задав
AllowedConnections
возможность. - Если приложение настроено для выполнения обнаружения служб, помимо записей в манифесте приложения, обнаруженные конечные точки также должны быть перечислены в конфигурации брандмауэра.
Если удаленным узлам не удается подключиться к серверным приложениям:
- Проверьте параметры брандмауэра приложения.
Манифест приложения должен указать порты UDP и TCP, к которым приложение открыто для входящих подключений
AllowedTcpServerPorts
, задав возможности иAllowedUdpServerPorts
.
Если у вас по-прежнему возникают трудности:
- Выполните команду az sphere device network list-firewall-rules и убедитесь, что IP-адрес в правилах брандмауэра и файл манифеста приложения совпадают.
- Убедитесь, что системные подключения по умолчанию присутствуют.
Получение диагностика сети
При возникновении сбоя сети диагностические сведения о сбое можно получить двумя способами: с помощью вызова API WifiConfig и из командной строки.
Высокоуровневое приложение может вызывать WifiConfig_GetNetworkDiagnostics для сбора сведений о проблеме. Эта функция возвращает структуру WifiConfig_NetworkDiagnostics
, содержащую сведения о последнем сбое в указанной сети. Объедините сведения из структуры диагностика с приведенными ниже советами по диагностике и восстановлению после распространенных сбоев сети.
В примере WiFi_HighLevelApp показано, как использовать диагностика.
Вы также можете использовать команду az sphere device network show-диагностика для отображения диагностических сведений о последней ошибке.
Неправильное сетевое подключение
Если устройство подключено к неправильной сети или подключено, но с неправильными атрибутами, убедитесь, что конфигурация сети правильна. Если вы изменили конфигурацию, ее необходимо перезагрузить. В приложении вызовите WifiConfig_ReloadConfig или в командной строке используйте команду az sphere device wifi reload-config , чтобы перезагрузить текущую конфигурацию. Чтобы обеспечить сохранение конфигурации сети при перезагрузках, приложение может вызывать WifiConfig_PersistConfig.
Проблемы с обновлением сертификата корневого ЦС
Если устройству не удается подключиться к сети EAP-TLS после обновления сертификата корневого ЦС, начните с состояния, возвращенного функцией WifiConfig_SetNetworkEnabled .
Если состояние указывает на ошибку сертификата корневого ЦС, причиной может быть одна из следующих причин:
- Срок действия старого корневого ЦС1 истек или изменился на сервере RADIUS во время процесса обновления? В этом случае новый корневой ЦС2 может быть неправильным.
- Произошла ли другая ошибка на стороне сервера? Обратитесь к администратору сети. Администратор мог использовать другой или неправильный центр сертификации, и может потребоваться исправить это централизованно.
Если состояние указывает на ошибку сертификата клиента:
- Была ли конфигурация новой Network2 синхронизирована со свойствами Network1? Если свойства изменились в сети 1, но вы попытались подключиться с помощью устаревших свойств в Network2, подключение Network2 может завершиться ошибкой. Убедитесь, что свойства ключа идентичны для двух сетей.
- Изменился ли сертификат клиента в процессе обновления сети? Проверьте сертификаты, связанные с Network1 и Network2, и убедитесь, что они одинаковы. Приложение может использовать функции в API CertStore для проверки сведений о сертификате.
Если корневой ЦС и сертификат клиента верны, сбой может быть связан с вашей точкой доступа Wi-Fi или с какой-либо другой проблемой.
Продолжайте проверка данные, возвращаемые WifiConfig_GetNetworkDiagnostics после каждой неудачной попытки узнать больше о проблеме.
Проблемы с обновлением сертификата клиента
Если устройство не может подключиться к сети EAP-TLS после обновления сертификата клиента, начните с состояния, возвращаемого функцией WifiConfig_SetNetworkEnabled .
Если состояние указывает на ошибку сертификата клиента:
- Вернитесь к предыдущему сертификату и попробуйте повторно подключиться. Успешное выполнение указывает на проблему с новым сертификатом клиента; сбой означает, что новый сертификат является недопустимым или что срок действия старого сертификата истек в промежуточном периоде.
Если состояние указывает на ошибку другого типа:
- Возникают ли другие проблемы в сети? Продолжайте пытаться подключиться с помощью любого из сертификатов клиента.
Продолжайте проверка данные, возвращаемые WifiConfig_GetNetworkDiagnostics после каждой неудачной попытки узнать больше о проблеме.