ifconfig コマンド

目的

TCP/IP を使用するネットワークのネットワーク・インターフェース・パラメーターを構成または表示します。

構文

ifconfig InterfaceAddressFamilyAddressDestinationAddress ] ] [  Parameters... ] ]

ifconfig InterfaceProtocolFamily ] Interface ProtocolFamily

ifconfig -a-l ] [  -d ] [  -u ] [ ProtocolFamily ]

説明

ifconfig コマンドは、ネットワーク・インターフェースにアドレスを割り当てたり、現在のネットワーク・インターフェース構成情報を構成または表示するために使用することができます。マシン上にある各インターフェースのネットワーク・アドレスを定義するには、システム始動時に ifconfig コマンドを使用します。また、システム始動後にインターフェースのネットワーク・アドレスや他の操作パラメーターを再定義するためにも使用できます。ネットワーク・インターフェース構成は実行中のシステム上に保持されており、システムを再始動するたびに再設定します。 ifconfig コマンドは、IFF_MULTICAST フラグを解釈し、このフラグが設定されていれば、その値を出力します。

インターフェースはそれぞれの命名方式を必要とすることもある異なるプロトコルによる送信を受信できます。 AddressFamily パラメーターを指定する必要がありますが、その結果、残りのパラメーターの解釈が変わることもあります。現在サポートされているアドレス・ファミリーは、inetinet6、および ns です。

DARPA インターネット・ファミリー inet の場合、アドレスは、ホスト名データベースにあるホスト名か、またはインターネット標準の小数点付き 10 進表記で表された DARPA IP アドレスです。

Xerox の XNS (Xerox Network System) ファミリーを示す ns の場合、アドレスは net:a.b.c.d.e.f. です。ここで、net は割り当てられたネットワーク番号 (10 進数) で、 6 バイトのホスト番号である af はそれぞれ 16 進数で指定します。ホスト番号は、ハードウェア物理アドレスを使う 10 Mbps イーサネット・インターフェースと、XNS 以外のインターフェースでは省略されることもあります。

どのユーザーもネットワーク・インターフェースの状況を照会することができますが、インターフェースの構成を修正できるのは管理権限を持つユーザーだけです。

ifconfig 機能は、オプションのパラメーターを指定しないと、ネットワーク・インターフェースの現行構成を表示します。

プロトコル・ファミリーを指定すると、ifconfig はそのプロトコル・ファミリーに特有な詳細だけを報告します。

ARP が、イーサネット、トークンリング、および FDDI インターフェース用に無償でサポートされます。これは、IP アドレスが割り当てられた場合に、ホストが他のマシンにそのアドレスを通知するために、ホスト自体のアドレス (新規アドレス) に対する ARP 要求を送信して、他のマシンがその ARP 項目を直ちに更新できるようにすることを意味します。これにより、ホストに重複 IP アドレスを検出させることにもなります。 ARP 要求に対する応答を入手した場合は、エラーは /var/adm/ras/errlog に記録されます。これは エラー ID AIXIF_ARP_DUP_ADDR に関する SMIT インターフェースを使用して表示できます。

フラグ

-a オプションとして、インターフェース名の代わりに -a フラグを使用することができます。このフラグを指定して ifconfig コマンドを実行すると、システム内のすべてのインターフェースについての情報が表示されます。
-d -d フラグはダウンしているインターフェースを表示します。
-l このフラグはシステム上の使用可能なインターフェースをすべてリストし、その他の補足情報は表示しません。このフラグは他のフラグおよびコマンドと併用することはできませんが、-d および -u とは併用できます。
-u -u フラグは稼働しているインターフェースを表示します。
ProtocolFamily このフラグは、tcpudptcp6udp6icmp、および icmp6 といったプロトコルを指定します。

パラメーター

