Skip to main content

Dépannage du chemin réseau, deuxième partie - Windows, macOS, FreeBSD

Dans la première partie de ce guide, nous avons expliqué la perspective de débogage réseau depuis l'intérieur d'une instance exécutée dans Equinix Metal. Dans la plupart des cas, ces instances utilisent un système d'exploitation Linux, bien qu'il n'y ait pas d'exigence technique stricte à ce sujet. Elles pourraient tout aussi bien avoir Windows ou d'autres systèmes d'exploitation basés sur UNIX tels que FreeBSD.

D'après notre expérience, cependant, nous savons que les systèmes d'exploitation autres que Linux se trouvent beaucoup plus souvent du côté du client. Et si, dans de nombreux cas, des erreurs de configuration côté serveur sont à l'origine d'un problème de connectivité, le côté client peut également être affecté par un problème technique ou une erreur de configuration. C'est pourquoi cette deuxième partie de notre guide de débogage des réseaux se concentre à la fois sur le côté client et le côté serveur des choses dans des environnements qui n'utilisent pas Linux. En utilisant trois systèmes d'exploitation différents, à savoir Windows, macOS et FreeBSD, nous vous montrerons les étapes et les technologies de débogage les plus courantes.

Comme le premier guide sur le débogage du réseau, ce guide sert également d'outil qui nous permettra de vous aider si vous rencontrez des problèmes en travaillant avec Equinix Metal. En nous fournissant les informations référencées dans ce document lorsque vous contactez notre équipe d'assistance à la clientèle, vous nous aiderez à évaluer la situation et à trouver une solution.

Vous aurez besoin de

  • Equinix Metal Account and a server as the source or destination of the network traffic you are testing.
  • Un serveur Metal d'Equinix exécutant Windows Server (facultatif).
  • Un ordinateur client fonctionnant sous Windows. (facultatif)
  • Un ordinateur client fonctionnant sous macOS. (facultatif)
  • Un système local basé sur BSD. (facultatif)

Étant donné que ce guide couvre plusieurs possibilités pour votre installation, il se peut que vous n'ayez qu'un seul des systèmes potentiels mentionnés. Notez que certains outils peuvent nécessiter un accès root/sudo pour fonctionner.

Débogage du serveur Windows

Si vous utilisez Windows Server sur Equinix Metal, obtenir des informations sur votre situation réseau est un peu différent d'un serveur Linux. Windows n'a pas de commande mtr ou équivalente, et malheureusement, WSLv1 ne prend pas non plus en charge l'utilisation de mtr. Vous pouvez cependant obtenir des informations sur la perte de paquets et la latence à partir de ping et sur la latence et le chemin à partir de tracert.

ping

ping est une commande disponible dans cmd et PowerShell qui envoie et reçoit 4 paquets, renvoyant des statistiques sur la perte de paquets et le temps total. Lorsque les choses fonctionnent relativement normalement, l'envoi d'un ping à une adresse IP externe à partir de votre serveur ressemblera à ce qui suit :

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

Et le ping de votre serveur à partir d'une IP externe ressemblera à ce qui suit :

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 ne vous donne que la perte totale de paquets de la source à la destination et n'inclut aucun détail sur l'endroit du chemin où votre trafic peut rencontrer des problèmes. Il s'agit simplement d'un outil qui met en évidence la perte de paquets survenant entre la source et la destination.

tracert

Si vous avez besoin de savoir quels nœuds sont touchés par votre trafic et si ces nœuds connaissent une latence élevée, vous pouvez utiliser tracert, également disponible dans 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 trace l'itinéraire entre votre source et votre destination, en tenant compte de la latence à chaque nœud. La latence est suivie en affichant le temps d'aller-retour pour 3 paquets TTL, ce qui donne une idée de la cohérence de l'itinéraire à chaque nœud.

Le chemin de retour est souvent différent du chemin de sortie, il est donc utile de vérifier les deux.

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.

Malheureusement, vous n'obtenez pas de statistiques sur la perte de paquets à partir de tracert. Mais maintenant que vous avez les adresses IP le long du chemin, vous pouvez envoyer un ping à chaque adresse IP pour voir où vous pouvez rencontrer une perte de paquets.

