ホーム テクノロジー LINUX RHEL 8 の Traceroute をお探しですか?トレースパスを試してみる

RHEL 8 の Traceroute をお探しですか?トレースパスを試してみる


ネットワーク診断は、さまざまな種類のネットワーク問題の分析とトラブルシューティングを含む、ネットワーク/システム管理者の仕事の重要な部分です。

IP パケットがネットワーク内の 2 点間を通過するパスを知ることは、訓練された目には多くの有益な情報をもたらします。

ネットワーク パス関連の分析とトラブルシューティングに役立つ、人気があり一般的に使用されているクロスプラットフォーム ツールの 1 つが、 tracerouteです。

簡単に言うと、 traceroute 、プローブ パケット (ICMP ECHO または TCP SYN など) を送信し、その ICMP の「時間超過」応答をリッスンすることによって、送信元と宛先の間の IP パケットのパスを追跡します。これらのパケットの TTL は意図的に 1 に保たれ、ICMP が「ポート到達不能」になるまで 1 ずつ増加します。これは、ホストに到達するか、最大値 (デフォルトでは 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(Time To Live)または3つのパケットのラウンドトリップ時間、最大ホップ数とバイト単位のパケットサイズ、可能な場合はIPアドレスと解決されたドメイン名が表示されます。

Traceroute応答遅延の決定と 2 つのノード間のルーティングに非常に役立ちます。さらに、目的地までのルート内の障害ポイントを特定するのにも役立ちます。多くのファイアウォールやルーターはインターネット上のtracerouteメッセージをブロックするため、その出力が常に正しいとは限りません。

プローブ メッセージのタイプを変更することである程度の回避策はありますが、この問題を回避するにはある程度しか役立ちません。したがって、このユーティリティを使用するときは、このことに留意する必要があります。

tracerouteの一部のオプションでは、生のパケットを変更できるようにする高いスーパーユーザー権限が必要です。

トレースパスコマンド

Red Hat Enterprise Linux または RHEL 8 とその派生 Linux ディストリビューションには、デフォルトでインストールされるtraceroute コマンドが付属していません。これは、以前のバージョンの Red Hat Linux または CentOS でのtracerouteユーティリティに慣れている人にとっては、大きな変更のように見えるかもしれません。

ただし、RHEL8 には、デフォルトで使用できる同等の機能を持つ、 tracepathと呼ばれるコマンドがあります。これは、対応するtracepathと同様の機能を備えており、OS のインストールですぐに使用できます。

さらにtracepath MTU オプションをサポートしており、これにより、 tracepathネットワーク上で送信できる最大のパケットである MTU または最大送信単位の値を検出できます。

参考のために、サンプルの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 (Time To Live) または往復時間、 tracepathによってネットワーク上に送信できる MTU (最大伝送単位)、および解決されたドメイン名が可能な限り表示されます。

トレースパスの構文

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 コマンドの使用法、ネットワーク関連のトラブルシューティングでの使用方法、および、tracepath コマンドを使用して RHEL8 システムで同じタスクを実行する方法についてまとめました。

これらのコマンドの詳細については、ツールのそれぞれのマニュアル ページを使用してください。

 $ man traceroute
$ man tracepath

「 RHEL 8 の Traceroute をお探しですか?トレースパスを試してみる」についてわかりやすく解説!絶対に観るべきベスト2動画

RHEL 8 ベータ – Stratis を使用したスト​​レージの管理
【ショートレビューまとめ】Based on RHEL 企業向け Linux の大定番 Red Hat Enterprise Linux (RHEL) 派生の ショート動画をまとめて見ました。