Address ネットワーク・インターフェースのネットワーク・アドレスを指定します。 inet ファミリーの場合、Address パラメーターは、ホスト名か標準ドット 10 進表記で表された IP アドレスです。
AddressFamily 変更したいネットワーク・アドレス・ファミリーを指定します。現在サポートされているアドレス・ファミリーは、inetinet6、および ns です。このパラメーターのデフォルトは、inet アドレス・ファミリーです。
DestinationAddress 2 地点間リンクのリモート側の通信相手のアドレスを指定します。
Interface 表示または変更したいネットワーク・インターフェース設定値を指定します。 ifconfig コマンドを使用するときに、Interface パラメーターでインターフェースを指定します。インターフェースの省略形には次のものがあります。
  • at (ATM (非同期伝送モード) の場合)
  • en (標準イーサネット (inet、xns) の場合)
  • et (IEEE 802.3 イーサネット (inet、xns) の場合)
  • tr (トークンリング (inet、xns) の場合)
  • xt (X.25 (inet) の場合)
  • sl (シリアル・ライン IP (inet) の場合)
  • lo (ループバック (inet) の場合)
  • op (シリアル (inet) の場合)
  • vi (仮想 IP アドレス (inet) の場合)

特定のインターフェースを識別するために省略形の後に数値を付けます (例えば、tr0)。

Interface がまだロードされていない場合は、 ifconfig Interface が指定したインターフェースをロードし、netstat -in がリストします。 Interface の状況照会を処理する際には、その照会処理を完了するために、指定したインターフェースがロードされます (まだロードされていない場合)。

Parameter 次のパラメーター値が使えます。
alias
インターフェースの追加ネットワーク・アドレスを設定します。このパラメーターは、ネットワーク番号を変更するときに、以前のインターフェースあてのパケットを受け取るのに便利です。
 
allcast
ネットワーク上のすべてのリングにブロードキャストを行なうようにトークンリング・インターフェースを設定します。
 
-allcast
ローカル・リングのみにブロードキャストを行なうようにトークンリング・インターフェースを限定します。
 
arp
ネットワーク・レベルのアドレスとリンク・レベルのアドレス間のマッピング時に、 ifconfig コマンドがアドレス解決プロトコルを使用できるようにします。 arp の値はデフォルトです。
 
-arp
アドレス解決プロトコルを使用不可にします。
 
authority
将来のために予約されています。
 
bridge
将来のために予約されています。
 
-bridge
将来のために予約されています。
 
broadcast Address
(inet のみ) ネットワークへのブロードキャストに使用するアドレスを指定します。デフォルトのブロードキャスト・アドレスは、ホスト部分がすべて 1 です。
 
-dad
(inet6 のみ) 重複する IPv6 アドレスのアドレス検出を行いません。
 
-debug
ドライバー依存のデバッグ・コードを使用不可にします。
 
delete
指定したネットワーク・アドレスを除去します。別名を誤って指定したときや、別名が不要になったときに使用します。 ns アドレスを誤って設定すると、ネットワーク・アドレスのホスト部分を指定する副次効果があります。すべての ns アドレスを除去すると、ホスト部分を再指定できます。
 
detach
ネットワーク・インターフェース・リストからインターフェースを除去します。最後のインターフェースが切り離されると、ネットワーク・インターフェース・ドライバー・コードがアンロードされます。接続されたインターフェースのインターフェース経路を変更するには、そのインターフェースを切り離し、ifconfig を使用して再度追加する必要があります。
 
down
インターフェースに非アクティブ (down) のマークを付けます。このマークを付けると、システムはそのインターフェースを通じてメッセージを転送しようとしなくなります。可能であれば、ifconfig コマンドはインターフェースも再設定してメッセージを受信できないようにします。ただし、インターフェースを使う経路が自動的に使用不可にされるわけではありません。
 
eui64
(inet6 のみ) 実際の IPv6 アドレスは、与えられたアドレスの最後の 64 バイトをインターフェース ID で置き換えることにより計算されます。
 
first
IPv6 アドレスをインターフェースの最初の場所に置き、それをアンバウンド・ソケットのソースとして選択します。このパラメーターには次の構文を使用します。

ifconfig interface inet6 first address
 
