Solución de problemas de rutas de red - Segunda parte - Windows, macOS, FreeBSD
En la primera parte de esta guía, explicamos la perspectiva de depuración de redes desde el interior de una instancia que se ejecuta en Equinix Metal. En la mayoría de los casos, dichas instancias ejecutan un sistema operativo Linux, aunque no existe un requisito técnico estricto para ello. También podrían tener Windows u otros sistemas operativos basados en UNIX, como FreeBSD.
Por nuestra experiencia, sin embargo, sabemos que otros sistemas operativos que no son Linux se encuentran mucho más a menudo en el lado del cliente. Y mientras que en muchos casos, las desconfiguraciones del lado del servidor son la causa principal de un problema de conectividad, el lado del cliente también puede verse afectado por un problema técnico o una desconfiguración. Por lo tanto, esta segunda parte de nuestra guía de depuración de redes se centra tanto en el lado del cliente como en el lado del servidor en entornos que no utilizan Linux. Utilizando tres sistemas operativos diferentes, a saber, Windows, macOS y FreeBSD, le mostraremos los pasos y tecnologías de depuración más comunes.
Al igual que la primera guía sobre depuración de redes, esta guía también sirve como herramienta que nos ayudará a ayudarle si encuentra problemas mientras trabaja con Equinix Metal. Proporcionarnos la información a la que se hace referencia en este documento cuando se ponga en contacto con nuestro equipo de éxito del cliente nos dará mucha información que necesitamos para evaluar la situación y llegar a una solución.
Necesitará
- Equinix Metal Account and a server as the source or destination of the network traffic you are testing.
- Un servidor Equinix Metal que ejecute Windows Server (opcional).
- Una máquina cliente con Windows. (opcional)
- Una máquina cliente que ejecute macOS. (opcional)
- Un sistema local basado en BSD. (opcional)
Dado que esta guía cubre algunas posibilidades para su configuración, es posible que sólo tenga uno de los posibles sistemas mencionados. Tenga en cuenta que algunas herramientas pueden requerir acceso root/sudo para ejecutarse.
Depuración de Windows Server
Si está ejecutando Windows Server en Equinix Metal, la obtención de información sobre su situación de red es un poco diferente a la de un servidor Linux. Windows no dispone del comando mtr o equivalente y, desgraciadamente, WSLv1 tampoco admite el uso de mtr. Sin embargo, puede obtener información sobre la pérdida de paquetes y la latencia desde ping y la latencia y la ruta desde tracert.
ping
ping es un comando disponible en cmd y PowerShell que envía y recibe 4 paquetes, devolviendo estadísticas de pérdida de paquetes y tiempo total. Cuando las cosas funcionan con relativa normalidad, hacer ping a una dirección IP externa desde su servidor tendrá el siguiente aspecto:
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
Y hacer ping a tu servidor desde una IP externa se verá así:
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 sólo le ofrece la pérdida total de paquetes desde el origen hasta el destino y no incluye ningún detalle sobre en qué punto de la ruta su tráfico puede estar encontrando problemas. Es sólo una herramienta que le expondrá la pérdida de paquetes que se produce entre el origen y el destino.
tracert
Si necesita profundizar en los nodos a los que llega su tráfico, y si esos nodos están experimentando una alta latencia, puede utilizar tracert, también disponible en 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 traza la ruta desde su origen y su destino, haciendo un seguimiento de la latencia en cada nodo. La latencia se rastrea mostrando el tiempo de ida y vuelta para 3 paquetes TTL, lo que da una idea de la consistencia en cada nodo de la ruta.
La ruta de retorno es a menudo diferente de la ruta de salida, por lo que es útil comprobar ambas.
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.
Lamentablemente, no obtiene estadísticas de pérdida de paquetes de tracert. Pero ahora que tiene las direcciones IP a lo largo de la ruta, puede hacer ping a cada dirección IP para ver dónde puede estar experimentando pérdida de paquetes.
Esto no es tan conveniente como el cuadro todo en uno disponible para los usuarios de Linux a través de mtr, pero puede ayudarle a empezar a solucionar problemas de una manera similar.
Depuración de clientes Windows
Si se encuentra con problemas al conectarse a sus instancias de Equinix Metal desde clientes Windows, la buena noticia es que la depuración de clientes Windows funciona del mismo modo que la depuración de instancias de servidor Windows. Pruebe si puede alcanzar la IP de destino en Equinix Metal desde su cliente utilizando herramientas como ping y tracert. Puede acceder a estas herramientas escribiendo "cmd" en el campo de búsqueda de su escritorio de Windows, o utilizando PowerShell, instalado por defecto en la mayoría de las instancias modernas de Windows. Incluso si no tiene acceso a una cuenta de administrador en su ordenador, la mayoría de estas herramientas seguirán estando a su disposición a través de "cmd".
Tenga en cuenta que muchos clientes de Windows utilizan Microsoft Security Essentials u otro software de cortafuegos personal para aumentar el nivel de protección del dispositivo. Si este es su caso y usted no es el administrador de su dispositivo, consulte con su administrador para ver si el cortafuegos instalado está causando problemas.
Tenga en cuenta también que, en los equipos cliente Windows, es posible que a través de la interfaz gráfica de usuario pueda acceder a distintos datos sobre la configuración de su sistema. Por ejemplo, sus entradas de enrutamiento y su dirección IP se pueden encontrar en la entrada "TCP/IP" de las propiedades de su conexión de red actualmente activa. También puede encontrar allí información sobre los servidores DNS utilizados actualmente, lo que podría estar causando un problema si puede llegar a determinados hosts en Equinix Metal pero no a sus correspondientes entradas DNS.
Depuración de clientes macOS
Como macOS no ha estado disponible como sistema operativo de servidor desde hace bastante tiempo, la mayoría de los problemas asociados con macOS, si no todos, suelen producirse en los clientes. Al ser un sistema operativo de escritorio, por supuesto, la mayor parte de la información se puede obtener a través de la interfaz de usuario estándar de macOS. Echemos un vistazo a esto primero.
Configuración IP
Abra sus Preferencias del Sistema y haga clic en "Red". Verás una lista de los dispositivos de red existentes a tu izquierda.

