ネットワーク問題のトラブルシューティング
ネットワーク上の問題への対処
問題点
説明
このチェックリストでは、トラブルシューティングの基本へのリンク、ネットワークの例、ルーターとネットワークの問題を診断するために使用できるコマンドの概要を示します。
ソリューション
タスク |
コマンドまたはアクション |
---|---|
切断されたネットワーク接続の分離 | |
ping (ip-address | hostname) show route (ip-address | hostname) traceroute (ip-address | hostname) |
|
|
|
|
|
|
切断されたネットワーク接続の分離
図 1に示す標準的な 4 段階のプロセスを適用することで、ネットワーク内で障害が発生したノードを分離できます。このセクションで説明する機能は、バージョン 15.1X49、15.1X49-D30、または 15.1X49-D40 ではサポートされていません。
ただし、4 段階のプロセスに着手する前に、すべてのネットワークで発生する避けられない問題に備えておくことが重要です。さまざまなアクションを試すだけでも解決策が見つかるかもしれませんが、ネットワークの保守と監視に対するアプローチを体系的に行えば、より迅速に適切な解決策にたどり着くことができます。ネットワークの問題に備えるために、通常の状態でネットワークがどのように機能するかを理解し、ベースラインネットワークアクティビティの記録を保持し、問題のある状況でのネットワークの動作を注意深く観察します。
図 2 は、ネットワークの問題を診断するプロセスを説明するためにこのトピックで使用するネットワーク トポロジーを示しています。
図 2のネットワークは、2つの自律システム(AS)で構成されています。AS 65001 には 2 台のルーター、AS 65002 には 3 台のルーターが含まれています。AS 65001 の境界ルーター(R1
)は、AS 65002 ネットワークに 100.100/24
集約されたプレフィックスをアナウンスします。このネットワークの問題は、R2
とR6
の間のループのために、R6
がR5
にアクセスできないことです。
ネットワークで失敗した接続を特定するには、次のトピックの手順に従います。
ネットワーク接続の切断の症状の特定
問題点
説明
ネットワークの問題の症状は、通常、リモートホストに到達できないなど、非常に明白です。
ソリューション
ネットワークの問題の兆候を特定するには、ネットワークの一方の端から開始し、もう一方の端へのルートをたどり、次の Junos OS コマンドライン インターフェイス(CLI)動作モード コマンドのすべてまたは 1 つを入力します。
user@host> ping (ip-address
|host-name
) user@host> show route (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
サンプル出力
user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2db 0 0000 01 01 a8c6 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2de 0 0000 01 01 a8c3 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2e2 0 0000 01 01 a8bf 10.1.26.2 10.0.0.5 ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[IS-IS/165] 00:02:39, metric 10 > to 10.1.26.1 via so-0/0/2.0 user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.649 ms 0.521 ms 0.490 ms 2 10.1.26.2 (10.1.26.2) 0.521 ms 0.537 ms 0.507 ms 3 10.1.26.1 (10.1.26.1) 0.523 ms 0.536 ms 0.514 ms 4 10.1.26.2 (10.1.26.2) 0.528 ms 0.551 ms 0.523 ms 5 10.1.26.1 (10.1.26.1) 0.531 ms 0.550 ms 0.524 ms
意味
サンプル出力は、存続時間を超えたためにパケットが拒否されている失敗した ping
コマンドを示しています。show route
コマンドの出力には、起こりうる問題についてさらに調べることができるインターフェイス(10.1.26.1
)が表示されます。traceroute
コマンドは、2 つのインターフェイス アドレスの連続的な繰り返しによって示されるように、10.1.26.1
(R2
)と10.1.26.2
(R6
)の間のループを表示します。
ネットワークの問題の原因を切り分ける
問題点
説明
特定の症状は、1 つ以上の原因の結果である可能性があります。検索の焦点を絞り込んで、望ましくない動作の個々の原因を見つけます。
ソリューション
特定の問題の原因を切り分けるには、次の Junos OS CLI 操作モード コマンドの 1 つまたはすべてを入力します。
user@host> show < configuration | bgp | interfaces | isis | ospf | route >
特定の問題では、上記のコマンド以上のものを使用する必要がある場合があります。一般的に使用される動作モードコマンドの完全なリストについては、該当するコマンドリファレンスを参照してください。
サンプル出力
user@R6> show interfaces terse Interface Admin Link Proto Local Remote so-0/0/0 up up so-0/0/0.0 up up inet 10.1.56.2/30 iso so-0/0/2 up up so-0/0/2.0 up up inet 10.1.26.2/30 iso so-0/0/3 up up so-0/0/3.0 up up inet 10.1.36.2/30 iso [...Output truncated...]
次のサンプル出力は R2
からです。
user@R2> show route 10.0.0.5 inet.0: 22 destinations, 25 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[Static/5] 00:16:21 > to 10.1.26.2 via so-0/0/2.0 [BGP/170] 3d 20:23:35, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
意味
サンプル出力では、 R6
上のすべてのインターフェイスがアップしていることがわかります。R2
からの出力は、 に設定されたスタティックルート[Static/5
]がR2
R6
(10.1.26.2
)を指し、プリファレンス値が低いため、R5
への優先ルートであることを示しています。ただし、R5
(10.1.15.2
) への参照がないことが示すように、ルートは R2
から R6
にループしています。
ネットワークの問題解決に向けた適切な対応
問題点
説明
適切なアクションは、切り分けた問題の種類によって異なります。この例では、 R2
に設定されたスタティックルートが[routing-options
]階層レベルから削除されます。その他の適切なアクションには、次のものが含まれます。
ソリューション
ローカルルーターの設定を確認し、必要に応じて編集します。
中間ルーターをトラブルシューティングします。
リモートホストの設定を確認し、必要に応じて編集します。
ルーティングプロトコルのトラブルシューティングを行います。
その他の考えられる原因を特定します。
この例の問題を解決するには、次の Junos OS CLI コマンドを入力します。
[edit] user@R2# delete routing-options static routedestination-prefix
user@R2# commit and-quit user@R2# show routedestination-prefix
サンプル出力
[edit] user@R2# delete routing-options static route 10.0.0.5/32 [edit] user@R2# commit and-quit commit complete Exiting configuration mode user@R2> show route 10.0.0.5 inet.0: 22 destinations, 24 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 3d 20:26:17, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
意味
サンプル出力は、[routing-options
] 階層から削除されたスタティックルートと、コミットされた新しいコンフィギュレーションを示しています。これで、 show route
コマンドの出力に、アスタリスク(*
)で示されるように、優先ルートとしてBGPルートが表示されます。
ネットワークの問題が解決されたかどうかを確認するためのソリューションの評価
問題点
説明
問題が解決したら、作業は完了です。問題が解決しない場合、または新しい問題が特定された場合は、プロセスを最初からやり直します。
考えられる原因には、どのような順序でも対処できます。「切断されたネットワーク接続の分離」のネットワークに関連して、ローカル ルーターからリモート ルーターに向かって作業することを選択しましたが、特に、問題が最近の構成変更などの既知の問題に関連していると信じる理由がある場合は、別のポイントから開始できます。
ソリューション
ソリューションを評価するには、次の Junos OS CLI コマンドを入力します。
user@host> show route (ip-address
|host-name
) user@host> ping (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
サンプル出力
user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 00:01:35, MED 5, localpref 100, from 10.0.0.2 AS path: 65001 I > to 10.1.26.1 via so-0/0/2.0 user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 64 bytes from 10.0.0.5: icmp_seq=0 ttl=253 time=0.866 ms 64 bytes from 10.0.0.5: icmp_seq=1 ttl=253 time=0.837 ms 64 bytes from 10.0.0.5: icmp_seq=2 ttl=253 time=0.796 ms ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.796/0.833/0.866/0.029 ms user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.629 ms 0.538 ms 0.497 ms 2 10.1.12.1 (10.1.12.1) 0.534 ms 0.538 ms 0.510 ms 3 10.0.0.5 (10.0.0.5) 0.776 ms 0.705 ms 0.672 ms
意味
サンプル出力は、R6
と R5.
の間に接続があることを示していますshow route
コマンドは、アスタリスク(*
)で示されるように、R5
へのBGPルートが優先されることを示しています。ping
コマンドは成功し、traceroute
コマンドは、R6
からR5
へのパスがR2
(10.1.26.1
)を通り、次にR1
(10.1.12.1
)を通ります。
追跡エラー条件のチェックリスト
問題点
説明
表 2 は、ルーティングプロトコルデーモントレーシング、ボーダーゲートウェイプロトコル(BGP)、IS-IS(中間システム - 中間システム)プロトコル、およびオープン最短パスファースト(OSPF)プロトコルトレーシングを設定するためのリンクとコマンドを提供し、エラー状態を診断します。
ソリューション
タスク |
コマンドまたはアクション |
---|---|
ルーティングプロトコルプロセストレースの設定 | |
|
|
|
|
monitor start filename |
|
monitor stop filename |
|
BGP 固有のオプションを設定する | |
|
|
|
|
|
|
IS-IS 固有のオプションを設定 | |
|
|
|
|
|
|
OSPP- 固有のオプションを設定 | |
|
|
|
ルーティングプロトコルプロセストレースの設定
アクション
ルーティングプロトコルプロセス(rpd)トレースを設定するには、次の手順に従います。
設定モードでは、次の階層レベルに移動します。
[edit] user@host# edit routing-options traceoptions
ファイル、ファイルサイズ、数、フラグを設定します。
[edit routing-options traceoptions] user@host# set file filename size size file number [edit routing-options traceoptions] user@host# set flag flag
たとえば、以下のように表示されます。
[edit routing-options traceoptions] user@host# set file daemonlog size 10240 files 10 [edit routing-options traceoptions] user@host# set flag general
設定の確認:
user@host# show
たとえば、以下のように表示されます。
[edit routing-options traceoptions] user@host# show file daemonlog size 10k files 10; flag general;
設定をコミットします。
user@host# commit
一部の traceoptions フラグは、大量の情報を生成します。トレースによって、ルーティング プロトコルの動作が遅くなることもあります。traceoptions設定が不要になった場合は削除します。
詳細メッセージの入ったファイルの内容を表示する。
user@host# run show log filename
たとえば、以下のように表示されます。
[edit routing-options traceoptions] user@pro4-a# run show log daemonlog Sep 17 14:17:31 trace_on: Tracing to "/var/log/daemonlog" started Sep 17 14:17:31 Tracing flags enabled: general Sep 17 14:17:31 inet_routerid_notify: Router ID: 10.255.245.44 Sep 17 14:17:31 inet_routerid_notify: No Router ID assigned Sep 17 14:17:31 Initializing LSI globals Sep 17 14:17:31 LSI initialization complete Sep 17 14:17:31 Initializing OSPF instances Sep 17 14:17:31 Reinitializing OSPFv2 instance master Sep 17 14:17:31 OSPFv2 instance master running [...Output truncated...]
意味
表 3 は、Junosがサポートするルーティングプロトコルデーモントレーシングのトレースフラグと出力例を示しています。
トレース フラグ |
説明 |
出力例 |
---|---|---|
all |
すべての操作 |
機能なし。 |
general |
通常の操作とルーティングテーブルの変更 |
機能なし。 |
normal |
通常の運用 |
機能なし。 |
policy |
ポリシーの操作とアクション |
Nov 29 22:19:58 export: Dest 10.0.0.0 proto Static Nov 29 22:19:58 policy_match_qual_or: Qualifier proto Sense: 0 Nov 29 22:19:58 policy_match_qual_or: Qualifier proto Sense: 0 Nov 29 22:19:58 export: Dest 10.10.10.0 proto IS-IS |
route |
ルーティング テーブルの変更 |
Nov 29 22:23:59 Nov 29 22:23:59 rtlist_walker_job: rt_list walk for RIB inet.0 started with 42 entries Nov 29 22:23:59 rt_flash_update_callback: flash KRT (inet.0) start Nov 29 22:23:59 rt_flash_update_callback: flash KRT (inet.0) done Nov 29 22:23:59 rtlist_walker_job: rt_list walk for inet.0 ended with 42 entries Nov 29 22:23:59 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 CHANGE route/user af 2 addr 172.16.0.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 ADD route/user af 2 addr 172.17.0.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 ADD route/user af 2 addr 10.149.3.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:24:19 trace_on: Tracing to "/var/log/rpdlog" started Nov 29 22:24:19 KRT Request: send len 68 v14 seq 0 DELETE route/user af 2 addr 10.10.218.0 nhop-type unicast nhop 10.10.10.29 Nov 29 22:24:19 RELEASE 10.10.218.0 255.255.255.0 gw 10.10.10.29,10.10.10.33 BGP pref 170/-101 metric so-1/1/0.0,so-1/1/1.0 <Release Delete Int Ext> as 65401 Nov 29 22:24:19 KRT Request: send len 68 v14 seq 0 DELETE route/user af 2 addr 172.18.0.0 nhop-type unicast nhop 10.10.10.33 |
状態 |
状態遷移 |
機能なし。 |
task |
インターフェイストランザクションと処理 |
Nov 29 22:50:04 foreground dispatch running job task_collect for task Scheduler Nov 29 22:50:04 task_collect_job: freeing task MGMT_Listen (DELETED) Nov 29 22:50:04 foreground dispatch completed job task_collect for task Scheduler Nov 29 22:50:04 background dispatch running job rt_static_update for task RT Nov 29 22:50:04 task_job_delete: delete background job rt_static_update for task RT Nov 29 22:50:04 background dispatch completed job rt_static_update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 background dispatch returned job Flash update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 task_job_delete: delete background job Flash update for task RT Nov 29 22:50:04 background dispatch completed job Flash update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 task_job_delete: delete background job Flash update for task RT |
timer |
タイマー使用量 |
Nov 29 22:52:07 task_timer_hiprio_dispatch: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 1 timer Nov 29 22:52:07 task_timer_hiprio_dispatch: running high priority timer queue Nov 29 22:52:07 task_timer_hiprio_dispatch: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 2 timers |
特定のルーティング プロトコルのルーティング プロトコル トレースを設定する
アクション
特定のルーティング プロトコルに対してルーティング プロトコル トレースを設定するには、次の手順を実行します。
設定モードでは、次の階層レベルに移動します。
[edit] user@host# edit protocol protocol-name traceoptions
ファイル、ファイルサイズ、数、フラグを設定します。
[edit protocols protocol name traceoptions] user@host# set file filename size size files number [edit protocols protocol name traceoptions] user@host# set flag flag
たとえば、以下のように表示されます。
[edit protocols ospf traceoptions] user@host# set file ospflog size 10240 files 10 [edit protocols ospf traceoptions] user@host# set flag general
設定の確認:
user@host# show
たとえば、以下のように表示されます。
[edit protocols ospf traceoptions] user@host# show file ospflog size 10k files 10; flag general;
設定をコミットします。
user@host# commit
詳細メッセージの入ったファイルの内容を表示する。
user@host# run show log filename
たとえば、以下のように表示されます。
[edit protocols ospf traceoptions] user@pro4-a# run show log ospflog Sep 17 14:23:10 trace_on: Tracing to "/var/log/ospflog" started Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) start Sep 17 14:23:10 OSPF: multicast address 224.0.0.5/32, route ignored Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) done Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 rt_close: 4/4 routes proto OSPF [...Output truncated...]
意味
表 4 グローバルに使用可能な標準トレース オプション、または特定のプロトコルに適用できる標準トレース オプションを示します。また、特定の BGP ピアまたはピア グループに対してトレースを設定することも可能です。詳しくは、Junos System Basics Configuration Guide をご覧ください。
トレース フラグ |
説明 |
---|---|
all |
すべての操作 |
general |
通常の操作とルーティングテーブルの変更 |
normal |
通常の運用 |
policy |
ポリシーの操作とアクション |
route |
ルーティング テーブルの変更 |
state |
状態遷移 |
task |
インターフェイストランザクションと処理 |
timer |
タイマー使用量 |
ほぼリアルタイムで書き込まれたトレース ファイル メッセージを監視する
目的
トレース ファイルに書き込まれるメッセージをほぼリアルタイムで監視する場合。
アクション
トレース ファイルに書き込まれるメッセージをほぼリアルタイムで監視するには、次の Junos OS CLI(コマンドライン インターフェイス)の動作モード コマンドを使用します。
user@host> monitor start filename
サンプル出力
コマンド名
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200
トレース ファイルの監視を停止する
アクション
トレース ファイルの監視をほぼリアルタイムで停止するには、監視開始後に次の Junos OS CLI 操作モード コマンドを使用します。
user@host monitor stop filename
サンプル出力
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200 monitor stop isis user@host>