firstalias
(inet6 のみ) alias と同様ですが、アドレスをインターフェース・アドレス・リストの前にセットし、それをアンバウンド・ソケットのソースとして選択します。
 
group ID
インターフェースのグループ ID リストにグループ ID を追加します。このリストは、インターフェースに届いたパケットの転送時の経路を設定するときに使用します。
 
-group ID
インターフェースのグループ ID リストからグループ ID を除去します。このリストは、インターフェースに届いたパケットの転送時の経路を設定するときに使用します。
 
hwloop
ハードウェアのループバックを使用可能にします。ハードウェアのループバックは、インターフェースが処理するローカルにアドレッシングされたパケットを対応するアダプターで送出しなければならないことを指定します。
 
-hwloop
ハードウェアのループバックを使用不可にします。ハードウェアのループバックは、インターフェースが処理するローカルにアドレッシングされたパケットを対応するアダプターで送出しなければならないことを指定します。
 
ipdst
リモート・ネットワーク宛ての ns パケットをカプセル化して、IP パケットを効率よく受信するインターネット・ホストを指定します。明示的な 2 地点間リンクが構築され、指定されたアドレスは宛先の ns アドレスとネットワークであると想定されます。
 
ipv6dst
トンネルを使用して、IPv6 または IPv4 パケットをカプセル化している IPv6 パケットを受け取る IPv6 ノードを指定するために使用します。 2 地点間トンネル・インターフェースの明示された転送先は、パケットの実際の転送先でない場合があります。トンネルのエンドポイントで、カプセル解除されたパケットは最終的な宛先に転送されます。
 
link [0-2]
インターフェースのリンク・レベルの特別な処理を可能にします。この 3 つのオプションはインターフェースに特有なものです。しかし、実質的には、これらは通常、特別な操作モードを選択するために使用されます。例えば、SLIP 圧縮を使用可能にするため、またはあるイーサネット・カード用のコネクター・タイプを選択するために使用できます。詳しくは、特定のドライバーの資料を参照してください。
 
-link [0-2]
指定されたインターフェースのリンク・レベルでの特別な処理を使用不可にします。
 
metric Number
インターフェースの経路指定メトリックを、Number 変数で指定した値に設定します。デフォルト値は 0 (ゼロ) です。経路指定メトリックは、経路指定プロトコル (routed デーモン) によって使用されます。高位のメトリックを指定すると、経路の優先順位が下がります。メトリックは、宛先ネットワークまたは宛先ホストへの付加ホップとしてカウントされます。
 
mtu Value
システムの最大 IP パケット・サイズを指定します。Value 変数には、60 〜 65535 の任意の数値を指定できますが、これはメディアに応じて異なります。
 
netmask Mask
ネットワークをサブネットワークに細分化するときに予約するアドレス数を指定します。このパラメーターは、inet のアドレス・ファミリーにしか使えません。

Mask 変数には、ローカル・アドレスのネットワーク部分と、アドレスのホスト・フィールドから取り出されるサブネット部分が含まれています。マスクは、標準インターネットの小数点付き 10 進表記の他に、0x で始まる単一の 16 進数として指定できます。

32 ビット・アドレスでは、マスクの、ネットワーク部分とサブネット部分用に予約されたビット位置には 1 が、ホストを指定するビット位置には 0 が入っています。マスクには、少なくとも標準ネットワーク部分が入っていなければならず、サブネット・セグメントはネットワーク・セグメントと隣接していなければなりません。

 
pktchain
このインターフェースが、出力パス上でともにチェーニングされた複数のパケットを処理できること示すフラグを使用可能にします。
 
-pktchain
このインターフェースが、出力パス上でともにチェーニングされた複数のパケットを処理できることを示すフラグを使用不可にします。
 
site6
IPv6 サイト番号をセットします (デフォルトはゼロ)。これは、複数サイト・ノード上のサイトのローカル・アドレスでのみ使用してください。
 
security
将来のために予約されています。
 
snap
将来のために予約されています。
 
-snap
将来のために予約されています。
 
