Ищете Traceroute на RHEL 8? Попробуйте трассировку

Опубликовано: 2022-06-14

Диагностика сети является важной частью работы любого сетевого/системного администратора, которая включает в себя анализ и устранение различных типов сетевых проблем.

Знание пути, по которому проходит IP-пакет между двумя точками в сети, дает много полезной информации для опытных глаз.

Одним из таких популярных и широко используемых кроссплатформенных инструментов, помогающих в анализе и устранении неполадок, связанных с сетевыми путями, является traceroute .

Проще говоря, traceroute отслеживает путь IP-пакета между источником и пунктом назначения, отправляя пробные пакеты (вероятно, ICMP ECHO или TCP SYN), а затем прослушивая их ответы ICMP о «превышении времени». TTL этих пакетов намеренно сохраняется как один и увеличивается на единицу до тех пор, пока мы не получим ICMP «port unreachable», что означает, что мы добрались до хоста или достигли максимального значения (по умолчанию 30 переходов).

Пример вывода traceroute выглядит примерно так:

 $ traceroute google.com traceroute to google.com (172.217.169.14), 30 hops max, 60 byte packets 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 $

Выходные traceroute по умолчанию, как показано выше, показывают TTL (время жизни) или время приема-передачи трех пакетов, максимальное количество переходов и размер пакета в байтах, а также IP-адрес и разрешенное доменное имя, если это возможно.

Traceroute очень полезен для определения задержек ответа и маршрутизации между двумя узлами. Кроме того, это помогает определить точки отказа на пути к месту назначения. Многие брандмауэры и маршрутизаторы блокируют сообщения traceroute в Интернете, поэтому его вывод может быть не всегда правильным.

В некоторой степени возможны обходные пути путем изменения типа тестовых сообщений, но это может помочь только в некоторой степени обойти эту проблему. Поэтому нужно помнить об этом при использовании этой утилиты.

Некоторые параметры в traceroute требуют повышенных привилегий суперпользователя, позволяющих изменять необработанные пакеты.

Команда трассировки

Red Hat Enterprise Linux или RHEL 8 и производные от них дистрибутивы Linux не поставляются с установленной по умолчанию командой traceroute . Это может показаться значительным изменением для тех, кто привык использовать утилиту traceroute в предыдущих версиях Red Hat Linux или CentOS.

Но в RHEL8 по умолчанию доступна команда с равными возможностями, называемая tracepath , которая имеет те же возможности, что и ее аналог tracepath , и готова к использованию при установке ОС.

Кроме того tracepath поддерживает параметр MTU, который позволяет определить значение MTU или Максимального размера единицы передачи, которое представляет собой самый большой пакет, который tracepath может отправить по сети.

Пример выходных данных tracepath показан ниже для справки:

 $ 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: no reply 8: phoenix-svc071932-ic358857.ip.twelve99-cust.net 179.691ms asymm 7 9: 131.153.47.139 163.358ms asymm 8 10: no reply 11: 131.153.76.66 159.071ms !H Resume: pmtu 1500 $

tracepath по умолчанию, как показано выше, показывают TTL (время жизни) или время приема-передачи пакета, MTU (максимальная единица передачи), которая может быть отправлена ​​по сети с помощью tracepath , и разрешенное доменное имя, где это возможно.

Синтаксис трассировки

Общий синтаксис использования команды tracepath следующий:

 $ tracepath <options> <destination DNS or IP>

№1. Без флагов tracepath показывает путь к месту назначения, как показано ниже:

 $ 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: no reply 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: no reply 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: no reply 18: no reply 19: speedchi.phoenixnap.com 133.809ms reached Resume: pmtu 1500 hops 19 back 8 $

№ 2. Если вы хотите напечатать только IP-адрес, вы можете использовать флаг -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 asymm 20 6: 62.115.141.244 77.732ms asymm 7 7: no reply 8: 62.115.137.55 881.711ms asymm 9 9: no reply 10: 62.115.137.55 914.855ms asymm 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: no reply 15: 62.115.42.10 143.880ms asymm 12 16: 4.14.13.150 134.869ms asymm 4 17: no reply 18: 4.14.13.150 145.263ms asymm 4 19: 131.153.56.85 133.636ms reached Resume: pmtu 1500 hops 19 back 8 $

№3. Чтобы вывести как имена хостов, так и IP-адреса, используйте флаг -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: no reply 8: rest-bb1-link.ip.twelve99.net (62.115.141.244) 89.209ms asymm 7 9: no reply 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: no reply 15: no reply 16: PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150) 135.233ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com (131.153.56.85) 133.871ms reached Resume: pmtu 1500 hops 19 back 8 $

№ 4. Чтобы установить пользовательское значение длины пакета вместо использования значения по умолчанию для tracepath , т. е. 65535 , укажите значение с флагом -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: no reply 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: no reply 18: PHOENIX-NAP.ear3.Chicago2.Level3.net 145.926ms asymm 4 19: speedchi.phoenixnap.com 133.736ms reached Resume: pmtu 300 hops 19 back 8 $

№ 5. Мы также можем установить начальный порт назначения, используя флаг -p , как:

 $ 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: no reply 5: nyk-bb1-link.ip.twelve99.net 81.357ms asymm 8 6: rest-bb1-link.ip.twelve99.net 78.325ms asymm 7 7: no reply 8: rest-bb1-link.ip.twelve99.net 87.908ms asymm 7 9: no reply 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: no reply 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 135.182ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com 133.562ms reached Resume: pmtu 1500 hops 19 back 8 $

№ 6. Максимальное количество переходов, которое по умолчанию равно 30 , можно настроить с помощью флага -m , как показано ниже:

 $ 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: no reply 5: prs-bb2-link.ip.twelve99.net 142.778ms asymm 20 6: rest-bb1-link.ip.twelve99.net 76.756ms asymm 7 7: no reply 8: rest-bb1-link.ip.twelve99.net 89.272ms asymm 7 9: no reply 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: no reply 15: giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.298ms asymm 12 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 134.362ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com 133.474ms reached Resume: pmtu 1500 hops 19 back 8 $

Обратите внимание, что tracepath не поддерживает повышенные привилегии суперпользователя, такие как traceroute , поскольку он не поддерживает расширенную функцию модификации пакетов.

Резюме

В этой статье кратко описано использование команды traceroute, как она используется для устранения неполадок, связанных с сетью, и как мы можем выполнять те же задачи в системах RHEL8 с помощью команды tracepath.

Чтобы узнать больше об этих командах, используйте соответствующую справочную страницу инструмента.

 $ man traceroute $ man tracepath