IP Network: ifconfig
COMMAND
ifconfig - ネットワーク環境の確認/設定
DESCRIPTION
ifconfigは、ネットワーク環境の状態確認/設定のためのコマンドです。ホストに設置された NIC(ネットワーク・インターフェイス)に対し、IPアドレスやサブネットマスク、ブロードキャストアドレスなど、基本的な確認や設定を行うことができます。
使用方法
■ ネットワーク環境を確認する
ifconfigの第一の目的は、現在のネットワークの設定状態を確認することだ。すべての設置済みのインターフェイスを確認するには「-a」オプションを用いる。
$ ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0c:29:ef:05:26 inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:feef:526/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:107 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11734 (11.7 KB) TX bytes:4535 (4.5 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:480 (480.0 B) TX bytes:480 (480.0 B) pan0 Link encap:Ethernet HWaddr be:89:aa:ad:5e:e5 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) $
ここでは、「eth0」「lo」「pan0」という3つのインターフェイスの結果が表示されています。eth0とloは稼動しているがpan0は起動されていない。これらは「インターフェイス名」と呼ばれ、設定時に指定するための名称です。対応するネットワーク・ドライバが正常にロードされていれば、OSが自動的に認識します。ethはイーサネットの場合で、PPP接続の場合は「ppp」となります。ethの後に続く「0」といった番号はインターフェースが認識された順に割り振られます。OSや環境によって、別の名称に変更されている場合があります。
loは「ローカルループバック」と呼ばれる特別な仮想インターフェイスです。ホスト自身を示しており、OSのプロトコルスタックが必ず提供することになっています。まったくNICを設置していない場合でも、このloだけは存在します。また、対応するIPアドレスは必ず127.0.0.1が割り当てられます。このIPアドレスを用いて外部と通信することはできません。
Link encap | 接続されているネットワークメディアの種類。ほとんどの場合、「Ethernet」と表示されます。ほかに「Local Loopback」「Token Ring」などがあります。 |
HWaddr | MACアドレス(物理アドレス)。通常、NICに対して出荷時に設定がなされているため変更することはできない。 |
inet addr | ホストのIPアドレス。設定したIPアドレスが表示されているか、DHCP機能によって割り振られたIPアドレスが表示されている。 |
Bcast | ブロードキャストのためのアドレスだ。サブネットマスクとは別に、ブロードキャストアドレスを設定することもできる。 |
Mask | ホストが使用するサブネットマスク。設定したサブネットマスクが表示されているか、DHCP機能によって割り振られたサブネットマスクが表示されている。 |
inet6 addr | ホストのIPv6アドレス。設定したIPv6アドレスが表示されているか、DHCP機能によって割り振られたIPv6アドレスが表示されている。 |
インターフェイスの起動状態 | 「UP」と表示されている場合、現在正常に稼働していることを示します。 |
ブロードキャストの使用 | 「BROADCAST」と表示されている場合、ブロードキャストが利用できることを示します。 |
インターフェイス準備の状態 | 「RUNNING」はドライバが正常にロードされメモリへのリソース割り当てが行われている状態を示します。 |
マルチキャストの有効/無効 | 「MULTICAST」と表示されている場合、マルチキャストと呼ばれる一対多の通信モードが有効になっていることを示します。 |
MTU(Maximum Transfer Unit) | このインターフェイスでのMTUサイズを示します。単位はバイト。 |
Metric | このインターフェイスでのメトリック値を示します。メトリックとは、ネットワーク・インターフェイスのルートに割り当てられる値で、そのルートを使用する場合の「通信コスト」を表します。具体的には、データ転送速度やホップ数、遅延時間などからそのルートのコストが計測されます。メト リック値が小さいルートほど、通信にかかるコストが小さいということを意味しています。 |
インターフェイスの統計値 | インターフェイスにおける現在までの統計値を示します。「RX Packets」は受信パケット、「TX Packets」は送信パケットです。「RX bytes」は受信バイト数、「TX bytes」は送信バイト数です。 |
表示されない項目は設定自体がなされていないということを意味します。
■ 基本的なネットワーク設定方法
IPアドレスの設定
$ ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
設定はインターフェイスごとにおこないます。最低限の設定としては、IPアドレス、サブネットマスク、ブロードキャストアドレスが必要になります。
インターフェイスの起動/停止
$ ifconfig eth0 up $ ifconfig eth0 down
MTUを変更する
$ ifconfig mtu 1500
MTUとは、イーサネットフレーム(パケット)のデータ部分の最大サイズ。 このデータ部分にIPパケットを(必要であれば)分割格納して転送するのだが、転送するホストやルータでMTU値が大きく異なっていると、サイズ合わせのためにIPパケットの分割と結合が多発し性能を低下させることがある。MTUには、最大1500までの数値を設定できる。
IPエイリアスの指定
$ ifconfig eth0:0 192.168.1.102
IPエイリアスとは、1つのインターフェイスに、複数のIPアドレスを割り当てること。この設定により、仮想的に複数のインターフェイス(IPアドレス)を利用可能になります。1台のサーバーマシン上で複数のWebサーバーを起動し、それぞれ別の IPアドレスを割り当ててサービスを提供する場合などに利用されます。
IPエイリアスのためのインターフェイス名は、 メインとなるインターフェイス名の右辺に「:(コロン)」とエイリアス番号(通常は0から始まるそのインターフェイスにおけるエイリアスの連番)を指定します。