tcp_nocksum
インターフェースに接続されているサブネットのローカル・トラフィックについての TCP データのチェックサム検査を実行できないようにします。 TCP、UDP、 IP の各プロトコル・ヘッダーのチェックサム検査は実行できます。また、このインターフェースを介してリモート・ネットワークから読み取られた TCP データやリモート・ネットワークへ書き込まれた TCP データのチェックサム検査も実行できます。
 
-tcp_nocksum
インターフェースに接続されているサブネットのローカル・トラフィックについての TCP データのチェックサム検査を実行できるようにします。これはデフォルトです。
 
thread
(inet のみ) インターフェースの専用カーネル・スレッドを構成します。このパラメーターは、複数の CPU を持つ SMP マシンでのみ使用できます。このパラメーターを設定すると入力パケットは、デバイス・ドライバーと入力 demuxer による処理の後、カーネル・スレッドに対するキューに入れられます。入力パケットは、割り込みレベルで直接処理されるのではなく、IP および TCP または UDP の中でスレッドによって処理されることになります。このパラメーターを設定すると、アダプターが高速にもかかわらず割り込み処理中に CPU が 1 個しか使用されないことがボトルネックとなっていた場合に、他の CPU がカーネル・スレッドを実行している間に入力パケットを処理することが可能になって、スループットが改善されることがあります (改良パイプライン)。ワークロードによっては、このパラメーターを設定するとパケットごとのオーバーヘッドがかえって増加することになります。それは、スレッド・スケジューリングのオーバーヘッドが生じ、CPU 使用率が高くなってスループットが落ちるためです。
 
-thread
(inet のみ) thread パラメーターによって構成されたカーネル・スレッド・サポートを構成するか使用不可にします。
 
up
インターフェースにアクティブ (up) のマークを付けます。パラメーターは、インターフェースの最初のアドレスを設定するときに自動的に使用されます。このパラメーターは、ifconfig down コマンドを発行した後でインターフェースを使用可能にするときにも使用できます。
 
vipa_iflist
この vipa を出力パケットでソース・アドレスとして使用するインターフェースのリストにインターフェースを追加します。
 
-vipa_iflist
この vipa を出力パケットでソース・アドレスとして使用するように構成されているインターフェースのリストからインターフェースを除去します。

以下のネットワーク・オプションは、一般に ISNO (Interface Specific Network Options) と呼ばれ、インターフェースごとに構成できます。

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
データを受信するインターフェース・ソケット用のデフォルトのソケット・バッファー・サイズ Size を指定します。このバッファー・サイズは、TCP が使用するウィンドウ・サイズに影響します。 (詳しくは no コマンドを参照してください。)
-tcp_recvspace
tcp_recvspace に対する ISNO の使用を除去します。その代わりにグローバルな値が使用されます。
tcp_sendspace Size
データを送信するインターフェース・ソケット用のデフォルトのソケット・バッファー・サイズ Size を指定します。このバッファー・サイズは、TCP が使用するウィンドウ・サイズに影響します。(詳しくは no コマンドを参照してください。)
-tcp_sendspace
tcp_sendspace に対する ISNO の使用を除去します。その代わりにグローバルな値が使用されます。
tcp_nodelay [0 | 1]
このインターフェース上で TCP を使用するソケットが、データの送信時に Nagle アルゴリズムに従うかどうかを指定します。デフォルトでは、TCP は Nagle アルゴリズムに従います。
-tcp_nodelay
tcp_nodelay オプションに対する ISNO の使用を除去します。

以下に、TCP/IP ネットワークと XNS ネットワーク上で ifconfig コマンドを使用した例を示します。

