![]() |
Top > Master of Network > ifconfig - (IP)ネットワーク環境の確認/設定を行う |
ifconfigコマンドは、おもにUNIX系OSやLinuxで使用されるネットワーク環境の状態確認/設定のためのコマンドだ。ホストに設置されたNIC(ネットワーク・インターフェイス)に対し、IPアドレスやサブネットマスク、ブロードキャストアドレス、そのほかの基本的な設定を行うとともに、現在の設定の確認もできる。 IP(IPv4)のための機能が中心だが、IPXやIPv6のための設定機能もある(OSバージョンやドライバに依存する)。
●Linuxの場合
■ネットワーク環境を確認するifconfigの第一の目的は、現在のネットワークの設定状態を確認することだ。すべての設置済みのインターフェイスを確認するには「-a」オプションを用いる。
ここでは、3つのインターフェイスの結果が表示されている。「eth0」「eth1」「lo」がそれだ。eth0とloは正常に稼動し、eth1は起動されていない。それぞれは「インターフェイス名」と呼ばれ、設定時に指定するための名称である。対応するネットワーク・ドライバが正常にロードされていれば、OSが自動的に認識してくれる。ethの後に続く「0」「1」の番号は認識した順に割り振られる。またethはイーサネットの場合の例で、PPP接続などの場合は「ppp」となる。これらの先頭文字列も、OSや環境しだいでは別の名称に変更されている場合がある。 loは「ローカルループバック」と呼ばれる特別な仮想インターフェイスだ。ホスト自身を示しており、OSのプロトコルスタックが必ず提供することになっている。従って、まったくNICを設置していない場合でも、このloだけは存在する。そうした初期状態であっても、仮想的にネットワークのテストなどに使えるように用意されているのだ。また、対応するIPアドレスは必ず127.0.0.1が割り当てられる。当然、このIPアドレスを用いて外部と通信することはできない。 ではeth0を元に、実際の表示内容を見ていこう。なお、表示されない項目は設定自体がなされていないということを意味する。例えばIPアドレスが表示されていなければ、IPアドレスの設定が何らかの問題で失敗しているということになる。 (1)
リンクメディアの種類 (2)
MACアドレス (3)
IPアドレス (4)
ブロードキャストアドレス (5)
サブネットマスク (6)
インターフェイスの起動(UP)/停止(DOWN)状態 (7)
ブロードキャストの使用 (8)
インターフェイスの有効/無効 (9)
マルチキャストの有効/無効 (10) MTU(Maximum Transfer
Unit)サイズ (11)
メトリック (12)
インターフェイスの統計値 (13) インターフェイスが使用する割り込み番号 (14) インターフェイスドライバのI/O開始アドレス
|
|
設定はインターフェイスごととなるので、インターフェイス名の指定が必須になる。インターフェイス名に続くオプションにより設定が行える。DHCP機能などを使用しない限り、静的なIPアドレスの設定は必須だ。引数として単に与えられた場合は、インターフェイスに設定するIPアドレスを意味する。また、最低限の設定としては、サブネットマスク、ブロードキャストアドレスの設定も必要だ。それぞれ、接続されるネットワークによって管理者により取り決められているはずなので、設定値には注意を払おう。設定値を間違えると、ネットワークへ接続できなかったり、無駄な通信によりネットワークに甚大な被害を与えることがある。
なお、「IPアドレス」「サブネットマスク」「ブロードキャストアドレス」はそれぞれ個別に設定することもできる。
●使用例2:インターフェイスの起動/停止
|
通常はIPアドレスを設定した時点で、インターフェイスは起動状態に移行する。ただし、インターフェイスを一時的に停止して作業を行いたい場合もあるだろう。その際には任意にインターフェイスの起動/停止も行える。
●使用例3:MTUを変更する
|
最近のブロードバンド環境では、MTUの変更を必要とする場合もある。MTUとは、イーサネットフレーム(パケット)のデータ部分の最大サイズのことだ。このデータ部分にはIPパケットを(必要であれば)分割格納するのだが、フレームを転送するホストやルータでMTU値が大きく異なっていると、サイズ合わせのためにIPパケットの分割と結合が多発し、著しく性能を低下させることもある。MTUには、最大1500までの数値を設定できる。
Linuxではデフォルトで1500バイトとなっており、問題にならないことも多いが、ISPやルータの販売メーカーから別途指示がある場合には、「mtu」オプションで変更してみてもよいだろう。
●使用例4:IPエイリアスの指定
|
物理的に1つのインターフェイスに、複数のIPアドレスを割り当てるのがIPエイリアスだ。この設定により、仮想的に複数のインターフェイス(IPアドレス)を利用可能になる。必要になることは少ないだろうが、例えばISP業者のように、1台のサーバマシン上で複数のWebサーバを起動して、それぞれ別のIPアドレスを割り当ててサービスを提供する場合などに利用される。
IPエイリアスのためのインターフェイス名は、メインとなるインターフェイス名の右辺に「:(コロン)」とエイリアス番号(通常は0から始まるそのインターフェイスにおけるエイリアスの連番)を指定する。「サブネットアドレス」「ブロードキャストアドレス」についても、通常通り設定できる。ただし、メインとなるインターフェイス自身に対して、事前にIPアドレスなどの設定が完了していなければならない。
| |
IPエイリアスを追加した例。「eth0:0」が追加されたエイリアスのエントリーだ |
メインとなるeth0以外に、エイリアスとして設定された仮想的なインターフェイスが「eth0:0」として追加されているのが分かるだろう。最新のカーネル(バイナリ配布)であればデフォルトで利用できるようだが、バージョンによっては「ip_alias.o」モジュールをあらかじめロードしておく必要がある。
●インターフェイスは正常に動作しているか?
インターフェイスが正常に動作しているかどうかは、「ifconfig
-a」などで、各インターフェイスの「UP」「RUNNING」が表示されているかどうかを確認しよう。前述のように、「RUNNING」はドライバ自体の動作を、「UP」は起動を意味している。「RUNNING」のみ表示されている場合には、「ifconfig
インターフェイス名
up」を実行してみよう。こういった障害が発生した場合には、
などの原因が考えられる。
●統計値を確認してみる
「インターフェイスが動作しているのに外部と通信できない。どうもネットワークのレスポンスが悪かったりエラーが頻発しているようだ」という場合には、「ifconfig
-a」などで表示されるインターフェイスごとの統計値が参考になる。
まず、パケット数が0より増えているかどうか。ここが0であれば、元々ネットワークと通信できていないことになるので、ハードウェア障害なども疑った方がいい。また、エラーパケット数、破棄パケット数なども要注意だ。ここでいくつか報告されているようなら、通信品質が劣っていることになる。特にLAN環境であれば、ほぼ0程度で抑えられているはずだ。目立って値が大きい場合には、同じセグメント上のほかのホストではどうか、ルータなどで問題がないかどうか、ネットワーク占有率が高くないかどうかなど、ネットワーク全体での問題も調査してみよう。
●IPアドレスの間違いは馬鹿にできない
経験上、多くの「通信できない」といった問題では、IPアドレスやサブネットマスクの設定間違いといったケアレスミスが意外に多い。「間違いないはず」と思い込んでいる部分こそがもっとも危険なわけだ。
IPアドレスの重複/打ち間違いのほか、サブネットマスクの間違いは、自身の問題だけでなく、ほかのホストやネットワーク全体にも迷惑をかけることになる。逆に、ほかのホストでの設定ミスによって、そのホストに対して接続できないトラブルなども考えられる。
関連記事 | |
ネットワークの設定は正しいか? 重要なのはIPアドレスとサブネットマスク | |
関連ネットワーク・コマンド/ツール | |
ipconfig 〜Windowsのネットワーク設定を確認する | |
![]() |
ifconfig 〜(IP)ネットワーク環境の確認/設定 |
![]() |
「連載 ネットワーク・コマンドでトラブル解決」 |
![]() |
![]() 一歩進んだ 企業ネットワークを ★OCN VPN Solution★ ![]() □□フォーラム開催□□ 様々な導入事例をご紹介 □無料事前登録受付中□ |
![]() |
![]() |
![]() プレゼント◆MCA対応 書籍+受験チケット ![]() 実録キャリア相談: 損保系プロマネ31歳 | ||||
◆OracleWorldのすべて 見せます、教えます! ◆高速PDF生成ツール 「biz-Stream」紹介 ◆数値化不可能なデータ を検索可能にするSPSS ◆シスコシステムズ: 緊急インタビュー! ◆必見!オラクル主催 技術者向け1Dayセミナー ◆ANA導入担当者が語る PDF活用/成功のカギ! ◆NTTコミュニケーション ズ:緊急インタビュー! ◆MCP資格をスキルの 土台作りに生かす方法
|
|
|
|
||||||||
@IT
新着記事![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||||||||||
Copyright(c) 2000-2002 atmarkIT 著作権はアットマーク・アイティまたはその記事の筆者に属します @ITに掲載されている記事や画像などの無断転載を禁止します 弊社へのご連絡は「@ITへのお問い合わせ」をご覧ください |