以下の図のような構成で支店のネットワークを構築した。支店のネットワークは小規模なため,ルーターは一般的な家庭用ルーターを利用している。構築後,いくつかのWebサーバーに疎通確認を行ったところ問題なかったが,運用をはじめたところ,支店のネットワークからイントラネット上の特定のWebサーバーにアクセスできないという問題が発生した。問題の切り分けのため,まずは支店ネットワークの管理者からいくつかのコマンドを実行して結果を送付してもらおうと思っている。なお,クライアントPCのIP設定に問題はなく,イントラネット上の機器はすべてICMPが有効になっている。このケースのトラブルの切り分けにおいて,選択肢にあるコマンドで最も役に立たないと思われるものを一つ選びなさい。

トラブル原因の切り分け方法

[選択肢]
a. ping
b. tracert
c. netcap
d. telnet
e. route

[解説]
 問13の正解は,選択肢eの「route」です。

 この問題は,ネットワークの障害切り分けコマンドについての知識を問うものです。各選択肢を見ていきましょう。

 選択肢aのpingはICMPパケットを用いてあて先マシンまでの疎通確認を行うコマンドです。pingの結果,パケットが喪失している場合は,経路途中の回線の品質などが疑われます。また「-f -l」という引数と組み合わせることで,MTUサイズによるパケット到達可否を確認することもできます。

 選択肢bのtracertは,pingと同じくICMPパケットを用いてあて先ホストまでの経路の確認と,どこまで到達可能かの確認を行うコマンドです。なお,選択肢a,bとも,経路途中のルーターなどでICMPパケットがフィルタされているとそれより先には到達しません。しかし,この問題のケースのようにICMPを有効にしているケースでは切り分けに使えます。

 選択肢cのnetcapはWindows XPのサポート・ツールに含まれているパケット・キャプチャを行うコマンドです(図)。パケット・キャプチャの情報を解析することで,クライアントPCがどういう通信をしているのかを詳細に確認できるので,問題の原因を探るコマンドとしては有用です。また,netcapはコマンド・ベースで実行するので,あらかじめオプションを付与したバッチ・ファイルなどを各マシンに配布しておき,問題発生時にエンド・ユーザーにバッチ・ファイルを実行してもらうことで,遠隔にあるマシンのパケット・キャプチャ・データを得るという使い方もできます。

netcapコマンド実行例

 選択肢dのtelnetはリモートでマシンを操作するコマンドで,TCPのポート番号を指定すると,特定のポートで動作しているサービスへの到達可否を確認できます。今回の場合,「telnet Webサーバー名 80」というコマンドを実行することで,Webサーバーに80番ポートを使った通信(Webアクセス)ができるかどうかを確認できます。そのため,トラブルの切り分けとして有用です。

 選択肢eのrouteは,自マシンのIPルーティングに関する情報を表示したり経路情報を設定するコマンドです。クライアントPCのルーティング・テーブルを表示することで,パソコンのパケットの転送先などを調査できます。ただしこのケースでは,クライアントPCはイントラネット上の他のWebサーバーには正常にアクセスできており,インターネット接続のためのルーティング設定(IPアドレス,サブネット・マスク,デフォルト・ゲートウエイなど)に問題はないことが予想できます。それに,そもそもこのクライアントPCのIP設定には,問題がないことがわかっています。そのため,ルーティング・テーブルの確認や経路情報の追加や削除をしてもトラブルの切り分けにつながりません。

 パソコンに特定のネットワーク上のマシンに関する誤った静的ルーティングが設定してあるケースなど,特殊なケースではrouteコマンドも切り分けとして有用なケースはあります。しかし,一般論として考えた場合でも,routeコマンドはトラブルの切り分けとして役に立たないケースが多いでしょう。

 よって前述した理由により,このケースにおける最も役に立たないコマンドは,選択肢eの「route」コマンドといえます。