IFCONFIG(8)

名称
ifconfig - ネットワークインタフェースのパラメータの設定を行なう

書式
ifconfig [-L] [-m] interface [create] [address_family] [ address [dest_address]] [parameters] ifconfig interface destroy ifconfig -a [-L] [-d] [-m] [-u] [address_family] ifconfig -l [-d] [-m] [-u] [address_family] ifconfig [-L] [-d] [-u] [-C]

解説
ifconfig ユーティリティは、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 ifconfig ユーティリティは、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。

以下のオプションを使用可能です:

address
    DARPA-Internet ファミリでは、アドレスはホスト名データベース hosts(5) に登録されているホスト名であるか、もしくは インターネット標準の “ドット表記” です。

    CIDR 表現 (スラッシュ表現としても知られています) もまた、 ネットマスクの表現に使用可能です。 つまり、 192.168.0.1/16 のようなアドレスを指定可能です。

    “inet6” ファミリでは、 ::1/128 のようなスラッシュ表現を使用して、プレフィックス長も指定可能です。 更なる情報については、後述の prefixlen パラメータを参照してください。

    リンクレベル (“link”) アドレスが、コロン区切りの 16 進数の連続で指定されます。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。

address_family
    他のパラメータの解釈に影響するネットワーク アドレスファミリ を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 “inet”, “inet6”, “atalk”, “ipx”, “link” です。 デフォルトは “inet” です。 “ether” と “lladdr” は “link” の同義語です。

dest_address
    ポイントツーポイントリンクにおける他端のアドレスを指定します。

interface
    インタフェースパラメータは、 “name unit” の形式で表現されます。 例えば “ed0” です。

ifconfig では以下のパラメータが利用できます:

add alias パラメータの別名です。 BSD/OS との互換性のために導入されました。

alias
    指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 衝突しないネットマスクを指定する必要があります。 通常、 0xffffffff が最適です。

-alias
    指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。