Seleccione el que esté activo en ese momento (es decir, el que tenga un punto verde debajo) y haga clic en "Avanzado". Seleccione "TCP/IP". Aquí puedes ver qué direcciones IPv4 e IPv6 están asignadas actualmente a tu cliente.

Para hacer una captura de pantalla de la imagen, pulsa [control]+[shift]+[4] en tu teclado y pasa el puntero por encima de la ventana. Pulsa [Espacio]. La captura de pantalla estará después en tu carpeta "Escritorio".
Como alternativa, puede utilizar la línea de comandos para obtener detalles sobre la configuración de red de macOS. En Finder, haga clic en "Ir a / Utilidades" y haga doble clic en "Terminal". Ejecute ifconfig -a.
Al abrir un ticket con nuestro equipo de éxito del cliente, por favor asegúrese de proporcionar una captura de pantalla de su configuración de red o la salida de ifconfig -a a través de Copiar y Pegar.
ping
Para probar su conectividad a Internet en general y su conexión a una instancia en Equinix Metal en particular, utilice el comando ping en la línea de comandos.
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
El comando de ejemplo probará la conectividad a Internet a 8.8.8.8, que es uno de los servidores DNS públicos de Google. Introduzca aquí la dirección IP de su instancia de Equinix Metal para probar la conectividad entre su cliente y la instancia. Asegúrese de incluir la salida del programa al abrir un ticket con nuestro equipo de éxito del cliente.
traceroute
Traceroute está disponible como comando en los sistemas macOS. Sin embargo, Apple no ofrece ninguna representación gráfica, por lo que tendrás que recurrir a la interfaz de línea de comandos (es decir, al terminal).
En Finder, haga clic en "Ir a / Utilidades" y haga doble clic en "Terminal". Ejecute traceroute <target> y asegúrese de sustituir "target" por su dirección de destino, normalmente la dirección de su instancia 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
Si busca una variante más bonita de la utilidad traceroute, existe la utilidad mtr para macOS a través de la colección de herramientas Homebrew. Para instalar Homebrew, siga las instrucciones de la página web del proyecto en https://brew.sh/. Todos los comandos brew deben ejecutarse en la línea de comandos de macOS, y una vez instalado el propio Homebrew, brew install mtr instalará la variante más vistosa y cómoda de traceroute. Podrá invocarlo después utilizando mtr <address>, donde sustituirá "dirección" por una dirección IP o el nombre de host con el que desee contactar. Ejecutar mtr requerirá privilegios sudo en su máquina.
netstat
Un problema de conectividad puede ser indicativo de un problema en tu tabla de enrutamiento. Lamentablemente, las tablas de enrutamiento no tienen representación gráfica en macOS (como traceroute), por lo que tendrás que recurrir a la línea de comandos.
En Finder, haga clic en "Ir a / Utilidades" y haga doble clic en "Terminal". Ejecute "netstat -r". Por favor, asegúrese de incluir la salida completa de ese comando en una respuesta a nuestro equipo de éxito del cliente (o en la solicitud original cuando la abra).
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
FreeBSD es un sistema operativo bien establecido, basado en UNIX y uno de los grandes BSD del mercado (junto con NetBSD y OpenBSD). Se utiliza a menudo en servidores y a veces en ordenadores de sobremesa. Lo incluimos en esta guía para demostrar cómo podría funcionar la depuración de red en sistemas basados en UNIX (y en otros BSD también, posiblemente).
Lo que resulta útil es que muchos comandos de FreeBSD son similares a los de macOS -dado que el núcleo de macOS, el kernel del sistema operativo Darwin, tiene raíces en FreeBSD, eso tiene sentido.
Configuración IP
En servidores y clientes, el comando para obtener una visión general de su configuración de red FreeBSD es ifconfig -a. Cuando abra un ticket con nuestro equipo de éxito del cliente, por favor especifique si está utilizando FreeBSD en la instancia de Equinix Metal o en su cliente local y asegúrese de proporcionar la salida de ifconfig -a en su ticket.
ping
La orden ping para comprobar la alcanzabilidad de hosts remotos funciona exactamente igual que en FreeBSD. ping 8.8.8.8 comprobaría si los servidores DNS públicos de Google son alcanzables desde el host donde ejecute la orden, y ping 139.178.82.70 comprobaría la alcanzabilidad de la dirección 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
La funcionalidad del comando traceroute es idéntica a la del mismo comando en macOS. Abra una línea de comandos e introduzca traceroute 139.178.82.70 para averiguar el enrutamiento entre la máquina donde ejecuta el comando y el 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
El programa mtr está disponible en FreeBSD a través de la colección de ports. Asegúrese de que tiene la colección de ports instalada en su sistema y vaya al directorio /usr/ports/net/mtr abriendo una línea de comandos y ejecutando el comando cd /usr/ports/net/mtr. A continuación, ejecute make install. Después, mtr estará disponible, requiriendo los mismos parámetros que soporta en macOS cuando se instala usando Homebrew o en Linux.
netstat
Para obtener una lista de todas las rutas actualmente establecidas en FreeBSD, utilice netstat -r dentro de una ventana de terminal. Cuando se le solicite, asegúrese de incluir estos detalles en su ticket con soporte.
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