Solucionar problemas de rede
Problemas de rede podem ser notoriamente difíceis de diagnosticar e resolve. Por exemplo, você pode descobrir que sua rede Wi-Fi está funcionando bem localmente, mas está desconectada da Internet. Nesse caso, você pode descobrir que o dispositivo do Azure Sphere não está sendo atualizado corretamente. Este tópico fornece algumas sugestões que podem ajudar a diagnosticar problemas de rede.
Verifique o status de interface de rede
Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux.
Execute azsphere device network list-interfaces para listar os detalhes das interfaces de rede para o dispositivo anexado.
A saída exibe todas as interfaces configuradas para seu dispositivo. Para cada interface no dispositivo, a saída mostra o seguinte:
azsphere device network list-interfaces ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ ----------------- InterfaceName InterfaceUp ConnectedToNetwork IpAcquired IpAddresses ConnectedToInternet IpAssignment HardwareAddress ======================================================================================================================== azspheresvc True False False <value> False None None ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ ----------------- eth0 True True True <value> True dynamic <value> ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ ----------------- lo True False False <value> False None None ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ ----------------- wlan0 True True True <value> True dynamic <value> ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
Verifique se as seguintes configurações para a interface são True.
Interface de rede para cima. Se essa configuração for False:
- Verifique se os dispositivos locais que usam o ponto de acesso estão conectados. Para obter mais informações, consulte Networking_IsNetworkingReady Função.
- Verifique se a interface de rede está habilitada. Você pode habilitar a interface necessária usando o comando habilitar a rede de dispositivos do azsphere ou usando a API de Função Networking_SetInterfaceState .
Conectado à rede. Se essa configuração for False:
- Execute azsphere device wi-status para marcar que o valor SSID Wi-Fi corresponda às configurações de Wi-Fi do dispositivo.
- Procure redes para verificar se o SSID nas configurações do dispositivo corresponde ao SSID em sua rede. Para obter mais informações, consulte comando de verificação wi-fi .
- Se o SSID para sua rede Wi-Fi estiver oculto e seu aplicativo depender de uma verificação direcionada, marcar essa verificação de destino estiver habilitada.
Endereço IP adquirido. Se essa configuração for False:
- Aguarde que uma conexão seja feita
- Verifique sua rede para ver se o ponto de acesso e outros dispositivos na rede estão totalmente conectados. Para obter mais informações, consulte Networking_IsNetworkingReady Função.
- Verifique o intervalo de endereços IP permitidos ou o limite de conexões permitidas em seu ponto de acesso e rede.
Conectado à Internet. Se essa configuração for False:
- Verifique se sua rede está conectada à Internet.
Verificar Wi-Fi status
- Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux.
- Execute azsphere device wi-status para exibir informações sobre a conexão Wi-Fi atual no dispositivo.
Você deve ver uma saída semelhante à seguinte:
azsphere device wifi show-status
----- ------------------ --------------- ------------- --------- ------- ------------- --------- ------------- -----------------
SSID ConfigurationState ConnectionState SecurityState Frequency Mode KeyManagement WpaState IpAddress MacAddress
================================================================================================================================
<value> enabled connected psk 2412 station WPA2-PSK COMPLETED <value> <value>
----- ------------------ --------------- ------------- --------- ------- ------------- --------- ------------- -----------------
Se o estado de conexão estiver definido como desconectado, habilite o Wi-Fi em seu dispositivo.
Verificar status de rede
Execute azsphere device network show-status para exibir o status de rede do dispositivo anexado.
Você deve ver uma saída semelhante à seguinte:
azsphere device network show-status
--------------------------- --------------- --------
DeviceAuthenticationIsReady NetworkTimeSync Proxy
====================================================
True complete disabled
--------------------------- --------------- --------
- Se a autenticação do dispositivo estiver pronta , retornará False,
- Reinicie seu dispositivo e tente o comando novamente
- Verifique se sua rede está configurada para permitir o tráfego de entrada e saída. Para obter mais informações, consulte Portas e Protocolos.
- Se a sincronização de tempo de rede status retornar Incompleta,
- Aguarde que uma conexão seja feita
- Verifique se sua rede está configurada para permitir o tráfego de entrada e saída. Para obter mais informações, consulte Portas e Protocolos.
Verificar as configurações de firewall
Se o aplicativo não se conectar a um host remoto:
- Verifique as configurações de firewall do aplicativo.
O manifesto do aplicativo deve especificar os nomes de host ou endereços IP aos quais o aplicativo pode se conectar, definindo o
AllowedConnections
recurso. - Se o aplicativo tiver sido configurado para executar a descoberta do serviço, além das entradas no manifesto do aplicativo, os pontos de extremidade descobertos também deverão ser listados na configuração de firewall.
Se os hosts remotos não puderem se conectar ao seu aplicativo de servidor:
- Verifique as configurações de firewall do aplicativo.
O manifesto do aplicativo deve especificar as portas UDP e TCP para as quais o aplicativo está aberto para conexões de entrada, definindo os
AllowedTcpServerPorts
recursos eAllowedUdpServerPorts
.
Se você ainda estiver tendo dificuldades:
- Execute azsphere device network list-firewall-rules e verifique se o endereço IP nas regras de firewall e o arquivo de manifesto do aplicativo correspondem.
- Verifique se as conexões padrão do sistema estão presentes por padrão.
Obter diagnóstico de rede
Quando ocorre uma falha de rede, você pode obter informações de diagnóstico sobre a falha de duas maneiras: por meio de uma chamada para a API WifiConfig e da linha de comando.
Um aplicativo de alto nível pode chamar WifiConfig_GetNetworkDiagnostics para coletar informações sobre o problema. Essa função retorna uma WifiConfig_NetworkDiagnostics
estrutura que contém detalhes sobre a falha mais recente na rede especificada. Combine as informações da estrutura diagnóstico com as dicas a seguir para diagnosticar e se recuperar de falhas comuns de rede.
O exemplo WiFi_HighLevelApp mostra como usar o diagnóstico.
Você também pode usar o comando azsphere device network show-diagnóstico para exibir informações de diagnóstico sobre o último erro.
Conexão de rede incorreta
Se o dispositivo estiver conectado à rede incorreta ou estiver conectado, mas com os atributos errados, verifique se a configuração de rede está correta. Se você alterou a configuração, você deve recarregá-la. Em um aplicativo, chame WifiConfig_ReloadConfig ou na linha de comando, use o comando azsphere device wifi reload-config para recarregar a configuração atual. Para garantir que a configuração de rede persista entre reinicializações, um aplicativo pode chamar WifiConfig_PersistConfig.
Problemas ao atualizar um certificado de AC raiz
Se o dispositivo não puder se conectar a uma rede EAP-TLS depois de atualizar o certificado de AC Raiz, comece com o status retornado pela função WifiConfig_SetNetworkEnabled.
Se o status indicar um erro de certificado raiz da AC, um dos seguintes pode ser a causa:
- O CA1 raiz antigo expirou ou foi alterado no servidor RADIUS durante o processo de atualização? Nesse caso, o novo CA2 raiz pode estar incorreto.
- Alguma outra falha ocorreu no lado do servidor? Verifique com o administrador de rede. O administrador pode ter usado uma autoridade de certificado diferente ou incorreta e talvez precise corrigir isso centralmente.
Se o status indicar um erro de certificado do cliente:
- A configuração da nova Rede2 estava fora de sincronização com as propriedades network1? Se as propriedades foram alteradas na Rede 1, mas você tentou se conectar usando propriedades desatualizadas na Rede2, a Rede2 poderá não se conectar. Verifique se as propriedades de chave são idênticas para as duas redes.
- O certificado do cliente foi alterado durante o processo de atualização de rede? Verifique os certificados associados a Network1 e Network2 e verifique se eles são os mesmos. Um aplicativo pode usar funções na API do CertStore para inspecionar os detalhes do certificado.
Se a AC Raiz e o certificado do cliente estiverem corretos, a falha poderá estar relacionada ao seu ponto de acesso Wi-Fi ou algum outro problema.
Continue marcar os dados retornados por WifiConfig_GetNetworkDiagnostics após cada tentativa fracassada de saber mais sobre o problema.
Problemas ao atualizar um certificado de cliente
Se o dispositivo não puder se conectar a uma rede EAP-TLS depois de atualizar o certificado do cliente, comece com o status retornado pela função WifiConfig_SetNetworkEnabled.
Se o status indicar um erro de certificado do cliente:
- Reverta para o certificado anterior e tente se reconectar. O sucesso indica um problema com o novo certificado do cliente; A falha indica que o novo certificado é inválido ou que o certificado antigo expirou nesse ínterim.
Se o status indicar algum outro tipo de erro:
- A rede está enfrentando outros problemas? Continue tentando se conectar com qualquer certificado de cliente.
Continue marcar os dados retornados por WifiConfig_GetNetworkDiagnostics após cada tentativa fracassada de saber mais sobre o problema.