Cette solution n'est pas aussi pratique que l'image "tout-en-un" dont disposent les utilisateurs de Linux via mtr, mais elle peut vous aider à commencer à résoudre les problèmes de la même manière.

Débogage des clients Windows

Si vous rencontrez des problèmes lors de la connexion à vos instances Equinix Metal à partir de clients Windows, la bonne nouvelle est que le débogage des clients Windows fonctionne de la même manière que le débogage des instances de serveurs Windows. Testez si vous pouvez atteindre l'IP cible dans Equinix Metal à partir de votre client à l'aide d'outils tels que ping et tracert. Vous pouvez accéder à ces outils en tapant "cmd" dans le champ de recherche de votre bureau Windows, ou en utilisant PowerShell, installé par défaut sur la plupart des instances Windows modernes. Même si vous n'avez pas accès au compte administrateur sur votre ordinateur, la plupart de ces outils seront toujours disponibles via "cmd".

N'oubliez pas que de nombreux clients Windows utilisent Microsoft Security Essentials ou un autre logiciel de pare-feu personnel pour augmenter le niveau de protection de l'appareil. Si c'est le cas et que vous n'êtes pas l'administrateur de votre appareil, veuillez consulter votre administrateur pour voir si le pare-feu installé n'est pas à l'origine du problème.

Veuillez également noter que différentes informations sur la configuration de votre système peuvent également être disponibles via l'interface utilisateur graphique sur les machines clientes Windows. Par exemple, vos entrées de routage et votre adresse IP peuvent être trouvées dans l'entrée "TCP/IP" des propriétés de votre connexion réseau actuellement active. Vous pouvez également y trouver des informations sur les serveurs DNS actuellement utilisés, ce qui peut poser un problème si vous pouvez atteindre certains hôtes dans Equinix Metal mais pas leurs entrées DNS correspondantes.

Débogage des clients macOS

Comme macOS n'est plus disponible en tant que système d'exploitation serveur depuis un certain temps, la plupart des problèmes associés à macOS, si ce n'est tous, se produisent généralement sur les clients. Comme il s'agit d'un système d'exploitation de bureau, la plupart des informations peuvent être recueillies via l'interface utilisateur standard de macOS. Jetons d'abord un coup d'œil à ces dernières.

Configuration IP

Ouvrez vos préférences système et cliquez sur "Réseau". Vous verrez une liste de périphériques de réseau existants sur votre gauche.

Example Network Panel in MacOS

