7) ネットワーク管理コマンド
第7回は、ネットワークの運用状況の監視、及び、ネットワーク・トラブルの解決に役に立つ「ネットワーク管理コマンド」についてです。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供
ネットワーク管理コマンドについて
日々ネットワークの運用状況を監視していると、Webサイトにアクセスできない、また、メールが送受信できない等のトラブルに遭遇する事があります。
上記の様なネットワーク・トラブルは様々な原因が考えられます。まず、問題の切り分けを行い、原因となっている箇所を絞り込み、トラブル対処の糸口を見つけることが重要です。その手助けをするのがネットワーク管理コマンドです。
ネットワーク管理コマンドと関連設定ファイルについて、目的別に解説します。
疎通確認
ネットワークの疎通確認を行うことで、どの範囲までネットワーク経路が正常に通信可能であるかを検証することができ、大まかな問題切り分けを行なう事ができます。この疎通確認には、ping、及び、tracerouteコマンドが用いられます。
pingコマンドは通信先端末との簡単な疎通確認に利用され、tracerouteコマンドは通信先端末までの経路表示確認に利用されます。
pingおよびtracerouteコマンドは、ICMPプロトコル (*1) を介して疎通確認を実行しますが、TCPプロトコル (*2) を介して疎通確認を行うには、telnetコマンド (*3) を利用します。
一方、特定のTCPプロトコルの検証には、ソフトウェアを利用した疎通確認を行います。例えば、Webブラウザーを利用してhttpプロトコルの疎通確認を、また、メールソフトを利用してpop3プロトコルの疎通確認を行うことができます。
1. pingコマンド (簡単な疎通確認)
pingコマンドは下記の様に用いられます。
ここで、pingコマンドは -cオプションで送信パケット数を指定しない限り、無制限にパケットを送信し続けますので、コマンド実行中にCtrlキーを押しながらCキーを押すことで、コマンドを強制終了させます。
- 127.0.0.1 (端末自身) に対して疎通を確認する。
# ping 127.0.0.1 - 192.168.0.1に対して疎通を確認する。
# ping 192.168.0.1 - ドメイン(例:it.jfe-tec.jp)に対して疎通を確認する。
# ping it.jfe-tec.jp
2. tracerouteコマンド (通信経路確認)
tracerouteコマンドは下記の様に用いられ、同様にコマンド実行中にCtrlキーを押しながらCキーを押すことで、コマンドを終了できます。
- 192.168.0.1に対して通信経路を確認する。
# traceroute 192.168.0.1 - ドメイン(例:it.jfe-tec.jp)に対して通信経路を確認する。
# traceroute it.jfe-tec.jp
3. telnetコマンド (TCPプロトコルによる疎通確認)
telnetコマンドは下記の様に用いられ、端末への接続状況 (Connected to ~) の表示内容により、疎通確認を行います。
- 192.168.0.1に対してpop3 (110番ポート) プロトコルの疎通確認をする。
# telnet 192.168.0.1 110 - ドメイン(例:it.jfe-tec.jp)に対してhttp (80番ポート) プロトコルの疎通確認をする。
# telnet it.jfe-tec.jp 80
(*1) ICMP (Internet Control Message Protocol: インターネット制御通知プロトコル) とは、コンピューターやネットワーク機器間で互いの状態を確認するために用いられるプロトコルです。pingおよびtracerouteコマンドは、通信先、又は、通信経路上にあるネットワーク機器からの応答通知を受信し、その結果を成形し表示します。
(*2) TCP (Transmission Control Protocol: 伝送制御プロトコル) とは、セッション形式の信頼性のある通信に使用されます。 通常、送信パケットは消失したり、遅延によって順序が入れ替わって到着したり、或いは、再送によって重複して到着したりすることがあります。TCPプロトコルを利用した通信は、データの抜けや重複・誤りがなく、送信側で送ったデータがそのままの順序で正しく受信側へ届けるエラー訂正機能を持ち、データ転送などの信頼性が要求される場面で活用されます。
(*3) telnetコマンドは、同プロトコルを利用してサーバーを遠隔操作するためのクライアントソフトとして利用します。また、ポート番号を指定し、テキストベースによるソケット通信のクライアントソフトとして利用することも可能です。
ネットワーク設定確認
端末自身が正常に通信可能な状態であるか否かを検証するには、ネットワーク設定を確認し、NICやルーティングテーブルの状態を調査します。
ネットワーク設定を確認するには、ifconfigおよびnetstatコマンドを利用します。
ifconfigコマンドはNICの状態確認に利用し、netstatコマンドはルーティングテーブルの表示に利用します。
1. ifconfigコマンド (NIC状態確認)
ifconfigコマンド使用例は下記の通りです。
- 機能が有効になっているNIC情報を表示する。
# ifconfig - 機能が無効になっているNICを含む、全てのNIC情報を表示する。
# ifconfig -a - イーサネットカード:eth0のNIC情報のみを表示する。
# ifconfig eth0
2. netstatコマンド (ルーティングテーブル確認)
netstatコマンドは下記の様に活用します。
- ルーティングテーブルを表示する。
# netstat -rn
3. 設定ファイル
NIC、デフォルトゲートウェイ、スタティックルーティングに関連する設定は下記の通りです。
- NIC設定ファイル (*4)
/etc/sysconfig/network-scripts/ifcfg-eth0 (eth0の場合) - デフォルトゲートウェイ設定ファイル (*5)
/etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 等のNIC設定ファイル - スタティックルーティング設定ファイル (*6)
/etc/sysconfig/static-routes /etc/sysconfig/network-scripts/eth0.route (ゲートウェイと通信するNICがeth0の場合) /etc/sysconfig/network-scripts/route-eth0 (ゲートウェイと通信するNICがeth0の場合)
(*4) OSベンダーやOSバージョンによっては、NIC設定ファイルのハードリンク (ファイルの実体が同一のものを指すリンク) が /etc/sysconfig/networking/devices/ 配下に設置されている事があります。 この場合、/etc/sysconfig/network-scripts/ 配下のファイルとiノード (ファイルの実体に与えられた管理番号) が同じである必要があります。iノードの確認には、「ls -i」コマンドを利用します。
(*5) デフォルトゲートウェイの設定は、複数の設定ファイルの内の一つのファイルに記述しますが、複数の設定ファイルに分割して記述している場合には、問題が発生する危険性があり、システム運用上のトラブル発生の原因となります。
(*6) スタティックルーティング設定ファイルは、OSベンダーやOSバージョンにより一定していません。
DNS名前解決に関する設定確認
Webサイトを閲覧する場合には、WebブラウザーのURL入力欄の「http://」の後ろにドメインを入力しますが、コンピューターはドメイン名を直接解釈する事が出来ず、IPアドレスでの通信先端末の判別を行ないます。そこで、コンピューターは、URLがドメインで記述されている場合には、DNSサーバーを参照し、ドメインをIPアドレスに変換し実行します。
ドメインをIPアドレスに変換することを (DNSの) 名前解決といいます。ここで、何らかの理由によりドメインが名前解決できない場合、IPアドレスを識別する事ができないため、コンピューターは指定されるWebサイトにアクセスする事はできません。
万一、アクセス不能となる場合には、DNS名前解決に関する設定情報を確認することで、名前解決によるトラブルであるか否かを切り分けすることができます。
DNS名前解決の確認にはnslookup、host、digコマンドのいずれかを使用します。ここではnslookupコマンドを採り上げます。
1. nslookupコマンド (DNS情報確認)
nslookupコマンドは下記の様に用います。
- ドメイン(例:it.jfe-tec.jp)の名前解決を行う。
# nslookup it.jfe-tec.jp
2. 設定ファイル
DNS名前解決を行う際に必要となる設定ファイルは下記の通りです。
- DNSリゾルバー (名前解決) 設定ファイル
/etc/resolv.conf
ファイアウォール設定確認
ファイアウォール設定の確認により、端末からの送信パケットが、ファイアウォールにて遮断されているか否かを調査することができます。
Linuxのファイアウォールには、任意の通信パケットをフィルタリングするiptablesがあります。iptablesの設定を確認するにはiptablesコマンドを利用します。
1. iptables設定確認
iptablesは下記の様に活用されます。
- iptablesの現在の設定情報を表示する。
# iptables -L -n
2. 設定ファイル
iptablesの設定ファイルは下記です。(*7)
- iptables設定ファイル
/etc/sysconfig/iptables
(*7) 設定管理を容易にする事を目的に、ファイアウォール設定シェルプログラムを別途用意しているケースがあります。この場合、iptables設定が行われているにも関わらず、iptables設定ファイルが存在しない事があります。
次回は、LANケーブルおよびNICのトラブルに備え、予めNICを複数用意し、トラブル発生時にNICの切替を瞬時に実行するための「NIC冗長化設定 (bonding設定)」についてです。


