Solução de problemas de caminho de rede - Parte dois - Windows, macOS, FreeBSD
Na primeira parte deste guia, explicamos a perspectiva de depuração de rede de dentro de uma instância em execução no Equinix Metal. Na maioria dos casos, essas instâncias executam um sistema operacional Linux, embora não haja um requisito técnico estrito para isso. Elas poderiam igualmente executar o Windows ou outros sistemas operacionais baseado em UNIX, como o FreeBSD.
No entanto, pela nossa experiência, sabemos que outros sistemas operacionais não Linux são muito mais frequentemente encontrados no lado do cliente. E embora, em muitos casos, configurações incorretas no lado do servidor sejam a causa raiz de um problema de conectividade, o lado do cliente também pode ser afetado por um problema técnico ou uma configuração incorreta. Portanto, esta segunda parte do nosso guia de depuração de rede se concentra tanto no lado do cliente quanto no lado do servidor em ambientes que não utilizam Linux. Usando três sistemas operacionais diferentes, Windows, macOS e FreeBSD, você as etapas e tecnologias de depuração mais comuns.
Assim como o primeiro guia sobre depuração de rede, este guia também serve como uma ferramenta que nos ajudará a ajudar você caso você problemas ao trabalhar com o Equinix Metal. Fornecer as informações mencionadas neste documento ao entrar em contato com nossa equipe de sucesso do cliente nos dará muitos insights necessários para avaliar a situação e alcance uma solução.
Você vai precisar
- Equinix Metal Account and a server as the source or destination of the network traffic you are testing.
- Um servidor Equinix Metal executando o Windows Server (opcional).
- Uma máquina cliente executando o Windows. (opcional)
- Uma máquina cliente executando macOS. (opcional)
- Um sistema local baseado em BSD. (opcional)
Como este guia aborda algumas possibilidades para sua configuração, você pode ter apenas um dos sistemas mencionados. Observe que algumas ferramentas podem exigir acesso root/sudo para serem executadas.
Depuração do Windows Server
Se você estiver executando o Windows Server no Equinix Metal, obter informações sobre sua situação de rede é um pouco diferente de um servidor Linux. O Windows não possui mtr ou comando equivalente e, infelizmente, o WSLv1 também não suporte o uso de mtr. No entanto, você pode obter informações sobre perda de pacotes e latência com ping e latência e caminho com tracert.
ping
O comando ping está disponível no cmd e no PowerShell e envia e recebe 4 pacotes, retornando estatísticas de perda de pacotes e tempo total. Quando tudo está funcionando normalmente, o ping de um endereço IP externo a partir do seu servidor será semelhante a este:
Microsoft Windows [Version 10.0.17763.2565]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\Admin>ping 76.113.250.165
Pinging 76.113.250.165 with 32 bytes of data:
Reply from 76.113.250.165: bytes=32 time=40ms TTL=51
Reply from 76.113.250.165: bytes=32 time=39ms TTL=51
Reply from 76.113.250.165: bytes=32 time=39ms TTL=51
Reply from 76.113.250.165: bytes=32 time=39ms TTL=51
Ping statistics for 76.113.250.165:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 39ms, Maximum = 40ms, Average = 39ms
E fazer ping no seu servidor a partir de um IP externo será algo como:
Microsoft Windows [Version 10.0.19043.1526]
(c) Microsoft Corporation. All rights reserved.
C:\Users\User>ping 139.178.82.70
Pinging 139.178.82.70 with 32 bytes of data:
Reply from 139.178.82.70: bytes=32 time=40ms TTL=111
Reply from 139.178.82.70: bytes=32 time=40ms TTL=111
Reply from 139.178.82.70: bytes=32 time=40ms TTL=111
Reply from 139.178.82.70: bytes=32 time=42ms TTL=111
Ping statistics for 139.178.82.70:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 40ms, Maximum = 42ms, Average = 40ms
ping apenas você a perda total de pacotes da origem ao destino e não inclui detalhes sobre onde, no caminho, seu tráfego pode estar encontrando problemas. É apenas uma ferramenta que expõe a perda de pacotes que ocorre entre a origem e o destino.
tracert
Se você precisar investigar quais nós seu tráfego está atingindo e se esses nós estão experimentando alta latência, você pode usar tracert, também disponível no PowerShell.
C:\Users\Admin>tracert 76.113.250.165
Tracing route to c-76-113-250-165.hsd1.mn.comcast.net [76.113.250.165]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 169.254.29.1
2 <1 ms <1 ms <1 ms 10.253.57.204
3 1 ms <1 ms <1 ms 10.253.56.9
4 1 ms 1 ms 1 ms dls-b22-link.ip.twelve99.net [62.115.176.218]
5 * * * Request timed out.
6 * * * Request timed out.
7 1 ms 1 ms 1 ms comcast-ic359572-dls-b23.ip.twelve99-cust.net [80.239.160.214]
8 1 ms 1 ms 1 ms be-3411-cs04.dallas.tx.ibone.comcast.net [96.110.34.93]
9 2 ms 1 ms 1 ms be-1412-cr12.dallas.tx.ibone.comcast.net [68.86.166.126]
10 18 ms 18 ms 18 ms be-302-cr12.1601milehigh.co.ibone.comcast.net [96.110.38.101]
11 18 ms 19 ms 18 ms be-1212-cs02.1601milehigh.co.ibone.comcast.net [96.110.39.85]
12 34 ms 34 ms 34 ms 96.110.40.102
13 34 ms 34 ms 34 ms te-0-2-0-0-sur01.edina.mn.minn.comcast.net [69.139.176.210]
14 34 ms 34 ms 34 ms po-1-xar01.crosstown.mn.minn.comcast.net [68.86.232.206]
15 34 ms 34 ms 34 ms po-1-rur201.crosstown.mn.minn.comcast.net [68.87.175.14]
16 35 ms 48 ms 39 ms 68.85.201.178
17 40 ms 45 ms 38 ms c-76-113-250-165.hsd1.mn.comcast.net [76.113.250.165]
Trace complete.
tracert rastreia a rota da sua origem e destino, monitorando a latência em cada nó. A latência é rastreada exibindo o tempo de ida e volta para 3 pacotes TTL, o que fornece uma noção da consistência em cada nó da rota.
O caminho de retorno geralmente é diferente do caminho de saída, por isso é útil verificar ambos.
Microsoft Windows [Version 10.0.19043.1526]
(c) Microsoft Corporation. All rights reserved.
C:\Users\User>tracert 139.178.82.70
Tracing route to network-path-troubleshooting [139.178.82.70]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.1
2 41 ms 13 ms 8 ms 172.30.121.131
3 7 ms 8 ms 8 ms 68.85.201.185
4 7 ms 8 ms 8 ms po-200-xar02.crosstown.mn.minn.comcast.net [68.86.233.185]
5 9 ms 10 ms 14 ms 68.87.175.9
6 10 ms 11 ms 10 ms 162.151.138.5
7 19 ms 18 ms 20 ms be-37041-cs04.350ecermak.il.ibone.comcast.net [96.110.43.13]
8 20 ms 20 ms 29 ms be-2411-pe11.350ecermak.il.ibone.comcast.net [96.110.33.206]
9 23 ms 23 ms 21 ms 62.115.54.21
10 * * * Request timed out.
11 39 ms 49 ms 40 ms dls-b24-link.ip.twelve99.net [62.115.136.46]
12 55 ms 40 ms 39 ms packethost-ic346115-dls-b22.ip.twelve99-cust.net [62.115.176.219]
13 * * * Request timed out.
14 * * * Request timed out.
15 39 ms 40 ms 40 ms network-path-troubleshooting [139.178.82.70]
Trace complete.
Infelizmente, você não obtém estatísticas de perda de pacotes de tracert. Mas agora que você tem os endereços IP ao longo do caminho, você pode pingar cada endereço IP para ver onde você pode estar tendo perda de pacotes.
Isso não é tão conveniente quanto a imagem tudo-em-um disponível para usuários Linux através de mtr, mas pode ajudar você a começar a solucionar problemas de maneira semelhante.
Depuração de clientes Windows
Se você encontrar problemas ao se conectar às suas instâncias Equinix Metal a partir de clientes Windows, a boa notícia é que a depuração de clientes Windows funciona da mesma forma que a depuração de instâncias de servidor Windows . Teste se você consegue alcance o IP de destino no Equinix Metal a partir do seu cliente usando ferramentas como ping e tracert. Você pode acesso essas ferramentas digitando “cmd” no campo de busca da sua área de trabalho do Windows ou usando o PowerShell, instalado por padrão na maioria das instâncias Windows modernas. Mesmo que você não tenha acesso a uma conta de administrador no seu computador, a maioria dessas ferramentas ainda estará disponível para você através do “cmd”.
Lembre-se de que muitos clientes Windows usam o Microsoft Security Essentials ou outro software de firewall pessoal para aumentar o nível de proteção do dispositivo. Se esse for o seu caso e você não for o administrador do seu dispositivo, consulte o administrador para verificar se o firewall instalado está causando problemas.
Observe também que diferentes informações sobre a configuração do seu sistema também podem estar disponíveis por meio da interface gráfica do usuário em máquinas clientes Windows. Por exemplo, suas entradas de roteamento e seu endereço IP podem ser encontrados na entrada "TCP/IP" das propriedades da sua conexão de rede ativa no momento. Você também pode encontrar informações sobre os servidores DNS usados no momento, o que pode estar causando problemas se você conseguir alcance determinados hosts no Equinix Metal, mas não as entradas DNS correspondentes.
Depuração de clientes macOS
Como o macOS não está disponível como sistema operacional para servidores há algum tempo, a maioria, senão todos os problemas associados ao macOS, geralmente ocorrem em clientes. Sendo um sistema operacional para desktop, é claro que a maioria das informações pode ser coletada por meio da interface de usuário padrão do macOS. Vamos dar uma olhada nisso primeiro.
Configuração de IP
Abra as Preferências do Sistema e clique em “Rede”. Você verá uma lista de dispositivos de rede existentes à sua esquerda.

