ifconfig -
ネットワーク・インタフェースの設定
ifconfig [interface]
ifconfig interface [aftype] options | address ...
ifconfig
はカーネルによって認識されているネットワーク・インタフェースの設定に使用する。
特にブート時に、必要に応じてインタフェースを設定するために使用される。
ブート後には、デバッグやシステムチューニングなどの特殊な目的がなければ、
通常使うことはない。
引数が与えられないと、
ifconfig
は現在動作しているインタフェースの状態を表示する。
もし一つの
インタフェースが引数として与えられると、
そのインタフェースの状態だけを表示する。
また
-a
が引数として与えられると、停止しているものも含めて、
すべてのインタフェースの状態を表示する。
以上のいずれでもない場合、ifconfig
はインタフェースを設定する。
インタフェース名の直後に置かれた引数が、
サポートされているアドレス・ファミリーの名前として認識されると、
すべてのプロトコル・アドレスの解釈と表示は、
そのアドレス・ファミリーに従う。
現在サポートされているアドレス・ファミリーは次の通り:
inet (TCP/IP, デフォルト),
inet6
(IPv6),
ax25 (AMPR Pakcet Radio),
ddp (Appletalk
フェーズ 2),
ipx (Novell IPX),
netrom
(AMPR Packet radio).
- interface
- インタフェースの名前である。
これは通常、ドライバーの名前に装置の番号を付けたものである。
例えば、 eth0
は最初のイーサネット・インタフェースである。
- up
- このフラグは、インタフェースを活動状態にする。
インタフェースに新しいアドレスを割り当てた場合は、
暗黙のうちにこの up
が指定される。
- down
- このフラグは、このインタフェースのドライバを停止する。
- [-]arp
- ARP
プロトコルの使用を有効/無効にする。
- [-]promisc
-
無差別 (promiscuous)
モードを有効/無効にする。
もし有効にすると、ネットワーク上のすべてのパケットは
このインタフェースにより受信される。
- [-]allmulti
-
全マルチキャスト
(all-multicast)
モードを有効/無効にする。
もし有効にすると、ネットワーク上のすべてのマルチキャスト・パケットは
このインタフェースにより受信される。
- metric N
- この引数はインタフェースメトリックを設定する。
- mtu N
- この引数はインタフェースの最大転送単位
(MTU) を設定する。
- dstaddr addr
- (PPPのような)
ポイント間接続においてリモートの
IP
アドレスを設定する。
この引数はすでに古い仕様となったので、代りに
pointopoint
キーワードを使用すること。
- netmask addr
- このインタフェースの
IP
ネットワークマスクを設定する。この値は通常、
(IP
アドレスに対応する)
クラス A,B,C の
ネットマスクがデフォルトで設定
されるが、値を指定することも可能である。
- add addr/prefixlen
- IPv6
アドレスをインタフェースに追加する。
- del addr/prefixlen
- IPv6
アドレスをインタフェースから削除する。
- tunnel aa.bb.cc.dd
- 新規の SIT (IPv6-in-IPv4)
デバイスを作成し、
与えられた対象アドレスにトンネルする。
- irq addr
- このデバイスにより使用される割り込みを設定する。
ただし、すべてのデバイスで動的な
IRQ
設定の変更が可能なわけではない。
- io_addr addr
- このデバイスの
I/O
開始アドレスを設定する。
- mem_start addr
- このデバイスにより使用される共有メモリーの開始アドレスを設定する。
これは、いくつかのデバイスでのみ必要とされる。
- media type
- このデバイスで使用される、物理ポートもしくは媒体タイプを設定する。
すべてのデバイスで、この設定の変更が可能なわけではない。
また可能なものでも、どの値をサポートしているかはデバイスによって異なる。
type の値は、 10base2 (thin
イーサネット), 10baseT
(twisted-pair 10Mbps イーサネット),
AUI
(外部トランシーバー)
などである。 auto
は特殊な媒体指定で、
ドライバーに媒体を自動検出するよう伝える。
同じく、すべてのドライバでこれが可能であるわけではない。
- [-]broadcast [addr]
- アドレスを指定すると、このインタフェースに
プロトコルブロードキャストアドレスを設定する。
指定されないと、このインタフェースに
IFF_BROADCAST フラグを設定
(もしくは解除)
する。
- [-]pointopoint [addr]
-
ポイント間接続
(point-to-point)
モードを有効にする。
これは二つのマシン間だけで直接接続し、
他が干渉できないことを意味する。
アドレスも指定された場合は、リンクの相手側のプロトコルアドレスを設定する。
これにより、 dstaddr
は古い仕様となった。指定されない場合
IFF_POINTOPOINT
フラグを設定もしくは解除するだけである。
- hw class address
- デバイスドライバーがこの操作をサポートしていれば、
インタフェースのハードウェアアドレスを設定する。
このキーワードの後には、ハードウェアのクラスの名前と
ハードウェアアドレスにあたる
ASCII
文字列が続かなくてはならない。
現在サポートされるハードウェアクラスは
ether (イーサネット),
ax25 (AMPR AX.25), ARCnet, netrom (AMPR NET/ROM)
である。
- multicast
- インタフェースのマルチキャストフラグを設定する。
通常はドライバーが自動で設定するので、
- address
- このインタフェースに割り当てる
IP アドレス。
- txqueuelen length
- デバイスの送信キューの長さをセットする。
遅延が大きく、遅いデバイス
(モデム、ISDN) に対して
小さい値をセットすると、
大量転送中に telnet
のようなインタラクティブなトラフィックが
あまり邪魔されないようにできる。
カーネルリリース 2.2
からは、
エイリアスされたインタフェースに対する
明示的なインタフェース統計がなくなった。
元のアドレスに対して表示される統計は、
同じデバイスの全ての別名アドレスで共通のものとなる。
アドレス毎の統計が欲しい場合は、
ipchains(8)
コマンドを使って、そのアドレスの明示的な集計ルールを追加すること。
イーサネットデバイスドライバの割り込み問題により、
EAGAIN で失敗する。
より詳細な情報は
http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html
を参照すること。
/proc/net/socket
/proc/net/dev
/proc/net/if_inet6
Appletalk DDP と IPX
はアドレスの表示はするが、
このコマンドにより変更することはできない。
route(8),
netstat(8),
arp(8),
rarp(8),
ipchains(8)
Fred N. van Kempen, <
[email protected]>
Alan Cox, <
[email protected]>
Phil Blundell, <
[email protected]>
Andi Kleen