【障害対応】Cisco Catalyst インターフェースリンクダウン時の切り分け

Cisco Catalystスイッチは、インターフェースの接続状態を監視することができます。
機器を接続しているインターフェースの状態が、リンクアップからリンクダウンに変化した場合は何かしらの障害が発生している可能性があり、原因を切り分ける必要があります。

前提条件

本記事で実機操作を行う場合、プロンプト文字の表示は以下のモードであることを示します。
操作を行う場合、プロンプト文字に該当するモードへ移行してください。

#         : イネーブルモード
(config)# : コンフィギュレーションモード

リンクダウン状態の監視方法

リンクダウン状態を検知するには、スイッチから監視サーバへ通知を行う必要があります。
通知方法は大きく分けると、SNMP TrapとSyslogの2つの方法があります。
ここでは、スイッチ側の通知設定について説明します。監視サーバ側の検知方法は、使用している監視ソフトウェアのマニュアルを参照してください。

SNMP Trap

以下は、SNMP Trapを監視サーバに送信するための設定です。
指定したIPアドレスに、任意のSNMPコミュニティ名を指定したSNMP Trapが送信されます。

(config) # snmp-server host <監視サーバIPアドレス> version 2c <SNMPコミュニティ名>
(config) # snmp-server enable traps

上記の設定を行った場合、全種類のSNMP Trap通知が有効化されます。
リンクダウンを示すSNMP Trapは、.1.3.6.1.6.3.1.1.5.3のOIDを持ちます。

Syslog

以下は、Syslogを監視サーバに送信するための設定です。

(config)# logging host <監視サーバIPアドレス>
(config)# logging trap <ログレベル>
(config)# logging facility <ファシリティ>

ログレベルは、重要度を文字列で指定します。
リンクダウンログは、errorsを指定すると出力されます。リンクダウン以外にも全ての情報を保存したい場合はinformationalを指定します。

ファシリティは、Syslog受信側の監視サーバでログ種別を識別するための情報です
local0local7で、監視サーバのSyslog受信設定と同じものを指定します。

リンクダウン検知後の確認事項

リンクダウンを検知した後は、実機で確認を行います。

ログの確認

まずは機器ログを確認し、どのインターフェースがリンクダウンしたのか調査します。
事前にterminal length 0、または省略形のter len 0を実行することで、ページ送りを無効化しログを一気に表示することができます。

以下の例では、Gi0/1がリンクダウンした後、数十秒後にリンクアップしていることがわかります。

# terminal length 0
# show log
(略)
Sep 28 16:55:24.427 JST: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
Sep 28 16:55:57.176 JST: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
(略)

インターフェース状態の確認

リンクダウンの履歴があるインターフェースについて、現在の状態を確認します。

以下は、インターフェースがリンクダウン状態であることを示します。

# show interfaces Gi0/1
GigabitEthernet0/1 is down, line protocol is down (notconnect) 
(略)

以下は、インターフェースがリンクアップ状態であることを示します。

# show interfaces Gi0/1
GigabitEthernet0/1 is up, line protocol is up (connected) 
(略)

以下は、インターフェースが無効状態であることを示します。

# show interfaces Gi0/1
GigabitEthernet0/1 is administratively down, line protocol is down (disabled) 
(略)

確認結果別の対応内容

インターフェースがリンクダウン状態

リンクダウン状態が継続している場合、スイッチに接続しているインターフェース対向機器に問題がある可能性が高いです。
運用資料の構成情報を参照し、対向機器の調査を進めます。
また、機器設置場所でケーブル抜き差しを伴う物理作業が行われていなかったか、現地担当者に確認を行います。

インターフェースがリンクアップ状態

リンクアップ状態が継続している場合、スイッチに接続しているインターフェース対向機器が再起動していた可能性があります。
対向機器にログインし、起動時刻と再起動理由を確認します。
また、機器設置場所でケーブル抜き差しを伴う物理作業が行われていなかったか、現地担当者に確認を行います。

インターフェースが無効状態の場合

リンクダウン検知後に無効状態が継続している場合、誰かが意図的に設定を変更してインターフェースを無効化した可能性があります。
以下の通り機器ログを表示し、設定変更を行った端末の接続元IPアドレスを確認します。
IPアドレスが組織内のものである場合、接続元の組織に設定変更有無の確認を行います。
接続元IPアドレスが意図していないものである場合、セキュリティインシデントの可能性があるため、セキュリティ部門へエスカレーションを行います。

# show log
(略)
Oct  2 00:32:33.138 JST: %SYS-5-CONFIG_I: Configured from console by root on vty0 (<接続元IPアドレス>)
Oct  2 00:32:33.457 JST: %LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to administratively down
(略)

インターフェースがリンクダウン/アップを繰り返す状態

リンクダウン/アップを繰り返す状態が継続している場合、スイッチに何らかの異常が生じています。

まず、インターフェースのネゴシエーション状況を確認します。
以下のDuplexSpeedが、autoもしくは意図したパラメータであるか確認します。
よくある事例として、スイッチと対向機器でオートネゴシエーションの有無がアンマッチしている場合は、DuplexがHalfと表示されます。
この場合、ネゴシエーション設定を両機器でオートか固定に揃える必要があります。

# show interfaces Gi0/1 status 

Port      Name               Status       Vlan       Duplex  Speed Type
Gi0/1                        notconnect   100          auto   auto 10/100/1000BaseTX

次に、以下コマンドを何回か実行し、インターフェースのエラーカウンタが増加していないか確認します。
Xmit-ErrOutDiscardsの値が増加している場合、スイッチが処理しきれないパケットが大量に発生しています。必要に応じて、後述のポート閉塞措置を実施し、パケットの発生原因を調査します。。

Align-ErrFCS-Errが増加している場合、デュプレックスミスマッチが発生しています。前述のネゴシエーション設定を行い、スイッチと対向機器でネゴシエーション設定を揃えます。

# show interfaces Gi0/1 counters errors 

Port        Align-Err     FCS-Err    Xmit-Err     Rcv-Err  UnderSize  OutDiscards 
Gi0/1               0           0           0           0          0            0 

Port      Single-Col  Multi-Col   Late-Col  Excess-Col  Carri-Sen      Runts     Giants 
Gi0/1              0          0          0           0          0          0          0 

ポート閉塞は、以下の手順で実施します。
ポート閉塞は場合によっては危険を伴う対応であるため、保守運用部門の責任者へエスカレーションを行い、システムへの影響を十分に考慮して実施する必要があります。

(config)# interface Gi0/1
(config-if)# shutdown
(config-if)# end

今まで挙げた全ての対応を行っても問題が解決しない場合は、スイッチのハードウェア故障が考えられます。
サポートログを取得し、保守ベンダへエスカレーションを実施します。
サポートログは、ターミナルソフトのログ取得機能を有効化した上で、以下コマンドを実行し取得します。

# show tech-support password

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です