本特集では今回から、企業ネットワーク内でよく発生するトラブルの具体例を挙げ、その原因を見つける方法を紹介していく。利用するのは、前回までに導入手順や使い方を紹介したパケット・キャプチャー・ツールのWiresharkと、pingipconfigといったネットワークコマンドである。

 今回は、IPアドレスにかかわるトラブルを紹介する。

新しくつないだパソコンが通信できない

図1●社内ネットワークに新たにつないだパソコンが通信できない
図1●社内ネットワークに新たにつないだパソコンが通信できない
別のパソコンでは問題が発生していないため、クライアントに問題があるのかもしれない。ここでは、DHCPサーバーがIPアドレスを割り当てる環境を想定している。
[画像のクリックで拡大表示]

 最初に紹介するトラブルは、社内ネットワーク(LAN)に新規でパソコンを追加したとき、インターネットや社内サーバーと通信できないというものだ(図1)。別のパソコンからは正常にアクセスできている。前提として、LANではDHCPサーバーを使ってIPアドレスを割り当てているものとする。

 DHCPとは、あらかじめ設定した情報に基づいてサーバーがクライアントに対してネットワーク情報を割り当てる仕組み。ほとんどのOSがクライアント機能を備えている。詳細は後述する。

まずはipconfigコマンドを実行する

 「通信できない」というトラブルが発生したときの鉄則は、まず該当機器のネットワーク情報を確認することだ。そこで、パソコンのネットワーク情報を確認しよう。

図2●コマンドプロンプトを開き、ipconfigコマンドを実行する
図2●コマンドプロンプトを開き、ipconfigコマンドを実行する
コマンドプロンプトはWindows XPの場合、「スタート」メニューの「すべてのプログラム」-「アクセサリ」-「コマンド プロンプト」で起動できる。
[画像のクリックで拡大表示]

 トラブルに遭っているパソコンでWindowsを使っていれば、ipconfigコマンドでネットワーク情報を確認できる。コマンドプロンプトを起動したら、「ipconfig」と入力してEnterキーを押す(図2)。

 結果を見ると、IPアドレスとサブネットマスクが「0.0.0.0」になっており、DNSサーバーやデフォルトゲートウエイが空欄である。これは、DHCPサーバーからパソコンに対してネットワーク情報が割り当てられていないということだ。

 DHCPを使ったシステムでは、パソコンからサーバーに問い合わせるタイミングが悪くてネットワーク情報を受け取れないことがある。そこで、ネットワーク情報を再取得してみる。

図3●/renewオプションを使ってネットワーク情報の再取得を試みる
図3●/renewオプションを使ってネットワーク情報の再取得を試みる
再取得の処理でDHCPサーバーと通信できないことがわかると、Windowsが備えるAutoIP機能が働いた。
[画像のクリックで拡大表示]

 再取得には、ipconfigコマンドに「/renew」オプションパラメーターを付けて実行する。これで図2の実行結果にあった「0.0.0.0」や空欄の部分にIPアドレスが入れば、再取得に成功したことになる。しかし、画面に「unable to contact your DHCP server. Request has timed out.」というメッセージが表示されたら、パソコンはDHCPサーバーと通信できなかったということになる(図3の上)。

 この時点で再度ipconfigコマンドを実行すると、IPアドレス欄に「169.254.184.38」といった見知らぬアドレスが表示されることがある。これは、WindowsのAutoIPという機能が働いた結果である(同下)。

 AutoIPは、DHCPサーバーと通信できないときに自動で働く。169.254.0.1~169.254.255.254の範囲のなかからランダムにIPアドレスを選び、そのアドレスがネットワークセグメントで重複しないことを確認したらそのアドレスを使う、という仕組みになっている。もし重複したら、この処理を重複しないアドレスに当たるまで繰り返す。

 DHCPサーバーと通信できない原因としては、DHCPサーバーが働いていない、パソコンがネットワークにつながっていないといった原因が考えられる。しかし、別のパソコンはDHCPサーバーからIPアドレスが割り当てられており、パソコンとネットワークとの物理的な接続が正しくできていれば、パソコンのDHCPクライアント機能が正しく働いていない可能性がある。そこでWiresharkを使い、クライアントの動作を確認する。