ifconfig コマンドを使用して、IP アドレスを手動でインタフェースに割り当て、インタフェースのパラメータを手動で構成します。さらに、Oracle Solaris 起動スクリプトは ifconfig コマンドを実行して、6to4 トンネルエンドポイントなどの疑似インタフェースを構成します。
このマニュアルでは、ifconfig コマンドのさまざまなオプションを使用する作業が数多く含まれています。ifconfig コマンド、そのオプション、およびその変数の詳細については、ifconfig(1m) のマニュアルページを参照してください。ifconfig の基本構文は次のとおりです。
ifconfig interface [protocol-family]
ifconfig コマンドを使用して、特定のシステムのインタフェースについての基本情報を判断します。たとえば、ifconfig コマンドを実行すると、次のような情報が表示されます。
システム上にあるすべてのインタフェースのデバイス名
これらのインタフェースに割り当てられているすべての IPv4 アドレス と、もしあれば、すべての IPv6 アドレス
これらのインタフェースが現在構成されているかどうか
次の手順に、ifconfig コマンドを使用して、システムのインタフェースについての基本構成情報を取得する方法を示します。
ローカルホスト上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
特定のインタフェースについての情報を取得します。
# ifconfig interface |
ifconfig コマンドからの出力の書式は次のとおりです。
状態行
ifconfig コマンド出力の 1 行目には、そのインタフェースに現在関連付けられているインタフェース名と状態フラグが表示されます。状態行には、特定のインタフェースとインデックス番号に構成されている最大転送単位 (MTU) も表示されます。状態行を使用すると、インタフェースの現在の状態を判断できます。
IP アドレス情報行
ifconfig 出力の 2 行目には、インタフェースに構成されている IPv4 アドレスまたは IPv6 アドレスが表示されます。IPv4 アドレスの場合、構成されているネットマスクとブロードキャストアドレスも表示されます。
MAC アドレス行
ifconfig コマンドをスーパーユーザーまたはそれと同等な役割で実行した場合、ifconfig 出力には 3 行目が表示されます。IPv4 アドレスの場合、3 行目には、インタフェースに割り当てられている MAC アドレス (Ethernet 層アドレス) が表示されます。IPv6 アドレスの場合、3 行目には、IPv6 の in.ndpd デーモンが MAC アドレスから生成したリンクローカルアドレスが表示されます。
次の例に、ifconfig コマンドを使用して、特定のホスト上にある eri インタフェースについての情報を取得する方法を示します。
# ifconfig eri eri0: flags=863<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1 inet 10.0.0.112 netmask ffffff80 broadcast 10.8.48.127 ether 8:0:20:b9:4c:54 |
次の表では、ifconfig による照会での変数情報、画面上での変数の表示形式、および、提供される情報の種類について説明しています。前述の出力を例として使用します。
変数 |
画面出力 |
説明 |
---|---|---|
インタフェース名 |
eri0 |
ifconfig コマンドで状態が要求されたインタフェースのデバイス名を示します。 |
インタフェースの状態 |
flags=863<UP |
インタフェースの状態を表示します。そのインタフェースに現在関連するフラグがすべて表示されます。ここで、インタフェースが現在起動されているか (UP) または起動されていないか (DOWN) を判断できます。 |
ブロードキャストの状態 |
BROADCAST |
インタフェースが IPv4 ブロードキャストをサポートすることを示します。 |
転送の状態 |
RUNNING |
システムがパケットをインタフェース経由で転送していることを示します。 |
マルチキャストの状態 |
MULTICAST, IPv4 |
インタフェースがマルチキャスト転送をサポートすることを示します。この例のインタフェースは IPv4 マルチキャスト転送をサポートします。 |
最大転送単位 |
mtu 1500 |
当該インタフェースの最大転送サイズが 1500 オクテットであることを示します。 |
IP アドレス |
inet 10.0.0.112 |
インタフェースに割り当てられている IPv4 アドレスまたは IPv6 アドレスを表示します。この例のインタフェース eri0 は IPv4 アドレス 10.0.0.112 を持っています。 |
ネットマスク |
netmask ffffff80 |
特定のインタフェースの IPv4 ネットマスクを表示します。IPv6 アドレスはネットマスクを使用しません。 |
MAC アドレス |
ether 8:0:20:b9:4c:54 |
インタフェースの Ethernet 層アドレスを表示します。 |
ルーターとマルチホームホストは複数のインタフェースを持っており、多くの場合、各インタフェースには複数の IP アドレスが割り当てられています。ifconfig コマンドを使用すると、システムの特定のインタフェースに割り当てられているすべてのアドレスを表示できます。また、ifconfig コマンドを使用すると、IPv4 アドレスまたは IPv6 アドレスのどちらか一方の割り当てだけを表示できます。さらに、インタフェースの MAC アドレスを表示するには、まず、スーパーユーザーでログインするか、適切な役割になる必要があります。
ifconfig コマンドの詳細については、ifconfig(1m) のマニュアルページを参照してください。
ローカルシステムで「ネットワーク管理者」役割になるか、スーパーユーザーになります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
すべてのインタフェースについての情報を取得します。
ifconfig -a コマンドのバリエーションを使用すると、次のことができます。
システム上にあるすべてのインタフェースのすべてのアドレスを表示します。
# ifconfig -a |
システム上にあるすべてのインタフェースに割り当てられているすべての IPv4 アドレスを表示します。
# ifconfig -a4 |
ローカルシステムが、IPv6 が有効である場合、システム上にあるすべてのインタフェースに割り当てられているすべての IPv6 アドレスを表示します。
ifconfig -a6 |
次の例に、一次ネットワークインタフェース qfe0 だけを持つホスト用のエントリを示します。それにもかかわらず、ifconfig 出力を見ると、インタフェース qfe0 には現在、次の 3 つの書式のアドレスが割り当てられています。 つまり、ループバック ( lo0)、IPv4 (inet)、および IPv6 (inet6) です。この出力では、IPv6 セクションのインタフェース qfe0 の行に IPv6 リンクローカルアドレスが表示されています。qfe0 の 2 番目のアドレスは qfe0:1 行に表示されます。
% ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:b9:4c:54 lo0: flags=2000849 <UP,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b9:4c:54 inet6 fe80::a00:20ff:feb9:4c54/10 qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 |
次の例に、マルチホームホストに構成されている IPv4 アドレスを示します。この書式の ifconfig コマンドを実行するために、スーパーユーザーとしてログインする必要はありません。
% ifconfig -a4 lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:b9:4c:54 qfe1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:6f:5e:17 |
次の例に、特定のホストに構成されている IPv6 アドレスだけを示します。この書式の ifconfig コマンドを実行するために、スーパーユーザーとしてログインする必要はありません。
% ifconfig -a6 lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b9:4c:54 inet6 fe80::a00:20ff:feb9:4c54/10 qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 |
この ifconfig コマンドの出力を見ると、ホスト上にある単一のインタフェースには、次の 3 つの書式の IPv6 アドレスが割り当てられていることがわかります。
IPv6 ループバックアドレス。
一次ネットワークインタフェースに割り当てられているリンクローカルアドレス。
IPv6 アドレス (サブネット接頭辞を含む)。出力にある ADDRCONF というキーワードは、このアドレスがホストによって自動構成されたことを示します。