anycast
    (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。

arp アドレス解決プロトコル (arp(4)) を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 DARPA インターネットアドレスと IEEE 802 の 48 ビット MAC アドレス (Ethernet, FDDI, Token Ring のアドレス) の間の対応を取るように作られています。

-arp
    アドレス解決プロトコル (arp(4)) の使用を禁止します。

staticarp
    アドレス解決プロトコルが有効な場合、 ホストはそれ自身のアドレスについての要求に対してのみ応答し、 いかなる要求も送信しません。

-staticarp
    アドレス解決プロトコルが有効な場合、 通常のように動作、すなわち要求を送信して応答を聞き取ります。

broadcast
    ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。

debug
    ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。

-debug
    ドライバ依存のデバッグモードを無効にします。

promisc
    インタフェースを、永続的な無差別モードにします。

-promisc
    インタフェースの永続的な無差別モードを、無効にします。

delete
    -alias パラメータの別名です。

down
    指定したネットワークインタフェースに “down” とマークします。 “down” と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。

eui64
    (inet6 のみ) インタフェースインデックス (IPv6 アドレスの下位 64 ビット) を自動的に埋めます。

ipdst
    リモートネットワーク向け NS パケットをカプセル化している IP パケットを 受信する、インターネットホストを指定するために使用します。 外見上 point to point リンクが構成され、 指定されたアドレスは、 デスティネーションの NS アドレスとネットワークアドレスとされます。 CLNP パケットの IP カプセル化はこれとは異なった方法で実現されます。

maclabel label
    Mandatory Access Control サポートがカーネルで有効化されている場合、 MAC を label に設定します。

media type
    ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを “10base5/AUI” に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また “10baseT/UTP” に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。

mediaopt opts
    ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 opts 引数はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。

-mediaopt opts
    インタフェースのメディアオプションを無効にします。

mode mode
    ドライバがメディア選択システムをサポートする場合、 インタフェースに指定された動作モードを mode にします。 複数の動作モードをサポートする IEEE 802.11 無線インタフェースでは、 このディレクティブは 802.11a (“11a”), 802.11b (“11b”), 802.11g (“11g”) のいずれかの動作モードを選択するために使用されます。

name name
    インタフェース名を name に設定します。

rxcsum, txcsum
    ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを有効にします。 ドライバによっては、これらのフラグを独立に有効化できないものがあり、 そのような場合には一方を有効にするともう一方も有効になります。 ドライバは、信頼性がある範囲で、 可能な限りのチェックサムの仕事をオフロードします。 よって、オフロードのレベルは、ドライバによって違います。

-rxcsum, -txcsum
    ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを無効にします。 これらの設定は、常にもう一方の設定と独立とは限りません。

polling
    ドライバが、ユーザが設定可能な polling(4) をサポートしていれば、そのインタフェースではポーリングモードを選びます。

-polling
    ドライバが、ユーザが設定可能な polling(4) をサポートしていれば、そのインタフェースでは割り込みモードを選びます。

tunnel src_addr dest_addr
    (IP トンネルデバイスのみ) IP トンネルインタフェース (gif(4)) 用の、 物理的な始点アドレスと終点アドレスを設定します。 引数 src_addr と dest_addr は、カプセル化する IPv4/IPv6 ヘッダ用の、外部の始点/終点として解釈されます。

deletetunnel
    以前に tunnel で設定した IP トンネルインタフェースの、 物理的な始点アドレスと終点アドレスの設定を解除します。

create
    指定したネットワーク擬似デバイスを作成します。 ユニット番号無しでインタフェースが指定されると、 任意のユニット番号で新規デバイスを作成しようとします。 同一の ifconfig の呼び出しでインタフェースが名前を変更されたり破壊されたりしたのでなければ、 任意のデバイスの作成に成功すると新規デバイス名を標準出力へ表示します。

destroy
    指定したネットワーク擬似デバイスを破壊します。

plumb
    create パラメータの別名です。 Solaris との互換性のためにあります。

unplumb
    destroy パラメータの別名です。 Solaris との互換性のためにあります。

vlan vlan_tag
    インタフェースが vlan(4) 擬似インタフェースの場合、VLAN タグ値を vlan_tag に設定します。 この値は 16 ビット数値であり、 vlan(4) インタフェースから送られるパケットの 802.1Q VLAN ヘッダの作成に使用されます。 vlan と vlandev は同時に設定される必要があることに注意してください。

vlandev iface
    インタフェースが vlan(4) 擬似デバイスの場合、物理インタフェース iface を関連付けます。 vlan(4) インタフェースから送信されるパケットは、 802.1Q VLAN カプセル化付きで、指定された物理インタフェース iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい VLAN タグが付いていた場合、 そのパケットは関連付けられた vlan(4) 擬似インタフェースへ転換されます。 vlan(4) インタフェースには、親インタフェースのフラグと親のイーサネットアドレスが 割り当てられます。 vlandev と vlan は同時に設定される必要があります。 vlan(4) インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。

    注: vlan インタフェースで ハードウェアタグ機能をオンにした場合、 vlan(4) 擬似インタフェースの振舞いが変わります: 親インタフェースが (たいていはファームウェアにある) 自身の VLAN タグの 挿入と取り出しをサポートすること、 vlan(4) インタフェースが親に対して無修正でパケットを渡すべきことを、 vlan(4) インタフェースは認識します。

-vlandev iface
    ドライバが vlan(4) 擬似ドライバの場合、物理インタフェース iface とドライバとの関連付けを解除します。 これにより、 vlan(4) インタフェースとその親との間のリンクを破壊し、 VLAN タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。

vlanmtu, vlanhwtag
    ドライバがユーザ設定可能な VLAN をサポートしていれば、 拡張フレームの受理やハードウェアでのタグ処理をそれぞれ有効にします。 これは vlan(4) インタフェース自体に効く訳ではなく vlan(4) と関係する物理インタフェースに効くことに注意して下さい。

-vlanmtu, -vlanhwtag
    ドライバがユーザ設定可能な VLAN をサポートしていれば、 拡張フレームの受理やハードウェアでのタグ処理をそれぞれ無効にします。

metric n
    インタフェースのルーティングメトリックを n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル (routed(8)) で使用されます。

mtu n
    そのインタフェースの最大転送単位 (MTU) を n に設定します。デフォルト値はインタフェースに依存します。 MTU はインタフェースに送られるパケットの大きさを制限するのに用いられます。 MTU を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。

netmask mask
    (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、 ‘0x’ ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル networks(5) に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32 ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。

    ネットマスクはまた、CIDR 表現で、アドレスの後に指定可能です。 更なる情報については、前述の address オプションを参照してください。

prefixlen len
    (inet6 のみ) len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。

    プレフィックスは、 アドレスの後に、スラッシュ表現を指定することでも指定可能です。 更なる情報については、前述の address オプションを参照してください。

range netrange
    Appletalk において netrange に返答するようにインタフェースを設定します。 書式は startnet-endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 FreeBSD の内部においては netmask の集合として実装しています。

remove
    -alias パラメータの別名です。 BSD/OS との互換性のために導入されました。

phase
    これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。

link[0-2]
    指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。

-link[0-2]
    指定したインタフェースのリンクレベルでの特殊な処理を無効にします。

monitor
    インタフェースをモニタモードにします。 パケットは送出されず、受信パケットは bpf(4) の処理の後に捨てられます。

-monitor
    インタフェースのモニタモードを解除します。

up  指定したネットワークインタフェースに “up” とマークします。 本オプションは、 “ifconfig down” を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。

ssid ssid
    IEEE 802.11 無線インタフェース用であり、 希望するサービスセット識別子 (SSID; 別名はネットワーク名) を設定します。 SSID は、32 文字までの文字列であり、 通常の文字列の形式か ‘0x’ を前に付けた 16 進数の形式で、指定可能です。 更に、SSID に ‘-’ を設定することで、これを消去可能です。

nwid ssid
    ssid パラメータの別名。 NetBSD との互換性のためにあります。

stationname name
    IEEE 802.11 無線インタフェース用であり、 このステーションの名前を設定します。 ステーション名は、本当は IEEE 802.11 プロトコルの一部ではないようですが、 すべてのインタフェースがこれをサポートしているようです。 そのようなものですから、 同じもしくは実際的に同じ機器にとってのみ有用であるようです。

station name
    stationname パラメータの別名。 BSD/OS との互換性のためにあります。

channel number
    IEEE 802.11 無線インタフェース用であり、 希望するチャネルを設定します。 チャネルの範囲は 1 から 14 ですが、 アダプタがどの地域用に製造されたかに、利用可能な選択肢は依存します。 チャネルを 0 に設定すると、アダプタのデフォルト設定になります。 アドホックモード以外では、多くのアダプタがこの設定を無視します。

authmode mode
    IEEE 802.11 無線インタフェース用であり、 インフラストラクチャモードでの希望する認証モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは “none”, “open”, “shared” です。 モードは、大文字小文字を区別しません。

powersave
    IEEE 802.11 無線インタフェース用であり、省電力モードを有効にします。

-powersave
    IEEE 802.11 無線インタフェース用であり、省電力モードを無効にします。

powersavesleep sleep
    IEEE 802.11 無線インタフェース用であり、 希望する最大省電力スリープ時間をミリ秒で指定します。

protmode technique
    11g で動作する IEEE 802.11 無線インタフェース用であり、 11b/11g が混在するネットワークで OFDM フレームを保護するのに使う technique (技術) を指定します。 有効な技術は “off” 、 “cts” (自身への CTS)、 “rtscts” (RTS/CTS) です。 技術の名前は大文字小文字を区別しません。

rtsthreshold length
    IEEE 802.11 無線インタフェース用であり、 RTS 制御フレームの送信の後に送信されるフレームに対する閾値を設定します。 length 引数はフレームのバイト単位での大きさであり、1 から 2312 の間でなければなりません。 すべてのアダプタが RTS 閾値の設定をサポートしている訳ではありません。

txpower power
    IEEE 802.11 無線インタフェース用であり、送信するフレームの強度を設定します。 power 引数は 0 から 100 の間の単位のない値であり、 ドライバによりデバイスに固有な値に変換されます。 範囲外の値は切り詰められます。 大抵は、いくつかの飛び飛びの値のみが設定でき、 ドライバは指定された値に最も近い設定を使うことになるでしょう。 すべてのアダプタが送信強度の変更をサポートしている訳ではありません。

wepmode mode
    IEEE 802.11 無線インタフェース用であり、希望する WEP モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは “off”, “on”, “mixed” です。 “mixed” モードは、暗号化トラフィックと非暗号化トラフィックの両方を許す アクセスポイントとの関係を許すことを、アダプタに明示的に指定します。 両方を許すアダプタにおける “on” は、 アクセスポイントが暗号化接続のみを許可することが必要であることを意味します。 他のアダプタにおける “on” は、一般的に “mixed” の別名です。 モードは、大文字小文字を区別しません。

weptxkey index
    IEEE 802.11 無線インタフェース用であり、送信に使用する WEP 鍵を設定します。

wepkey key|index:key
    IEEE 802.11 無線インタフェース用であり、選択された WEP 鍵を設定します。 index が指定されない場合、鍵 1 が設定されます。 WEP 鍵の長さは、5 文字または 13 文字 (40 ビットまたは 104 ビット) であり、 ローカルネットワークとアダプタの機能に依存します。 通常の文字列の形式か ‘0x’ を前に付けた 16 進数の形式で、指定可能です。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 特に、 Windows ドライバのマッピング方法は FreeBSD のものとは異なります。 鍵は、 ‘-’ を設定することで、これを消去可能です。 WEP がサポートされていれば、最低 4 個の鍵があります。 アダプタによっては 4 個を越える鍵をサポートするものもあります。 そのような場合、最初の 4 個の鍵 (1-4) が標準の一時鍵となり、 他の鍵がアダプタ固有の鍵となります。 後者は、例えば、NVRAM に格納される永続鍵です。

wep wepmode on の別の指定方法。 BSD/OS との互換性のためにあります。

-wep
    wepmode off の別の指定方法。 BSD/OS との互換性のためにあります。

nwkey key
    以下の、別の指定方法。

    “wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-”

    NetBSD との互換性のためにあります。

nwkey
    n:k1,k2,k3,k4 以下の、別の指定方法。

    “wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4”

    NetBSD との互換性のためにあります。

-nwkey
    wepmode off の別の指定方法。

    NetBSD との互換性のためにあります。

ifconfig ユーティリティは、 引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 ifconfig はプロトコルファミリに特有の情報についてのみ表示します。

ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。

インタフェース名の前に -m フラグが渡されると、指定したインタフェースの機能一覧と そのインタフェースがサポートしているすべてのメディアを ifconfig は表示します。 オプションとして、インタフェース名の代りに -L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます

インタフェース名の代わりに -a フラグを指定できます。 そうすると、 ifconfig はシステム上の全インタフェースを表示します。 -d フラグはこれを down したインタフェースに限定し、 -u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 -a が暗黙的に指定されます。

-l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 -d (down したインタフェースのみをリスト) と -u (up したインタフェースのみをリスト) は例外です。

-C フラグは、システム上で利用可能なインタフェース複製者をすべて列挙します。 他の情報は表示されません。 本フラグは、他のフラグおよびコマンドと共には使用できません。

スーパユーザのみがネットワークインタフェースの設定を変更できます。

注
メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。

診断
指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。

バグ
基本的な IPv6 ノード操作には、IPv6 用に設定された各インタフェースに リンクローカルのアドレスが必要です。 通常、アドレスはカーネルによりシステムに追加された各インタフェースに 自動的に設定されます。 この動作は sysctl MIB 変数 net.inet6.ip6.auto_linklocal を 0 に設定することで無効にできます。

これらを ifconfig で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。

関連項目
netstat(1), netintro(4), vlan(4), rc(8), routed(8), sysctl(8)

歴史
ifconfig ユーティリティは 4.2BSD から登場しました。