ifconfig コマンド
目的
TCP/IP を使用するネットワークのネットワーク・インターフェース・パラメーターを構成または表示します。
構文
ifconfig interface [ addressfamily [ address [ destinationaddress ] ] [ parameters... ] ]
ifconfig interface [ protocolfamily ] interface protocolfamily
ifconfig -a [ -l ] [ -d ] [ -u ] [ protocolfamily ]
ifconfig interface [ tcp_low_rto rto | -tcp_low_rto ]
説明
ifconfig コマンドは、ネットワーク・インターフェースにアドレスを割り当てたり、現在のネットワーク・インターフェース構成情報を構成または表示するために使用することができます。 システム上にある各インターフェースのネットワーク・アドレスを定義するには、システム始動時に ifconfig コマンドを使用します。また、システム始動後にインターフェースのアドレスや他のオペレーティング・パラメーターを再定義するためにも使用できます。 ネットワーク・インターフェース構成は実行中のシステム上に保持されており、システムを再始動するたびに再設定します。 ifconfig コマンドは、IFF_MULTICAST フラグを解釈し、このフラグが設定されていれば、その値を出力します。
インターフェースはそれぞれの命名方式を必要とすることもある異なるプロトコルによる送信を受信できます。addressfamily パラメーターを指定する必要がありますが、その結果、残りのパラメーターの解釈が変わることがあります。現在サポートされているアドレス・ファミリーは、inet および inet6 です。
DARPA インターネット・ファミリーを示す inet の場合、アドレスはホスト名データベース、すなわち、/etc/hosts ファイルにあるホスト名か、インターネット標準ドット 10 進表記で表された DARPA IP アドレスです。
どのユーザーもネットワーク・インターフェースの状況を照会することができますが、インターフェースの構成を修正できるのは管理権限を持つユーザーだけです。
ifconfig 機能は、オプションのパラメーターを指定しないと、ネットワーク・インターフェースの現行構成を表示します。
プロトコル・ファミリーを指定すると、ifconfig はそのプロトコル・ファミリーに特有な詳細だけを報告します。
スーパーユーザーだけがネットワーク・インターフェースの構成を変更できます。
無償 ARP が、イーサネット、トークンリング、および FDDI インターフェース用にサポートされます。 このサポートは、IP アドレスが割り当てられた場合に、ホストが他のシステムにホスト自身のアドレス (新規アドレス) を通知するために、新規アドレスに対する ARP 要求を送信して、他のシステムが ARP エントリーを直ちに更新できるようにすることを意味します。 これにより、ホストに重複 IP アドレスを検出させることにもなります。 ARP 要求に対する応答を入手した場合、エラーは /var/adm/ras/errlog に記録されます。これは、エラー ID AIXIF_ARP_DUP_ADDR に対して errpt コマンドを使用して (または SMIT インターフェースを使用して) 表示することができます。
ib0:flags=e3a0063<UP,BROADCAST,NOTRAILERS,RUNNING,ALLCAST,MULTICAST,GROUPRT>
pmtu 2048 qkey
0x1e qpn 0x48 lid 0x5c hca iba0 port 1 inet 1.2.3.120 netmask 0xffffff00 broadcast
1.2.3.255 inet6
fe80::2:c903:1:1e8d/64 tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
インターフェースには、パス MTU (pmtu)、キュー・キー (qkey)、キュー・ペア番号 (qpn)、ローカル ID (lid)、ホスト・チャネル・アダプター (hca)、およびポート番号 (port) が表示されるようになりました。この情報はデバッグ時または診断の実行時に役立ちます。
detach コマンドを ifconfig コマンドと一緒に指定した場合、他のすべてのオプションは無視されます。detach コマンドを指定すると、ipconfig コマンド内の文字化けによるエラーが回避されます。例えば、ifconfig en3 garbage detach
コマンドは、正しくないオプションを指定した場合でも正しく実行されます。
フラグ
項目 | 説明 |
---|---|
-a | オプションとして、インターフェース名の代わりに -a フラグを使用することができます。このフラグを指定して ifconfig コマンドを実行すると、システム内のすべてのインターフェースについての情報が表示されます。 |
-d | -d フラグはダウンしているインターフェースを表示します。 このフラグは、-a フラグまたは -l フラグと一緒にのみ使用できます。 |
-l | このフラグは、システム上の選択可能なインターフェースをすべてリストするために使用することができます (その他の追加情報は表示されません)。このフラグは他のフラグおよびコマンドと併用することはできませんが、-d および -u とは併用できます。 |
-u | -u フラグは稼働しているインターフェースを表示します。 このフラグは、-a フラグまたは -l フラグと一緒にのみ使用できます。 |
protocolfamily | このフラグは、tcp、udp、tcp6、udp6、icmp、 および icmp6 といったプロトコルを指定します。 |
パラメーター
項目 | 説明 |
---|---|
address | ネットワーク・インターフェースのネットワーク・アドレスを指定します。 inet ファミリーの場合、address パラメーターはホスト名または標準ドット 10 進表記による IP アドレスのいずれかです。 |
addressfamily | 変更したいネットワーク・アドレス・ファミリーを指定します。 現在サポートされているアドレス・ファミリーは、inet および inet6 です。 このパラメーターのデフォルトは、inet アドレス・ファミリーです。 |
destinationaddress | 2 地点間リンクのリモート側の通信相手のアドレスを指定します。 |
interface | 表示または変更したいネットワーク・インターフェース設定値を指定します。
ifconfig コマンドを使用する場合、interface パラメーターによってインターフェースを指定する必要があります。インターフェースの省略形には次のものがあります。
特定のインターフェースを識別するために省略形の後に数字を付けます (例えば、tr0)。 interface がまだロードされていない場合は、ifconfig interface がそのインターフェースをロードし、netstat -in がリストします。interface の状況照会を処理する際に、その照会処理を完了するために、指定したインターフェースがロードされます (まだロードされていない場合)。 |
パラメーター | 次のパラメーター値が使えます。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rto | 再送信タイムアウトをミリ秒で指定します。 この値の範囲は 0 - 3000 です。
要件: ifconfig コマンドを使用して rto の値を設定する前に、no コマンドの timer_wheel_tick の値を設定する必要があります。指定する rto の値は、設定されている timer_wheel_tick の値に等しいかまたはそれを 10 倍にした数値でなければなりません。 |
一般に Interface Specific Network Options (ISNO) と呼ばれる以下のネットワーク・オプションは、インターフェースごとに構成することができます。
- rfc1323 [0 | 1]
- RFC 1323、TCP Extensions for High Performance によって指定されたとおり、TCP 拡張を使用可能または使用不可にします。 値 1 は、このインターフェースを使用するすべての TCP 接続が RFC 拡張のネゴシエーションを試みることを指定します。 値 0 は、このインターフェースを使用するすべての接続の rfc1323 を使用不可にします。SOCKETS アプリケーションは、setsockopt サブルーチンにより、この ISNO および個々の TCP 接続上のグローバルな動作を指定変更することができます。
- -rfc1323
- このネットワークの rfc1323 に対する ISNO の使用を除去します。 SOCKETS アプリケーションは、setsockopt サブルーチンを使用して、個々の TCP 接続上のグローバルな動作を指定変更することができます。
- tcp_mssdflt Number
- リモート・ネットワークとの通信に使用する、デフォルトの最大セグメント・サイズを設定します。 このインターフェース上で通信する場合は、ソケットは、デフォルトの最大セグメント・サイズの値として Number を使用します。
- -tcp_mssdflt
- tcp_mssdflt オプションに対する ISNO の使用を除去します。 /usr/sbin/no を通じて操作されるグローバルな値が、その代わりに使用されます。
- tcp_recvspace Size
- データを受信するインターフェース・ソケット用のデフォルトのソケット・バッファー・サイズを指定します。 このバッファー・サイズは、TCP が使用するウィンドウ・サイズに影響します。(詳しくは、no コマンドを参照してください。)
- -tcp_recvspace
- tcp_recvspace オプションに対する ISNO の使用を除去します。 その代わりにグローバルな値が使用されます。
- tcp_sendspace Size
- データを送信するインターフェース・ソケット用のデフォルトのソケット・バッファー・サイズを指定します。 このバッファー・サイズは、TCP が使用するウィンドウ・サイズに影響します。(詳しくは、no コマンドを参照してください。)
- -tcp_sendspace
- tcp_sendspace オプションに対する ISNO の使用を除去します。 その代わりにグローバルな値が使用されます。
- tcp_nodelay [0 | 1]
- このインターフェース上で TCP を使用するソケットが、データの送信時に Nagle アルゴリズムに従うかどうかを指定します。デフォルトでは、TCP は Nagle アルゴリズムに従います。
- -tcp_nodelay
- tcp_nodelay オプションに対する ISNO の使用を除去します。
ヒント: ifconfig コマンドを使用して設定するパラメーターは、次回のシステム再始動時に失われます。パラメーターを永続的に変更するには、各インターフェースごとに chdev コマンドを使用してオブジェクト・データ・マネージャー (ODM) データベースを変更してください。 lsattr -E -l [interface] コマンドを使用してインターフェース属性を表示し、chdev -l [interface] -a [attribute=value] コマンドを使用して属性を変更します。例:lsattr -E -l en0 chdev -l en0 -a tcp_sendspace=65536
セキュリティー
例
- シリアル・ライン IP インターフェースの状況を照会するには、次のコマンドを入力します。
この例では、照会対象のインターフェースは sl1 です。コマンドの結果は、以下の結果のようなものです。ifconfig sl1
sl1: flags=51<UP,POINTOPOINT,RUNNING> inet 192.9.201.3 --> 192.9.354.7 netmask ffffff00
- ローカル・ループバック・インターフェースを構成するには、次のコマンドを入力します。
ifconfig lo0 inet 127.0.0.1 up
- ローカル・トークンリング・インターフェースに down のマークを付けるには、次のコマンドを入力します。
この例では、マークされるインターフェースは token0 です。ifconfig tr0 inet down
注: ネットワーク・インターフェースの構成を修正できるのは、root ユーザー権限を持つユーザーだけです。
- en5 上のすべての接続で rfc1323 をオフにするには (グローバル値が 1 と想定)、次のコマンドを入力します。
ifconfig en0 rfc1323 0
- vipa を使用するインターフェースのリストを構成するには、次のコマンドを入力します。
ifconfig vi0 vipa_iflist en0,en1,tr0
- vipa を使用するように構成されているインターフェースを除去するには、次のコマンドを入力します。
ifconfig vi0 -vipa_iflist en1,tr0
- どのインターフェースが vipa (例えば、ここでは vi0) を使用するように構成されているかを知るには、次のコマンドを入力します。
ifconfig vi0
- リンク状況モニターを使用可能にするには、次のコマンドを入力します。
アダプターifconfig en0 monitor
ent0
のリンク状況がdown
に変化すると、アダプターはインターフェース・レイヤーに通知して、それによりインターフェースがdown
にマークされます。 - 2 つのノードのインターフェース間の汎用経路指定カプセル化 (GRE) トンネルを構成するには、次のコマンドを入力します。
これにより、ローカル・インターフェースifconfig gre0 tunnel 9.3.149.70 9.3.149.121
9.3.149.70
とリモート・インターフェース9.3.149.121
との間の GRE トンネルが作成されます。トンネルのローカル・エンドはgre0
で識別されます。 - IP アドレスを、新しく作成されたインターフェースと関連付けるには、次のコマンドを入力します。
ifconfig gre0 10.10.10.1
- GRE トンネルに NAT を構成するには、次のコマンドを入力します。
この例では、GRE パケットのオリジナルの宛先ポートはifconfig gre0 nat toaddr 127.0.0.1 fromport 80 toport 8080
80
であり、そしてコマンドが宛先ポートを8080
へ、そして宛先アドレスを127.0.0.1
へ変更しています。 - 1 対多端点 (1 対多トンネル) 間で GIF トンネルを構成するには、次のコマンドを入力します。
このコマンドはソース (ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa6a 10.10.10.11,2000::4612:6995:6c4a: fa6b 15.15.15.1,2000::4612:6995:6c4a:f777
2000::4612:6995:6c4a:fa6e
) と次の 3 つのターゲットとの間に 1 対多トンネルを作成します。2000::4612:6995:6c4a:fa6a
2000::4612:6995:6c4a:fa6b
2000::4612:6995:6c4a:f777
10.10.10.1
IP アドレスを構成します。 - 2 つの端点の間に 1 対 1 の GIF トンネルを構成するには、次のコマンドを入力します。
このコマンドはソース (ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa66
2000::4612:6995:6c4a:fa6e
) とターゲット (2000::4612:6995:6c4a:fa66
) の間に GIF トンネルを作成します。 - またこのコマンドは、GIF インターフェースに 10.10.10.1 IP アドレスを構成します。
ファイル
項目 | 説明 |
---|---|
/etc/host | ホスト名データベースが入っています。 |
/etc/networks | ネットワーク名が入っています。 |