Le diagnostic de réseau est une partie essentielle du travail de tout administrateur de réseau/système, qui comprend l’analyse et le dépannage de différents types de problèmes de réseau.
Connaître le chemin parcouru par un paquet IP entre deux points d’un réseau fournit de nombreuses informations utiles à des yeux avertis.
Traceroute
est l’un des outils multiplateformes les plus populaires et les plus couramment utilisés pour l’analyse et le dépannage des chemins d’accès au réseau.
En termes simples, traceroute
suit le chemin d’un paquet IP entre la source et la destination en envoyant des paquets de sonde (probablement ICMP ECHO ou TCP SYN) et en écoutant ensuite leurs réponses ICMP “time exceeded”. Le TTL de ces paquets est intentionnellement maintenu à un et est augmenté d’un jusqu’à ce que nous obtenions ICMP “port inaccessible”, ce qui signifie que nous avons atteint l’hôte ou la valeur maximale (par défaut, 30 sauts).
Un exemple de sortie de traceroute
ressemble à ceci :
$ traceroute google.com
traceroute vers google.com (172.217.169.14), 30 sauts maximum, paquets de 60 octets
1 140.91.200.22 (140.91.200.22) 0.129 ms 140.91.200.19 (140.91.200.19) 0.151 ms 140.91.200.77 (140.91.200.77) 0.114 ms
2 linxbgp1.iwscloud.com (195.66.226.34) 0.735 ms 0.701 ms 1.024 ms
3 195.66.224.125 (195.66.224.125) 0.603 ms 0.591 ms 0.591 ms
4 108.170.246.129 (108.170.246.129) 0.583 ms 0.745 ms 0.714 ms
5 209.85.241.95 (209.85.241.95) 1.576 ms 209.85.241.93 (209.85.241.93) 1.545 ms 209.85.241.95 (209.85.241.95) 1.520 ms
6 lhr25s26-in-f14.1e100.net (172.217.169.14) 0.584 ms 0.547 ms 0.507 ms
$
La sortie de traceroute
par défaut, comme indiqué ci-dessus, indique le TTL (Time To Live) ou le temps d’aller-retour de trois paquets, le nombre maximal de sauts et la taille des paquets en octets, ainsi que l’adresse IP et le nom de domaine résolu, lorsque cela est possible.
Traceroute
est très utile pour déterminer les délais de réponse et le routage entre deux nœuds. En outre, il permet de déterminer les points de défaillance dans un itinéraire vers la destination. De nombreux pare-feu et routeurs bloquent les messages de traceroute sur Internet, de sorte que les résultats ne sont pas toujours corrects.
Il existe des solutions de contournement possibles dans une certaine mesure en modifiant le type de message de la sonde, mais cela ne peut aider que jusqu’à un certain point à contourner ce problème. Vous devez donc garder cela à l’esprit lorsque vous utilisez cet utilitaire.
Certaines options de traceroute
nécessitent des privilèges élevés de superutilisateur qui permettent de modifier les paquets bruts.
commande tracepath
La commande traceroute n’est pas installée par défaut sur Red Hat Enterprise Linux ou RHEL 8 et ses distributions Linux dérivées. Cela peut sembler un changement important pour ceux qui sont habitués à l’utilitaire traceroute
sur les versions précédentes de Red Hat Linux ou CentOS.
Mais il existe une commande tout aussi performante disponible par défaut sur RHEL8, appelée tracepath
, qui possède des capacités similaires à celles de son homologue tracepath
et qui est prête à être utilisée lors de l’installation du système d’exploitation.
En outre, tracepath
prend en charge l’option MTU, qui permet de détecter la valeur MTU (Maximum Transmission Unit), c’est-à-dire le plus gros paquet que tracepath
peut envoyer sur le réseau.
Vous trouverez ci-dessous un exemple de sortie de tracepath
à titre de référence :
$ tracepath 131.153.76.66
1? : [LOCALHOST] pmtu 9000
1 : 140.91.200.23 0.416ms asymm 2
1 : 140.91.200.23 0.239ms asymm 2
2 : 140.91.200.74 0.194ms pmtu 1500
2 : oracle-svc071175-lag003322.ip.twelve99-cust.net 1.344ms
3 : ldn-b7-link.ip.twelve99.net 19.996ms asymm 2
4 : ldn-bb1-link.ip.twelve99.net 0.803ms asymm 5
5 : prs-bb1-link.ip.twelve99.net 8.548ms asymm 6
6 : mei-b5-link.ip.twelve99.net 18.111ms asymm 5
7 : pas de réponse
8 : phoenix-svc071932-ic358857.ip.twelve99-cust.net 179.691ms asymm 7
9 : 131.153.47.139 163.358ms asymétrique 8
10 : pas de réponse
11 : 131.153.76.66 159.071ms !H
Reprise : pmtu 1500
$
La sortie par défaut de tracepath
, comme indiqué ci-dessus, indique le TTL (Time To Live) ou le temps d’aller-retour d’un paquet, le MTU (Maximum Transmission Unit) qui peut être envoyé sur le réseau par tracepath
et le nom de domaine résolu dans la mesure du possible.
syntaxe de la commande tracepath
la syntaxe générale d’utilisation de la commandetracepath
est la suivante :
$ tracepath <options> <destination DNS ou IP>
#1. En l’absence de drapeaux, tracepath
affiche le chemin d’accès à la destination, comme indiqué ci-dessous :
$ tracepath 131.153.56.85
1? : [LOCALHOST] pmtu 9000
1 : 140.91.200.77 0.226ms asymm 2
1 : 140.91.200.79 0.497ms asymm 2
2 : 140.91.200.74 0.216ms pmtu 1500
2 : oracle-svc071174-lag003319.ip.twelve99-cust.net 0.691ms
3 : slou-b1-link.ip.twelve99.net 1.249ms asymm 2
4 : ldn-bb4-link.ip.twelve99.net 0.749ms asymm 3
5 : nyk-bb1-link.ip.twelve99.net 80.617ms asymm 8
6 : rest-bb1-link.ip.twelve99.net 153.250ms asymm 21
7 : nyk-bb1-link.ip.twelve99.net 83.084ms asymm 6
8 : nash-bb1-link.ip.twelve99.net 280.770ms asymm 9
9 : pas de réponse
10 : dls-b23-link.ip.twelve99.net 110.820ms asymm 9
11 : phx-b1-link.ip.twelve99.net 131.524ms
12 : phx-b1-link.ip.twelve99.net 131.632ms asymm 11
13 : giglinx-ic305413-phx-b1.ip.twelve99-cust.net 132.583ms asymm 12
14 : pas de réponse
15 : giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.685ms asymm 12
16 : PHOENIX-NAP.ear3.Chicago2.Level3.net 135.245ms asymm 4
17 : pas de réponse
18 : pas de réponse
19 : speedchi.phoenixnap.com 133.809ms atteint
Reprise : pmtu 1500 hops 19 back 8
$
#2. Si vous souhaitez imprimer uniquement l’adresse IP, vous pouvez utiliser le drapeau -n
:
$ tracepath -n 131.153.56.85
1? : [LOCALHOST] pmtu 1500
1 : 140.91.200.74 0.393ms asymm 2
1 : 140.91.200.21 0.180ms asymm 2
2 : 213.248.69.255 0.576ms
3 : 213.248.98.246 1.210ms asymm 2
4 : 62.115.117.122 1.371ms asymm 3
5 : 62.115.133.239 141.920ms asymétrique 20
6 : 62.115.141.244 77.732ms asymétrique 7
7 : pas de réponse
8 : 62.115.137.55 881.711ms asymétrique 9
9 : pas de réponse
10 : 62.115.137.55 914.855ms asymétrique 9
11 : 62.115.125.97 132.182ms
12 : 62.115.125.97 131.686ms asymm 11
13 : 62.115.42.6 133.132ms asymm 12
14 : pas de réponse
15 : 62.115.42.10 143.880ms asymm 12
16 : 4.14.13.150 134.869ms asymm 4
17 : pas de réponse
18 : 4.14.13.150 145.263ms asymm 4
19 : 131.153.56.85 133.636ms atteint
Reprise : pmtu 1500 hops 19 back 8
$
#3. Pour imprimer à la fois les noms d’hôtes et les adresses IP, utilisez le drapeau -b
:
$ tracepath -b 131.153.56.85
1? : [LOCALHOST] pmtu 1500
1 : 140.91.200.19 (140.91.200.19) 0.197ms asymm 2
1 : 140.91.200.74 (140.91.200.74) 0.141ms asymm 2
2 : oracle-svc071175-lag003322.ip.twelve99-cust.net (213.248.98.247) 1.186ms
3 : slou-b1-link.ip.twelve99.net (213.248.98.246) 10.273ms asymm 2
4 : ldn-bb4-link.ip.twelve99.net (62.115.141.246) 0.941ms asymm 3
5 : prs-bb2-link.ip.twelve99.net (62.115.133.239) 141.858ms asymm 20
6 : rest-bb1-link.ip.twelve99.net (62.115.141.244) 76.210ms asymm 7
7 : pas de réponse
8 : rest-bb1-link.ip.twelve99.net (62.115.141.244) 89.209ms asymm 7
9 : pas de réponse
10 : dls-b23-link.ip.twelve99.net (62.115.136.119) 110.335ms asymm 9
11 : phx-b1-link.ip.twelve99.net (62.115.125.97) 132.091ms
12 : phx-b1-link.ip.twelve99.net (62.115.125.97) 131.844ms asymm 11
13 : giglinx-ic315451-phx-b1.ip.twelve99-cust.net (80.239.195.78) 142.975ms asymm 14
14 : pas de réponse
15 : pas de réponse
16 : PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150) 135.233ms asymm 4
17 : pas de réponse
18 : pas de réponse
19 : speedchi.phoenixnap.com (131.153.56.85) 133.871ms atteint
Reprise : pmtu 1500 hops 19 back 8
$
#4. Pour définir une valeur personnalisée de longueur de paquet au lieu d’utiliser la valeur par défaut de tracepath
, c’est-à-dire 65535
, spécifiez la valeur avec le drapeau -l
:
$ tracepath -l 300 131.153.56.85
1 : 140.91.200.77 0.405ms asymm 2
2 : oracle-svc071174-lag003319.ip.twelve99-cust.net 0.589ms
3 : slou-b1-link.ip.twelve99.net 1.448ms asymm 2
4 : ldn-bb4-link.ip.twelve99.net 0.960ms asymm 3
5 : nyk-bb1-link.ip.twelve99.net 81.564ms asymm 8
6 : rest-bb1-link.ip.twelve99.net 78.414ms asymm 7
7 : nyk-bb1-link.ip.twelve99.net 84.286ms asymm 6
8 : rest-bb1-link.ip.twelve99.net 87.529ms asymm 7
9 : pas de réponse
10 : dls-b23-link.ip.twelve99.net 110.534ms asymm 9
11 : phx-b1-link.ip.twelve99.net 131.449ms
12 : phx-b1-link.ip.twelve99.net 131.303ms asymm 11
13 : giglinx-ic315451-phx-b1.ip.twelve99-cust.net 143.059ms asymm 14
14 : phx-b1-link.ip.twelve99.net 142.348ms asymm 11
15 : giglinx-ic--305416-phx-b1.ip.twelve99-cust.net 143.554ms asymm 12
16 : PHOENIX-NAP.ear3.Chicago2.Level3.net 134.790ms asymm 4
17 : pas de réponse
18 : PHOENIX-NAP.ear3.Chicago2.Level3.net 145.926ms asymm 4
19 : speedchi.phoenixnap.com 133.736ms atteint
Reprise : pmtu 300 hops 19 back 8
$
#5. Nous pouvons également définir le port de destination initial en utilisant le drapeau -p
comme suit :
$ tracepath -p 9000 131.153.56.85
1? : [LOCALHOST] pmtu 1500
1 : 140.91.200.18 0.160ms asymm 2
1 : 140.91.200.74 0.177ms asymm 2
2 : oracle-svc071175-lag003322.ip.twelve99-cust.net 1.151ms
3 : slou-b1-link.ip.twelve99.net 1.727ms asymm 2
4 : pas de réponse
5 : nyk-bb1-link.ip.twelve99.net 81.357ms asymm 8
6 : rest-bb1-link.ip.twelve99.net 78.325ms asymm 7
7 : pas de réponse
8 : rest-bb1-link.ip.twelve99.net 87.908ms asymm 7
9 : pas de réponse
10 : dls-b23-link.ip.twelve99.net 109.797ms asymm 9
11 : phx-b1-link.ip.twelve99.net 132.036ms
12 : dls-b23-link.ip.twelve99.net 121.404ms asymm 9
13 : giglinx-ic315450-phx-b1.ip.twelve99-cust.net 136.322ms asymm 12
14 : phx-b1-link.ip.twelve99.net 142.596ms asymm 11
15 : pas de réponse
16 : PHOENIX-NAP.ear3.Chicago2.Level3.net 135.182ms asymm 4
17 : pas de réponse
18 : pas de réponse
19 : speedchi.phoenixnap.com 133.562ms atteint
Reprise : pmtu 1500 hops 19 back 8
$
#6. Le nombre maximum de sauts, qui est par défaut de 30
, peut être personnalisé en utilisant l’option -m
comme indiqué ci-dessous :
$ tracepath -m 20 131.153.56.85
1? : [LOCALHOST] pmtu 1500
1 : 140.91.200.18 0.175ms asymm 2
1 : 140.91.200.77 0.169ms asymm 2
2 : oracle-svc071174-lag003319.ip.twelve99-cust.net 0.669ms
3 : slou-b1-link.ip.twelve99.net 2.443ms asymm 2
4 : pas de réponse
5 : prs-bb2-link.ip.twelve99.net 142.778ms asymm 20
6 : rest-bb1-link.ip.twelve99.net 76.756ms asymm 7
7 : pas de réponse
8 : rest-bb1-link.ip.twelve99.net 89.272ms asymm 7
9 : pas de réponse
10 : dls-b23-link.ip.twelve99.net 110.378ms asymm 9
11 : phx-b1-link.ip.twelve99.net 132.582ms
12 : phx-b1-link.ip.twelve99.net 132.135ms asymm 11
13 : phx-b1-link.ip.twelve99.net 142.154ms asymm 11
14 : pas de réponse
15 : giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.298ms asymm 12
16 : PHOENIX-NAP.ear3.Chicago2.Level3.net 134.362ms asymétrique 4
17 : pas de réponse
18 : pas de réponse
19 : speedchi.phoenixnap.com 133.474ms atteint
Reprise : pmtu 1500 hops 19 back 8
$
Notez que tracepath
ne supporte pas les privilèges élevés de super-utilisateur comme traceroute
car il ne supporte pas la fonction avancée de modification des paquets.
Résumé
Cet article résume l ‘utilisation de la commande traceroute, comment elle est utilisée dans le dépannage réseau et comment nous pouvons effectuer les mêmes tâches dans les systèmes RHEL8 à l’aide de la commande tracepath.
Pour en savoir plus sur ces commandes, consultez la page de manuel de l’outil concerné.
$ man traceroute
$ man tracepath