Hledáte Traceroute na RHEL 8? Zkuste Tracepath

Diagnostika sítě je nezbytnou součástí každé práce správce sítě/systému, která zahrnuje analýzu a řešení různých typů síťových problémů.

Znalost cesty, kterou IP paket prochází mezi dvěma body v síti, přináší mnoho užitečných informací pro trénované oči.

Jedním takovým populárním a běžně používaným multiplatformním nástrojem, který pomáhá při analýze síťových cest a odstraňování problémů, je traceroute.

Jednoduše řečeno, traceroute sleduje cestu IP paketu mezi zdrojem a cílem odesláním testovacích paketů (pravděpodobně ICMP ECHO nebo TCP SYN) a poté naslouchá jejich ICMP odpovědím „překročení času“. TTL těchto paketů jsou záměrně udržovány jako jeden a jsou zvyšovány o jeden, dokud nedostaneme ICMP „port nedostupný“, což znamená, že jsme se dostali na hostitele nebo dosáhli maximální hodnoty (ve výchozím nastavení 30 skoků).

Příklad výstupu traceroute vypadá nějak takto:

$ 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
$

Výchozí výstup traceroute, jak je znázorněno výše, zobrazuje TTL (Time To Live) nebo dobu zpáteční cesty tří paketů, maximální počet skoků a velikost paketu v bajtech a IP adresu a přeložený název domény, je-li to možné.

Traceroute je velmi užitečný pro určení zpoždění odezvy a směrování mezi dvěma uzly. Dále pomáhá určit body selhání na trase do cíle. Mnoho firewallů a routerů blokuje zprávy traceroute na internetu, takže jejich výstup nemusí být vždy správný.

Existují do určité míry možná řešení změnou typu zpráv sondy, ale tento problém může pomoci obejít jen do určité míry. Při používání tohoto nástroje je tedy třeba na to pamatovat.

Některé možnosti v traceroute vyžadují zvýšená oprávnění superuživatele, která umožňují úpravu nezpracovaných paketů.

Příkaz tracepath

Red Hat Enterprise Linux nebo RHEL 8 a jeho odvozené linuxové distribuce se standardně nedodávají s nainstalovaným příkazem traceroute. To se může zdát jako významná změna pro ty, kteří jsou zvyklí na nástroj traceroute na předchozích verzích Red Hat Linux nebo CentOS.

  Jak hrát hry Nintendo Wii a GameCube na Linuxu

Ale na RHEL8 je standardně dostupný stejně schopný příkaz s názvem tracepath, který má podobné schopnosti jako jeho protějšek tracepath a je připraven k použití s ​​instalací OS.

Navíc tracepath podporuje volbu MTU, která umožňuje detekovat hodnotu MTU nebo Maximum Transmission Unit, což je největší paket, který může tracepath poslat přes síť.

Ukázkový výstup tracepath je uveden níže pro referenci:

$ 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
$

Výchozí výstup tracepath, jak je znázorněno výše, ukazuje TTL (Time To Live) nebo dobu zpětného přenosu paketu, MTU (Maximum Transmission Unit), který lze odeslat přes síť pomocí tracepath a vyřešeného názvu domény, kdykoli je to možné.

Syntaxe tracepath

Obecná syntaxe použití příkazu tracepath je následující:

$ tracepath <options> <destination DNS or IP>

#1. Bez příznaků zobrazuje tracepath cestu k cíli, jak je uvedeno níže:

$ 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. Pokud chcete vytisknout pouze IP adresu, můžete použít parametr -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. Chcete-li vytisknout názvy hostitelů i IP adresy, použijte příznak -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. Chcete-li nastavit vlastní hodnotu délky paketu namísto použití výchozí hodnoty tracepath, tj. 65535, zadejte hodnotu s parametrem -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. Počáteční cílový port můžeme také nastavit pomocí parametru -p jako:

$ 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. Maximální skoky, které jsou standardně nastaveny na 30, lze upravit pomocí parametru -m, jak je znázorněno níže:

$ 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
$

Všimněte si, že tracepath nepodporuje zvýšená oprávnění superuživatele, jako je traceroute, protože nepodporuje pokročilé funkce úpravy paketů.

  Automatizujte živé tapety Muzei pomocí Taskeru

souhrn

Tento článek shrnul použití příkazu traceroute, jak se používá při odstraňování problémů souvisejících se sítí a jak můžeme provádět stejné úkoly v systémech RHEL8 pomocí příkazu tracepath.

Chcete-li se o těchto příkazech dozvědět více, použijte příslušnou manuálovou stránku nástroje.

$ man traceroute
$ man tracepath