最近久しぶりにネットワークトラブルに遭遇したので、対応策をまとめておきます。先日、マルチベンダーで構成しているお客様のネットワークに新しいIP電話機器を接続したところ、エラーで接続できないと申告がありました。パソコンは接続できるのですが、新しい機器だけ接続時にエラーとなり接続ができない状況です。
IP電話機器は固定IPアドレスを使用して、ネットワークの接続性を確認します。現地に立ち会った同僚から聞くと30秒ほどでエラーとなり全く接続できなくなるという話です。IP電話機器を直接接続しているネットワーク機器はCisco Catalyst 1000で数ヶ月前に導入した新しい機器です。
業界標準であるCisco Catalystでは標準でSTPが動作しています。STPが有効であればリンクアップしてから50秒程はネットワークに接続できない時間を待機する必要があります。
- STPを無効にする。
- 接続するネットワーク機器はSTPが動作している場合を想定して、50秒以上タイムアウトを延ばす。
- 固定IPアドレスではなく、DHCPを有効にする。
目次
原因切り分け
事象詳細
フロアスイッチとして利用しているCisco Catalyst 1000のポートにIP電話機を接続しました。リンクアップした模様ですが、30秒以下でネットワーク接続エラーとして利用できない状況となりました。パソコンを接続してみましたが、ネットワーク接続に問題はありません。
想定原因
ネットワークの設定間違い
VLAN-IDの設定間違い、IPネットワークアドレスの設定間違い、中継トランクの設定間違いが考えられます。IP電話機がエラーで接続できないCisco Catalystのポートに、パソコンを接続した場合はネットワーク接続に問題はありませんでした。
IP電話機側の設定間違い
問題が発生しているCisco Catalystに経由しないようにIP電話機を接続するとネットワークに正常に接続できました。この時点でIP電話機のネットワーク設定に間違いがありません。
起動時の問題
問題が発生した後にCisco Catalystのログを調査しましたが、何も残っていないので原因特定が難しい状況でした。起動してからの詳細をヒアリング指定くと、IP電話機が起動してから30秒以下でネットワーク接続エラーで再試行しない状況がわかりました。
原因の考察
「ネットワーク接続を諦める時間が短くないかな?」というのが最初に私は感じました。IP電話機は固定IPアドレスで設定しているので、リンクアップしてすぐにネットワーク接続を試行できる状況のため、Cisco Catalystの標準設定が影響している可能性を考えました。
結論にも記載していますが、この障害となった直接の要因はCisco Catalystの標準設定はSTPです。STPは有効な場合は、50秒ほどリンクアップしてもデータを転送できない状態があります。DHCPでIPアドレスを割り当てる場合には、STPの50秒よりも長い60秒のタイムアウトがDHCPクライアントにはあるため、DHCPを使っていればSTPが有効であっても問題は起きなかったと考えられます。
検証と確認事項
検証構成
問題が発生したネットワークとほぼ同じ構成とします。コアスイッチのL3にゲートウェイアドレスを持たせ、フロアスイッチにL2スイッチを構成しました。コアスイッチではSTPが既に動作しており安定稼働しています。コアスイッチでSTPを無効にすることはできません。
フロアスイッチのL2スイッチでは、今回追加するネットワークを想定してSTP有効時と無効時で、ゲートウェイアドレスへのPING応答が何秒で返ってくるかの時間を確認します。
一つ前提条件として、コアL3スイッチとフロアL2スイッチの接続はSTPの動作確認時間50秒を経過させ、接続できている状態であるものとします。
検証結果
フロアスイッチでSTPを無効にして検証用PCを接続すると、1秒も必要とせずコアL3スイッチに設定したゲートウェイIPアドレスにPINGの応答が返ってきました。
STPを有効にして検証用PCを接続すると、リンクアップしても50秒ほどゲートウェイIPアドレスからのPING応答が返って来ませんでした。
IP電話機が30秒ほどでネットワーク接続にエラーを返して利用できない問題は、フロアL2スイッチでSTPを無効化することにより解決する見込みです。
対処結果と結論
その後、現地Cisco Catalyst 1000でIP電話機を接続するポートのVLANに対してSTPを無効化したところ、問題無くネットワークに接続できました。そこでCisco Catalystを使う場合の注意事項をまとめておきます。
Cisco Catalyst スイッチは、標準でSTPが有効です。このSTP有効の設定は設定ファイルに明示されていないため、注意が必要です。一般的に安価なノンインテリジェントスイッチングハブではSTPは無効が標準だからです。
Cisco Catalystスイッチは、フロアスイッチとして使う場合はSTPを無効化した方が扱いやすいと考えます。ただし、ループ構成によるブロードキャストストームには別の対策が必要となります。