Inet の例

  1. シリアル回線 IP インターフェースの状況を照会するには、コマンドを次のように入力します。

    ifconfig  sl1

    この例では、照会対象のインターフェースは sl1 です。コマンドの結果は次のようになります。

    sl1:  flags=51<UP,POINTOPOINT,RUNNING>
                inet  192.9.201.3  -->  192.9.354.7  netmask  ffffff00
  2. ローカル・ループバック・インターフェースを構成するには、コマンドを次のフォーマットで入力します。

    ifconfig  lo0  inet  127.0.0.1  up
  3. ローカル・トークンリング・インターフェースに down のマークを付けるには、コマンドを次のフォーマットで入力します。

    ifconfig  tr0  inet  down

    この例では、マークされるインターフェースは token0 です。

  4. en5 上のすべての接続に対して rfc1323 をオフにするには (グローバルな値を 1 と想定して)、次のように入力します。

    ifconfig en0 rfc1323 0
  5. 仮想 IP アドレス (VIPA) を使用するようにインターフェースのリストを構成するには、次のように入力します。
    ifconfig vi0 vipa_iflist en0,en1,tr0
    
  6. VIPA を使用するように構成されているインターフェースを除去するには、次のように入力します。
    ifconfig vi0 -vipa_iflist en1,tr0
    
  7. vi0 などの VIPA を使用するように構成されているインターフェースを検索するには、次のように入力します。
    ifconfig vi0
    

XNS の例

  1. XNS の標準イーサネット型インターフェースを設定するには、次のフォーマットでコマンドを入力します。

    ifconfig  en0  ns  110:02.60.8c.2c.a4.98  up

    この例では、ns は XNS アドレス・ファミリー、110 はネットワーク番号、また 02.60.8c.2c.a4.98 はホスト番号です。このホスト番号は、各インターフェースに固有のイーサネット・アドレスです。複数のイーサネット・ハードウェア・インターフェースがあるときは、デフォルトが正しいインターフェースに対応しない場合があるので、ホスト番号を指定してください。イーサネット・アドレスは、次のコマンドで得られます。

    ifconfig  en0
    netstat  -v

    XNS アドレスには、以下の例に示すようにいくつかの表示方法があります。

    • 123#9.89.3c.90.45.56
    • 5-124#123-456-900-455-749
    • 0x45:0x9893c9045569:90
    • 0456:9893c9045569H

    最初の例の XNS アドレスは 10 進フォーマットです。2 番目の例のアドレスは 3 桁のグループに分割され、各グループは負符号 (-) で区切られています。 0xH のアドレスは 16 進形式です。終わりに、最後のアドレスの先頭の 0 は、8 進フォーマットであることを示しています。

  2. XNS の IEEE イーサネット 802.3 型インターフェースを設定するには、コマンドを次のフォーマットで入力します。

    ifconfig  et0  ns  120:02.60.8c.2c.a4.98  up

    en0 インターフェースと et0 インターフェースは、同じイーサネット・アダプターを使用していますが、別のインターフェースと見なされます。ネットワーク番号が違っていれば、2 つの別のネットワークを同時に定義して使用することができます。複数のイーサネット・アダプターがサポートされます。

    注: ホスト番号は、ハードウェア・アダプター上のイーサネット・アドレスに対応していなければなりません。システムに複数のホスト番号があることもあります。
  3. インターネット・カプセル化 XNS インターフェースを設定するには、次のフォーマットでコマンドを入力します。

    ifconfig  en0  inet  11.0.0.1  up
    ifconfig  en0  ns  110:02.60.8c.2c.a4.98  up
    ifconfig  en0  ns  130:02.60.8c.34.56.78  ipdst  11.0.0.10

    最初のコマンドで、inet アドレス 11.0.0.1 を持つインターネットを起動します。次のコマンドで en0 インターフェースを、ns アドレス・ファミリーにおいてネットワーク 110、ホスト番号 02.60.8c.2c.a4.98 に設定します。このコマンドはインターネット・パケット内で、XNS パケットがカプセル化されるときに使用されるホスト番号を定義します。最後のコマンドで、ネットワークを 130、ホスト番号を 02.60.8c.34.56.78、宛先 IP アドレスを 11.0.0.10 と定義します。最後のエントリーは新しいネットワーク・インターフェース nsip を作成します。このインターフェースの情報を得るには netstat -i コマンドを使用します。

関連情報

netstat コマンド