Selecione o endereço ativo no momento (ou seja, aquele com um ponto verde abaixo) e clique em "Avançado". Selecione "TCP/IP". Aqui, você pode ver quais endereços IPv4 e IPv6 estão atualmente atribuídos ao seu cliente.

Para tirar uma captura de tela da imagem, pressione [control]+[shift]+[4] no teclado e passe o cursor sobre a janela. Pressione [espaço]. A captura de tela estará na sua pasta "Área de Trabalho".
Alternativamente, você pode usar a linha de comando para obter detalhes sobre a configuração de rede do macOS. No Finder, clique em “Ir para / Utilitários” e clique duas vezes em “Terminal”. Execute ifconfig -a.
Ao abrir um chamado com nossa equipe de sucesso do cliente, certifique-se de fornecer uma captura de tela da sua configuração de rede ou a saída de ifconfig -a por meio de copiar e colar.
ping
Para testar sua conectividade com a internet em geral e sua conexão com uma instância no Equinix Metal especificamente, use o comando ping na linha de comando.
mloschwitz@mbp ~$ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=119 time=18.501 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=15.090 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=119 time=13.750 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=119 time=14.305 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 13.750/15.412/18.501/1.846 ms
O comando de exemplo testará a conectividade com a internet em 8.8.8.8, que é um dos servidores DNS públicos do Google. Insira o endereço IP da sua instância do Equinix Metal aqui para testar a conectividade entre o seu cliente e a instância. Certifique-se de incluir a saída do programa ao abrir um ticket com nossa equipe de sucesso do cliente.
traceroute
O Traceroute está disponível como um comando em sistemas macOS, pronto para uso. No entanto, não há uma representação gráfica fornecida pela Apple, então você terá que recorrer à interface de linha de comando (ou seja, o terminal).
No Finder, clique em “Ir para / Utilitários” e clique duas vezes em “Terminal”. Execute traceroute <target> e certifique-se de substituir “target” pelo endereço de destino, geralmente o endereço da sua instância Equinix .
mloschwitz@mbp: ~$ traceroute 139.178.82.70
traceroute to 139.178.82.70 (139.178.82.70), 64 hops max, 52 byte packets
1 speedport.ip (192.168.2.1) 9.062 ms 5.931 ms 3.295 ms
2 p3e9bf1ac.dip0.t-ipconnect.de (62.155.241.172) 9.566 ms 8.038 ms 8.078 ms
3 217.5.117.34 (217.5.117.34) 14.226 ms 14.545 ms 12.501 ms
4 217.5.117.34 (217.5.117.34) 14.152 ms 12.571 ms 12.203 ms
5 80.157.204.58 (80.157.204.58) 15.995 ms 16.515 ms 15.120 ms
6 ae11.cr8-dal3.ip4.gtt.net (213.200.115.30) 135.016 ms 127.420 ms 128.161 ms
7 ip4.gtt.net (74.199.177.14) 141.398 ms 125.649 ms 126.382 ms
8 * * *
mtr
Se você procura uma variante mais elegante do utilitário traceroute, o utilitário mtr está disponível para macOS através do pacote de ferramentas Homebrew. Para instalar o Homebrew, siga as instruções no website do projeto em https://brew.sh/. Todos os comandos do brew precisam ser executados na linha de comando do macOS e, uma vez instalado o Homebrew, brew install mtr instalará a variante mais colorida e conveniente de traceroute. Você poderá invocá-la posteriormente usando mtr <address>, você “address” por um endereço IP ou pelo nome do host que deseja contatar. A execução do mtr exigirá privilégios de sudo em sua máquina.
netstat
Um problema de conectividade pode indicar um problema na sua tabela de roteamento. Infelizmente, tabelas de roteamento não têm uma representação gráfica no macOS (como o traceroute), portanto, você terá que recorrer à linha de comando novamente.
No Finder, clique em "Ir para / Utilitários" e clique duas vezes em "Terminal". Execute "netstat -r". Certifique-se de incluir o resultado completo desse comando em uma resposta à nossa equipe de sucesso do cliente (ou na solicitar original ao abri- você ).
mloschwitz@mbp ~$ netstat -r
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default speedport.ip UGScg en0
127 localhost UCS lo0
localhost localhost UH lo0
169.254 link#13 UCS en0 !
192.168.2 link#13 UCS en0 !
192.168.2.1/32 link#13 UCS en0 !
FreeBSD
O FreeBSD é um sistema operacional baseado em UNIX bem estabelecido e um dos maiores BSDs do mercado (junto com o NetBSD e o OpenBSD). É frequentemente usado em servidores e, às vezes, em desktops. Estamos incluindo este recurso neste guia para demonstrar como a depuração de rede pode funcionar em sistemas baseado em UNIX (e possivelmente em outros BSDs).
O que é útil é que muitos comandos no FreeBSD são semelhantes aos do macOS – dado que o núcleo do macOS, o kernel do sistema operacional Darwin, tem raízes no FreeBSD, isso faz sentido.
Configuração de IP
Em servidores e clientes, o comando para obter uma visão geral da sua configuração de rede FreeBSD é ifconfig -a. Ao abrir um chamado com nossa equipe de sucesso do cliente, especifique se você está usando o FreeBSD na instância Equinix Metal ou em seu cliente local e certifique-se de fornecer a saída de ifconfig -a em seu chamado.
ping
O comando ping para verificar a acessibilidade de hosts remotos funciona exatamente da mesma forma que no FreeBSD. ping 8.8.8.8 verificaria se os servidores DNS públicos do Google são acessíveis a partir do host onde você executa o comando e ping 139.178.82.70 verificaria a acessibilidade do endereço IP 139.178.82.70.
root@vserver1:~ # ping -c 4 139.178.82.70
PING 139.178.82.70 (139.178.82.70): 56 data bytes
64 bytes from 139.178.82.70: icmp_seq=0 ttl=128 time=135.466 ms
64 bytes from 139.178.82.70: icmp_seq=1 ttl=128 time=133.597 ms
64 bytes from 139.178.82.70: icmp_seq=2 ttl=128 time=135.923 ms
64 bytes from 139.178.82.70: icmp_seq=3 ttl=128 time=132.125 ms
--- 139.178.82.70 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 132.125/134.278/135.923/1.518 ms
traceroute
A funcionalidade do comando traceroute é idêntica à funcionalidade do mesmo comando no macOS. Abra uma linha de comando e digite traceroute 139.178.82.70 para descobrir o roteamento entre a máquina onde você executa o comando e o host de destino.
mloschwitz@vserver1: ~$ traceroute 139.178.82.70
traceroute to 139.178.82.70 (139.178.82.70), 64 hops max, 40 byte packets
1 speedport.ip (192.168.2.1) 10.062 ms 5.931 ms 3.295 ms
2 p3e9bf1ac.dip0.t-ipconnect.de (62.155.241.172) 9.566 ms 8.038 ms 8.078 ms
3 217.5.117.34 (217.5.117.34) 14.226 ms 14.545 ms 12.501 ms
4 217.5.117.34 (217.5.117.34) 14.152 ms 12.571 ms 12.203 ms
5 80.157.204.58 (80.157.204.58) 15.995 ms 16.515 ms 15.120 ms
6 ae11.cr8-dal3.ip4.gtt.net (213.200.115.30) 135.016 ms 127.420 ms 128.161 ms
7 ip4.gtt.net (74.199.177.14) 141.398 ms 125.649 ms 126.382 ms
8 * * *
mtr
O programa mtr está disponível no FreeBSD através da coleção de portas . Certifique-se de você a coleção de portas instalada em seu sistema e acesse o diretório /usr/ports/net/mtr abrindo um prompt de comando e executando o comando cd /usr/ports/net/mtr. Em seguida, execute make install. Depois disso, mtr estará disponível, exigindo os mesmos parâmetros que suporta no macOS quando instalado via Homebrew ou no Linux.
netstat
Para obter uma lista de todas as rotas atualmente estabelecidas no FreeBSD, use netstat -r em uma janela de terminal. Quando solicitado, certifique-se de incluir esses detalhes em seu ticket de suporte.
mloschwitz@vserver1:~ $ netstat -r
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default prl-local-ns-serve UGS vtnet0
10.211.55.0/24 link#1 U vtnet0
freebsd-13.1-rc3-a link#1 UHS lo0
localhost link#2 UH lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 localhost UGRS lo0
default fe80::21c:42ff:fe0 UG vtnet0
localhost link#2 UHS lo0
::ffff:0.0.0.0/96 localhost UGRS lo0
fdb2:2c26:f4e4::/6 link#1 U vtnet0
fdb2:2c26:f4e4:0:2 link#1 UHS lo0
fe80::/10 localhost UGRS lo0
fe80::%vtnet0/64 link#1 U vtnet0
fe80::21c:42ff:fe4 link#1 UHS lo0
fe80::%lo0/64 link#2 U lo0
fe80::1%lo0 link#2 UHS lo0
ff02::/16 localhost UGRS lo0