Skip to main content

Dépannage des chemins réseau (2e partie) - Windows, macOS, FreeBSD

Dans la première partie de ce guide, nous avons expliqué le débogage réseau depuis une instance exécutée sur Equinix Metal. Dans la plupart des cas, ces instances fonctionnent sous Linux, bien que ce ne soit pas une obligation technique stricte. Elles pourraient tout aussi bien utiliser Windows ou d'autres systèmes d'exploitation de type UNIX, comme FreeBSD.

Notre expérience nous a appris que les systèmes d'exploitation autres que Linux sont bien plus souvent utilisés côté client. Si, dans de nombreux cas, les 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 mauvaise configuration. C'est pourquoi cette deuxième partie de notre guide de débogage réseau se concentre à la fois sur les côtés client et serveur dans les environnements non Linux. En utilisant trois systèmes d'exploitation différents, à savoir Windows, macOS et FreeBSD, nous vous présenterons les étapes et technologies de débogage les plus courantes.

Tout comme le premier guide sur le débogage réseau, ce guide nous servira d'outil pour vous aider si vous rencontrez des problèmes avec Equinix Metal. En nous fournissant les informations mentionnées dans ce document lorsque vous contactez notre équipe de réussite client, vous nous fournirez les informations nécessaires pour évaluer la situation et trouver une solution.

Vous aurez besoin

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

Étant donné que ce guide couvre quelques configurations possibles, il est possible que vous n'ayez qu'un seul des systèmes mentionnés. Notez que certains outils peuvent nécessiter un accès root/sudo pour fonctionner.

Débogage de Windows Server

Si vous utilisez Windows Server sur Equinix Metal, l'obtention d'informations sur votre réseau diffère légèrement de celle sur un serveur Linux. Windows n'a pas la commande mtr ni d'équivalent, et malheureusement, WSLv1 ne prend pas non plus en charge l'utilisation de mtr. Vous pouvez toutefois obtenir des informations sur la perte de paquets et la latence via ping, ainsi que sur la latence et le chemin du réseau via tracert.

ping

La commande ping, disponible dans cmd et PowerShell, permet d'envoyer et de recevoir 4 paquets, et de retourner des statistiques sur la perte de paquets et le temps total. En fonctionnement normal, un ping vers une adresse IP externe depuis votre serveur devrait ressembler à ceci:

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 envoyer un ping à votre serveur à partir d'une IP externe ressemblera à ceci:

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 indique seulement la perte totale de paquets entre la source et la destination, sans préciser à quel endroit du trajet le trafic rencontre des problèmes. Il s'agit simplement d'un outil pour détecter les pertes de paquets entre la source et la destination.

tracert

Si vous devez analyser en détail les nœuds que votre trafic atteint et si ces nœuds subissent 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 le chemin entre votre source et votre destination, en mesurant la latence à chaque nœud. Cette latence est calculée en affichant le temps d'aller-retour pour 3 paquets TTL, ce qui permet d'apprécier la régularité du trafic à chaque nœud du trajet.

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 ne pouvez pas obtenir de statistiques de perte de paquets depuis tracert. Mais maintenant que vous avez les adresses IP le long du chemin, vous pouvez faire un ping sur chaque adresse IP pour voir où vous rencontrez éventuellement des pertes de paquets.

Ce n’est pas aussi pratique que l’image tout-en-un disponible pour les utilisateurs Linux via mtr, mais cela peut vous aider à commencer à résoudre les problèmes de manière similaire.

Débogage des clients Windows

Si vous rencontrez des problèmes de connexion à vos instances Equinix Metal depuis des clients Windows, sachez que le débogage des clients Windows s'effectue de la même manière que celui des instances serveur Windows. Testez l'accessibilité de l'adresse IP cible dans Equinix Metal depuis votre client à l'aide d'outils tels que ping et tracert. Vous pouvez y accéder en saisissant « cmd » dans le champ de recherche de votre bureau Windows, ou en utilisant PowerShell, installé par défaut sur la plupart des systèmes Windows récents. Même sans compte administrateur, la plupart de ces outils restent accessibles via « cmd ».

Veuillez noter que de nombreux clients Windows utilisent Microsoft Security Essentials ou d'autres logiciels de pare-feu personnels pour renforcer le niveau de protection de leur appareil. Si tel est votre cas et que vous n'êtes pas l'administrateur de votre appareil, veuillez consulter votre administrateur pour déterminer si le pare-feu installé est à l'origine du problème.

Veuillez également noter que différentes informations sur la configuration de votre système peuvent également être accessibles via l'interface utilisateur graphique des ordinateurs clients Windows. Par exemple, vos entrées de routage et votre adresse IP se trouvent dans l'entrée « TCP/IP » des propriétés de votre connexion réseau active. Vous y trouverez également des informations sur les serveurs DNS actuellement utilisés, ce qui peut poser problème si vous parvenez à atteindre certains hôtes d' Equinix Metal, mais pas leurs entrées DNS correspondantes.

Débogage des clients macOS