Sélectionnez celui qui est actuellement actif (c'est-à-dire celui avec un point vert en dessous) et cliquez sur "Avancé". Sélectionnez "TCP/IP". Ici, vous pouvez voir quelles adresses IPv4 et IPv6 sont actuellement attribuées à votre client.

Example IPv4 and IPv6 Address Assignments

Pour effectuer une capture d'écran de l'image, appuyez sur les touches [control]+[shift]+[4] de votre clavier et placez le pointeur sur la fenêtre. Appuyez sur [Espace]. La capture d'écran se trouvera ensuite dans votre dossier "Bureau".

Vous pouvez également utiliser la ligne de commande pour obtenir des détails sur la configuration de votre réseau macOS. Dans le Finder, cliquez sur "Aller à / Utilitaires" et double-cliquez sur "Terminal". Exécutez ifconfig -a.

Lorsque vous ouvrez un ticket avec notre équipe de succès client, assurez-vous de fournir une capture d'écran de votre configuration réseau ou la sortie de ifconfig -a via Copier et Coller.

ping

Pour tester votre connectivité internet en général et votre connexion à une instance d'Equinix Connect en particulier, utilisez la commande ping sur la ligne de commande.

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

La commande de l'exemple testera la connectivité Internet à 8.8.8.8, qui est l'un des serveurs DNS publics de Google. Insérez ici l'adresse IP de votre instance Equinix Metal pour tester la connectivité entre votre client et l'instance. N'oubliez pas d'inclure la sortie du programme lorsque vous ouvrez un ticket avec notre équipe de service clientèle.

traceroute

Traceroute est une commande disponible d'office sur les systèmes macOS. Cependant, Apple ne fournit pas de représentation graphique pour cette commande, vous devrez donc recourir à l'interface de ligne de commande (c'est-à-dire le terminal).

Dans le Finder, cliquez sur "Aller à / Utilitaires" et double-cliquez sur "Terminal". Exécutez traceroute <target> et veillez à remplacer " target " par votre adresse cible, généralement l'adresse de votre instance 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 vous recherchez une variante plus esthétique de l'utilitaire traceroute, l'utilitaire mtr existe pour macOS dans la collection d'outils Homebrew. Pour installer Homebrew, veuillez suivre les instructions figurant sur le site web du projet à l'adresse https://brew.sh/. Toutes les commandes brew doivent être exécutées sur la ligne de commande macOS, et une fois Homebrew lui-même installé, brew install mtr installera la variante plus colorée et plus pratique de traceroute. Vous pouvez l'invoquer par la suite en utilisant mtr <address> où vous remplacez "address" par une adresse IP ou le nom d'hôte que vous souhaitez contacter. L'exécution de mtr nécessitera le privilège sudo sur votre machine.

netstat

Un problème de connectivité peut indiquer un problème dans votre table de routage. Les tables de routage n'ont malheureusement pas de représentation graphique dans macOS (comme traceroute), vous devrez donc recourir à la ligne de commande pour cette fois encore.

Dans le Finder, cliquez sur "Go To / Utilities" et double-cliquez sur "Terminal". Exécutez "netstat -r". Veillez à inclure le résultat complet de cette commande dans une réponse à notre équipe chargée de la réussite des clients (ou dans la demande originale lorsque vous l'ouvrez).

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 est un système d'exploitation bien établi, basé sur UNIX, et l'un des principaux BSD du marché (avec NetBSD et OpenBSD). Il est souvent utilisé sur les serveurs et parfois sur les ordinateurs de bureau. Nous l'incluons dans ce guide pour montrer comment le débogage réseau peut fonctionner sur des systèmes basés sur UNIX (et sur d'autres BSD également, éventuellement).

Ce qui est pratique, c'est que de nombreuses commandes de FreeBSD sont similaires à celles de macOS - étant donné que le cœur de macOS, le noyau du système d'exploitation Darwin, a des racines FreeBSD, c'est logique.

Configuration IP

Sur les serveurs et les clients, la commande pour obtenir une vue d'ensemble de votre configuration réseau FreeBSD est ifconfig -a. Lorsque vous ouvrez un ticket avec notre équipe de réussite client, veuillez préciser si vous utilisez FreeBSD sur l'instance Metal d'Equinix ou sur votre client local et veillez à fournir la sortie de ifconfig -a dans votre ticket.

ping

La commande ping pour vérifier l'accessibilité des hôtes distants fonctionne exactement de la même manière que sous FreeBSD. ping 8.8.8.8 vérifie si les serveurs DNS publics de Google sont accessibles depuis l'hôte sur lequel vous exécutez la commande, et ping 139.178.82.70 vérifie l'accessibilité de l'adresse 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 fonctionnalité de la commande traceroute est identique à celle de la même commande sur macOS. Ouvrez une ligne de commande et entrez traceroute 139.178.82.70 pour déterminer le routage entre la machine sur laquelle vous exécutez la commande et l'hôte cible.

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

Le programme mtr est disponible sous FreeBSD via le catalogue des logiciels portés. Assurez-vous que le catalogue des logiciels portés est installé sur votre système et allez dans le répertoire /usr/ports/net/mtr en ouvrant une ligne de commande et en exécutant la commande cd /usr/ports/net/mtr. Ensuite, exécutez make install. Ensuite, mtr est disponible, nécessitant les mêmes paramètres qu'il supporte sur macOS lorsqu'il est installé à l'aide de Homebrew ou sur Linux.

netstat

Pour obtenir une liste de toutes les routes actuellement établies sous FreeBSD, utilisez netstat -r à l'intérieur d'une fenêtre de terminal. Si on vous le demande, assurez-vous d'inclure ces détails dans votre ticket avec le support.

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
Cette page vous a-t-elle été utile ?