ネットワークにトラブルが発生したときに,原因をつきとめるのに時間がかかることが多くあります。現在の校内LAN環境は大きく複雑になってきており,どこから手をつけていいのか分からないということもあります。
ネットワーク技術者には,ネットワークの仕組みや様々なトラブル事例など,豊富な知識と経験からLAN内部で起こっていることを想像してトラブルに対応し,すみやかに解決への糸口を見つけることが要求されます。
もしあなたがネットワーク管理者になったら,まず管理すべきネットワークの構成を理解することから始め,知識と経験を積み重ねていく必要があります。
ここでは,トラブルに対処するための初歩的な方法を紹介します。
トラブルを把握するためのネットワークコマンド等を利用して,問題箇所を絞ってから,以下のチェックポイントを調べて,トラブルを解決します。
(1) クライアントパソコンの確認
ハードウェア関係
ソフトウェア関係
[*1]Windows 2000 の場合
(2) LAN接続機器の確認
(3) サーバの確認
ネットワークのトラブルを解決するためには,ネットワークコマンドの利用が有効的です。ネットワークコマンドを利用するには,コマンドプロンプト(MS-DOSプロンプト)を起動します。
(1) ipconfigコマンド
IPアドレスやサブネットマスク,デフォルトゲートウェイなどのネットワーク設定を確認するコマンドです。
ネットワークにつながらないという症状があれば,まず第一に用いるコマンドです。
もし設定されているIPアドレスがセグメント内に割り当てられないIPアドレスであったり,IPアドレスが設定されていない場合は,NICやLANケーブルの不具合やDHCP機能からIPアドレスを取得している可能性があります。
DHCPサーバを利用している場合は,オプションを指定して,IPアドレスを再取得します。
代表的なオプションには,以下のようなものがあります。
IPアドレス情報の詳細を表示 | ipconfig /all |
IPアドレスの返却 | ipconfig /release |
IPアドレスの再取得 | ipconfig /renew |
ipconfigコマンド(例) |
---|
C:\>ipconfig /all ←コマンドを入力します。 Windows IP Configuration Host Name . . . . . . . . . . . . : gateway Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter ローカル エリア接続: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection Physical Address. . . . . . . . . : **-**-**-**-**-** ←MACアドレス DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.1.100 ←IPアドレス Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.240 ←ルータのIPアドレス DHCP Server . . . . . . . . . . . : 192.168.1.240 DNS Servers . . . . . . . . . . . : 192.168.1.240 Lease Obtained. . . . . . . . . . : 2005年12月19日 13:35:58 Lease Expires . . . . . . . . . . : 2005年12月19日 13:35:58 C:\> |
(2) pingコマンド
通信相手とパケットがやり取りできるかを調べることができるコマンドです。このコマンドで,ネットワーク上の指定したコンピュータに,パケットが届くかどうかを確認することにより,トラブルの発生箇所を探ることができます。
pingコマンドの利用例には,以下のようなものがあります。
ループバックアドレスを指定 | ping 127.0.0.1 |
IPアドレスを指定 | ping 192.168.1.240(例) |
コンピュータ名を指定 | ping pc001(例) |
FQDNを指定 | ping www.aichi-c.ed.jp(例) |
はじめに該当コンピュータ自身に対してループバックテストを行います。
127.0.0.1はそのコンピュータ自身を意味するIPアドレスです。
pingコマンド(ループバックテストの例) |
---|
C:\>ping 127.0.0.1 Pinging 127.0.0.1 with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\> |
ループバックアドレス(127.0.0.1)を指定して,応答がなければNICが作動していないか,NICのドライバがインストールされていないと考えられます。
学校では,職員室内などの狭い範囲から調べ,別室のコンピュータに,その後サーバやルータへと調べる範囲を拡げていきます。
実行結果が「Reply from ……」と表示されれば,パケットが相手に届き,通信できています。
「Request timed out」と表示されれば,相手のコンピュータが稼動していないか,もしくは,途中の経路でHUBの故障やLANケーブルが断線している可能性があります。できるだけトラブル発生箇所を探る範囲を限定して特定していきます。
pingコマンド(通信できる場合の例) |
---|
C:\>ping 192.168.1.240 ←IPアドレスで通信相手を指定します。 Pinging 192.168.1.240 with 32 bytes of data: Reply from 192.168.1.240: bytes=32 time=24ms TTL=251 Reply from 192.168.1.240: bytes=32 time=23ms TTL=251 Reply from 192.168.1.240: bytes=32 time=33ms TTL=251 Reply from 192.168.1.240: bytes=32 time=18ms TTL=251 ↑通信できていることを意味します。 Ping statistics for 192.168.1.240: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\> |
pingコマンド(通信できない場合の例) |
---|
C:\>ping 192.168.1.240 Pinging 192.168.1.240 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. ↑通信できないことを意味します。 Ping statistics for 192.168.1.240: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\> |
(3) tracertコマンド
通信相手にパケットが届くまでに経由するルータを調べることができるコマンドです。このコマンドを用いることで,経由するルータのIPアドレスやFQDNを知ることができます。
パケットの往復時間が長い場合や「Request timed out」と表示される箇所のルータ間の回線に障害がある可能性があります。
コマンドの利用例には,以下のようなものがあります。
IPアドレスを指定 | tracert 192.168.1.240(例) |
FQDNを指定 | tracert www.aichi-c.ed.jp(例) |
また,[-h]オプションを付けることにより,検索するルータ数を指定することができます。
tracertコマンド(表示するルータ数を指定しない場合の例) |
---|
C:\>tracert 192.168.1.240 ←IPアドレスを指定します。 Tracing route to . [192.168.1.240] over a maximum of 30 hops: ←最大30のルータを表示することを意味します。 1 <10 ms <10 ms <10 ms . [192.168.1.240] 3回信号を送ります。 ↑ルータが1つあることが分かります。 Trace complete. C:\> |
tracertコマンド(表示するルータ数を指定する場合の例) |
---|
C:\>tracert -h 10 www.****.co.jp ←FQDNを指定します。 ↑10個のルータまで表示することを意味します。 Tracing route to www.****.co.jp [***.***.***.***] ←通信相手のIPアドレス over a maximum of 10 hops: ↑10個のルータまで表示することを意味します。 1 <10 ms <10 ms <10 ms . [192.168.1.240] 2 16 ms 22 ms 20 ms 219.121.***.**9 3 17 ms 18 ms 19 ms 219.121.***.*6 4 23 ms 18 ms 19 ms 219.121.*.**.1 5 21 ms 14 ms 19 ms 211.0.***.**7 6 22 ms 19 ms 22 ms 202.234.***.*9 7 24 ms 22 ms 21 ms 61.207.**.*5 8 22 ms 26 ms 24 ms 61.207.**.**6 9 23 ms 21 ms 22 ms 60.37.**.*2 10 21 ms 20 ms 23 ms 210.173.***.*1 Trace complete. C:\> |
第1実習室のコンピュータのIPアドレス 192.168.1.100〜192.168.1.120
第2実習室のコンピュータのIPアドレス 192.168.1.121〜192.168.1.140
ルータのIPアドレス 192.168.1.240
図1 ネットワーク構成図
授業でインターネットの実習を予定していましたが,生徒の一人が「インターネットにつながりません 」と言いました。すると,次々に他の生徒も「つながらない」と言い出しました。第1実習室内の全コンピュータがインターネットにつながらないという状況になってしまいました。
ルータ近くの第1段に設置したHUBの電源コードが抜けかけて接触不良を起こし,通電していないために,ルータに信号が送れなくなっていました。
(1) 生徒用コンピュータのIPアドレスが正しく割り当てられているかテストします。
第1実習室の一台の生徒用コンピュータから,コマンドプロンプトで,
C:\>ipconfig /all
と入力しました。
コマンドの実行結果をみると,事前に割り当てた192.168.1.100/24から192.168.1.120/24の範囲内のIPアドレスが画面表示され,ネットワーク設定の問題ではないことが分かりました。
(2) NICが正しく動作しているかテストします。
第1実習室の生徒用コンピュータから,コマンドプロンプトで,
C:\>ping 127.0.0.1
と入力し,ループバックテストをしました。
どのコンピュータの実行結果も「Reply from・・・」と画面表示され,またアクセスランプも点灯しており,恐らくNICの故障ではないことが分かりました。
(3) 第1実習室内のHUBが正常に作動しているかを確認します。
192.168.1.100を割り当てた第1実習室内のコンピュータから,コマンドプロンプトで,
C:\>ping 192.168.1.102
C:\>ping 192.168.1.115
と入力し,同じ第1実習室内の複数のコンピュータ間の通信をテストしました。
どちらの実行結果も「Reply from・・・」と画面表示され通信できていることから,この第1実習室内のHUBの故障ではないことが確認できました。
(4) 第2実習室と通信できるか確認します。
192.168.1.100を割り当てた第1実習室内のコンピュータから,コマンドプロンプトで,
C:\>ping 192.168.1.121
C:\>ping 192.168.1.140
と入力し,第2実習室内の複数のコンピュータへの通信をテストしました。
どちらの実行結果も「Reply from・・・」と画面表示され通信できていることから,実習室同士を接続するHUBの故障ではないことが確認できました。
(5) ルータが正常に作動しているかを確認します。
192.168.1.100を割り当てた第1実習室内のコンピュータから,コマンドプロンプトで,
C:\>ping 192.168.1.240
と入力し,ルータと通信できるかテストしました。
実行結果は「Request timed out・・・」と画面表示され,通信できませんでした。そこでルータを再起動し,再度インターネット接続を確認しましたが,まだ接続できませんでした。
(6) 電源コードの確認をします。
再度ルータの確認をしましたが,アクセスランプは点灯しており,異常が見当たりませんでした。
しかし,ルータの近くに設置したHUBをみると,アクセスランプが消えていることに気付きました。HUBに差し込まれてる電源コードのプラグが抜けかけており,通電できていないことが分かりました。プラグを差し込み直すとアクセスランプが点灯しました。
実習室で,インターネット接続できることを確認してネットワークの復旧が完了しました。
HUBは,できるだけ見やすい場所に設置しておくとトラブルを確認しやすいのですが,今回のケースでは,かえってこのことがトラブルの原因になっていました。実習中に机上に設置してあるHUBに接触して,プラグが抜けてしまったことが原因でした。
図2 原因のHUB
DHCPサーバからIPアドレスを取得するように設定していたクライアントパソコンの更新がありました。更新したクライアントパソコンもIPアドレスをDHCPサーバから取得するように設定しましたが,インターネットに接続できませんでした。なお,更新したパソコンのOSはWindows Xp,使用ブラウザはInternet Explorerでした。
DHCPサーバで割り当てられるIPアドレスの数を超えてしまい,クライアント側で,IPアドレスが取得できません。
(1) クライアントパソコンのLANの設定を確認します。
[コントロールパネル]-[ネットワークとインターネット接続]-[インターネットオプション]の[接続]タブを開き,LANの設定を確認しましたが,設定に間違いはありませんでした。
(2) クライアントパソコンのTCP/IPプロパティの設定を確認します。
[コントロールパネル]-[ネットワークとインターネット接続]-[ネットワーク接続]-[ローカルエリア接続]のプロパティを開き,その中の[インターネットプロトコル(TCP/IP)]のプロパティ確認しました。[IPアドレスを自動的に取得する]が選択されており,問題はありませんでした。
(3) クライアントパソコンのIPアドレスが正しく割り当てられているか確認します。
コマンドプロンプトで,
C:\>ipconfig /all
と入力しました。
コマンドの実行結果をみると,事前に割り当てた範囲外のIPアドレスが画面表示されましたので,DHCPサーバからIPアドレスを正しく取得できていないことが分かりました。
(4) DHCPサーバのアドレスリースを確認します(ここでは,Windows 2000 Sever の例を示します)。
[スタート]-[プログラム]-[管理ツール]-[DHCP]を起動し,アドレスのリースを確認したら,更新前のコンピュータの名前にIPアドレスがリースされていました。そこで,更新前のコンピュータのリースを削除しました。
(5) クライアントパソコンのIPアドレスを再取得します。
クライアントパソコンのコマンドプロンプトで,
C:\>ipconfig /release
と入力し,間違ったIPアドレスを返却します。次に,
C:\>ipconfig /renew
と入力し,IPアドレスを再取得しました。
クライアントパソコンに接続しているLANケーブルを,以前とは異なるスイッチングHUBのポートに差し替えたら,インターネットに接続できなくなってしまいました。なお,更新したパソコンのOSはWindows 2000,使用ブラウザはInternet Explorerでした。
スイッチングHUBには,MACアドレスによるフィルタリング機能が働いているため,パケットを送信できないことが原因と考えられます。スイッチングHUBでは,ポート毎に送られてくるパケットのMACアドレス情報を参照し,パケットを出したコンピュータがどこのポートに接続されているかを自動学習します。そのため,LANケーブルの接続ポートを変更したり,NICを交換したりした場合,一時的に通信できなくなることがあります。
(1) クライアントパソコンのLANの設定を確認します。
[コントロールパネル]-[インターネットオプション]の[接続]タブを開き,LANの設定を確認しましたが,設定に間違いはありませんでした。
(2) クライアントパソコンのTCP/IPプロパティの設定を確認します。
[コントロールパネル]-[ネットワークとダイアルアップ接続]-[ローカルエリア接続]のプロパティを開き,その中の[インターネットプロトコル(TCP/IP)]のプロパティを確認しました。[IPアドレスを自動的に取得する]が選択されており,問題はありませんでした。
(3) クライアントパソコンのIPアドレスが正しく割り当てられているか確認します。
コマンドプロンプトで,
C:\>ipconfig /all
と入力しました。
コマンドの実行結果をみると,事前に割り当てた範囲内のIPアドレスが画面表示され,正しく割り当てられていることが分かりました。
(4) pingコマンドで他のコンピュータと通信できるか確認します。
コマンドプロンプトからpingコマンドを入力しましたが,「Request timed out・・・」と表示され,通信できませんでした。
(5) スイッチングHUBとクライアントパソコンの再起動をします。
スイッチングHUBの電源コードを一旦抜いて,再度電源を入れました。また,クライアントパソコンを再起動しました。その結果,インターネットに接続できるようになりました。
愛知エースネット一般技術情報 (内部ページ)
http://www-in.aichi-c.ed.jp/eis/index-tech.htm#inet
愛知エースネット講習会資料等 (内部ページ)
http://www-in.aichi-c.ed.jp/eis/siryou.html
アライドテレシス ネットワーク構築講座
http://www.allied-telesis.co.jp/library/nw_guide/index.html
愛知エースネット利用FAQ (内部ページ)
http://www-in.aichi-c.ed.jp/eis/faq/index.htm
愛知エースネット新システム移行後の変更点等 (内部ページ)
http://www-in.aichi-c.ed.jp/newsys/index.htm
@IT Master of IP Network
http://www.atmarkit.co.jp/fnetwork/index.html
@IT Master of IP Network会議室
http://www.atmarkit.co.jp/bbs/phpBB/viewforum.php?forum=11