macOS n'étant plus disponible en tant que système d'exploitation serveur depuis un certain temps, la plupart des problèmes liés à macOS, voire tous, surviennent généralement sur les clients. S'agissant d'un système d'exploitation de bureau, la plupart des informations peuvent être collectées via l'interface utilisateur standard de macOS. Commençons par les examiner.

Configuration IP

Ouvrez les Préférences Système et cliquez sur « Réseau ». La liste des périphériques réseau existants s'affichera à votre gauche.

Example Network Panel in MacOS

Sélectionnez l'adresse IP actuellement active (celle avec un point vert en dessous) et cliquez sur « Avancé ». Sélectionnez « TCP/IP ». Vous pourrez alors voir les adresses IPv4 et IPv6 actuellement attribuées à votre client.

Example IPv4 and IPv6 Address Assignments

Pour prendre une capture d'écran de l'image, appuyez sur [Ctrl]+[Maj]+[4] sur votre clavier et survolez la fenêtre avec le pointeur. Appuyez sur [Espace]. La capture d'écran sera ensuite placée dans votre dossier « Bureau ».

Vous pouvez également utiliser la ligne de commande pour obtenir des renseignements sur la configuration réseau de votre système macOS. Dans le Finder, cliquez sur « Aller à / Utilitaires » puis double-cliquez sur « Terminal ». Exécutez la commande ifconfig -a.

Lors de l'ouverture d'un billet auprès de notre équipe de réussite client, veuillez vous assurer de fournir soit une capture d'écran de votre configuration réseau, soit le résultat de ifconfig -a via Copier et Coller.

ping

Pour tester votre connectivité Internet en général et votre connexion à une instance dans Equinix Metal 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

L'exemple de commande testera la connectivité Internet à 8.8.8.8, 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 le résultat du programme lorsque vous ouvrez un ticket auprès de notre équipe de support client.

traceroute

Traceroute est disponible sous forme de commande sur les systèmes macOS. Cependant, Apple ne fournit pas de représentation graphique pour cette fonction ; vous devrez donc utiliser l'interface en ligne de commande (c'est-à-dire le terminal).

Dans le Finder, cliquez sur « Aller à / Utilitaires » et double-cliquez sur « Terminal ». Exécutez la commande traceroute <target> en remplaçant « cible » par l’adresse cible, habituellement celle 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 version plus esthétique de l'utilitaire traceroute, l'utilitaire mtr est disponible pour macOS via la collection d'outils Homebrew. Pour installer Homebrew, veuillez suivre les instructions sur le site Web du projet à l'adresse https://brew.sh/. Toutes les commandes brew doivent être exécutées dans l'invite de commandes macOS. Une fois Homebrew installé, brew install mtr installera la version plus conviviale et plus colorée de traceroute. Vous pourrez ensuite l'utiliser avec mtr <address>, en remplaçant « adresse » par une adresse IP ou le nom d'hôte que vous souhaitez contacter. L'exécution de mtr nécessite les privilèges sudo sur votre machine.

netstat

Un problème de connectivité peut indiquer un problème dans votre table de routage. Malheureusement, les tables de routage n'ont pas de représentation graphique sous macOS (comme traceroute). Vous devrez donc à nouveau utiliser la ligne de commande pour ce problème.

Dans le Finder, cliquez sur « Aller à / Utilitaires » et double-cliquez sur « Terminal ». Exécutez « netstat -r ». Veuillez inclure le résultat complet de cette commande dans votre réponse à notre équipe de support client (ou dans la requête initiale 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 des serveurs et parfois sur des ordinateurs de bureau. Nous l'incluons dans ce guide pour illustrer le fonctionnement du débogage réseau sur les systèmes UNIX (et éventuellement sur d'autres BSD).

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

Configuration IP

Sur les serveurs et les clients, la commande permettant d'obtenir un aperçu de votre configuration réseau FreeBSD est ifconfig -a. Lors de l'ouverture d'un ticket auprès de notre équipe de soutien à la clientèle, veuillez préciser si vous utilisez FreeBSD sur l'instance Equinix Metal ou sur votre client local et assurez-vous de fournir le résultat de la commande ifconfig -a dans votre ticket.

ping

La commande ping permettant de vérifier l'accessibilité des hôtes distants fonctionne exactement de la même manière que sur FreeBSD. ping 8.8.8.8 vérifie si les serveurs DNS publics de Google sont accessibles depuis l'hôte sur lequel la commande est exécutée, 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 invite de commandes 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 sur FreeBSD via la collection de ports. Assurez-vous d'avoir installé cette collection sur votre système, puis accédez au 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. Le programme mtr sera alors disponible et nécessitera les mêmes paramètres que sur macOS (lorsqu'il est installé via Homebrew) ou sur Linux.

netstat

Pour obtenir la liste de toutes les routes actuellement établies sur FreeBSD, utilisez la commande netstat -r dans une fenêtre de terminal. Si on vous le demande, veuillez inclure ces renseignements dans votre billet d'assistance.

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 ?