ウェブサイト検索

Linuxでネットワークを構成するための15の便利な「ifconfig」コマンド


ifconfigは、インターフェース構成の略で、Unix/Linuxオペレーティングシステムにおけるシステム/ネットワーク管理のためのユーティリティです。コマンドラインインターフェースまたはシステム構成スクリプトを介して、ネットワークインターフェースのパラメータを設定、管理、および問い合わせるために使用されます。

「ifconfig」コマンドは、現在のネットワーク構成情報を表示したり、ネットワークインターフェースにIPアドレス、ネットマスク、またはブロードキャストアドレスを設定したり、ネットワークインターフェースのエイリアスを作成したり、ハードウェアアドレスを設定したり、ネットワークインターフェースを有効または無効にするために使用されます。

この記事では、Linuxシステムのネットワークインターフェースを管理および設定するのに非常に役立つ可能性がある15の有用な「ifconfig」コマンドとその実用的な例を紹介しています。

更新: ネットワークコマンドifconfigは廃止され、ほとんどのLinuxディストリビューションでipコマンド(IPコマンドの10の例を学ぶ)に置き換えられました。

1. Linuxでネットワークインターフェースを一覧表示する

引数なしの「ifconfig」コマンドは、割り当てられたIPアドレス、ネットマスク、およびその他の関連情報を含むすべてのアクティブなネットワークインターフェースの設定詳細を表示します。


ifconfig

サンプル出力:


eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293460932 (279.8 MiB)  TX bytes:1042006549 (993.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5019066 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2174522634 (2.0 GiB)  TX bytes:2174522634 (2.0 GiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2. すべてのネットワークインターフェイスの情報を表示する

次のifconfigコマンドに-a引数を指定すると、サーバー上のすべてのアクティブまたは非アクティブなネットワークインターフェースに関する情報が表示されます。具体的にはeth0、lo、sit0、およびtun0の結果が表示されます。

# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293839516 (280.2 MiB)  TX bytes:1043722206 (995.3 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5022927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2175739488 (2.0 GiB)  TX bytes:2175739488 (2.0 GiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

3. 特定のインターフェースのネットワーク設定を表示

eth0というインターフェース名を引数としてifconfigコマンドを使用すると、特定のネットワークインターフェースの詳細が表示されます。

# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2345583 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2221421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293912265 (280.2 MiB)  TX bytes:1044100408 (995.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

4. ネットワークインターフェースを有効にする方法

「up」または「ifup」フラグとインターフェース名(eth0)は、ネットワークインターフェースが非アクティブな状態でない場合にアクティブにし、情報の送受信を可能にします。

例えば、「ifconfig eth0 up」や「ifup eth0」はeth0インターフェースを有効にします。

# ifconfig eth0 up
OR
ifup eth0

5. ネットワークインターフェースを無効にする方法

「down」または「ifdown」フラグとインターフェース名(eth0)は、指定されたネットワークインターフェースを無効にします。たとえば、「ifconfig eth0 down」または「ifdown eth0」コマンドは、eth0インターフェースが非アクティブな状態にある場合、それを無効にします。

# ifconfig eth0 down
OR
ifdown eth0

6. ネットワークインターフェースにIPアドレスを割り当てる方法

特定のインターフェースにIPアドレスを割り当てるには、インターフェース名(eth0)と設定したいIPアドレスを使用して、次のコマンドを実行してください。例えば、"ifconfig eth0 172.16.25.125"と入力すると、インターフェースeth0にIPアドレスが設定されます。

# ifconfig eth0 172.16.25.125

7. ネットワークインターフェースにネットマスクを割り当てる方法

「ifconfig」コマンドを「netmask」引数とインターフェース名(eth0)と共に使用することで、指定したインターフェースにネットマスクを定義できます。例えば、「ifconfig eth0 netmask 255.255.255.224」は、インターフェースeth0のネットワークマスクを設定します。

[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224

8. ネットワークインターフェースにブロードキャストを割り当てる方法

「broadcast」引数をインターフェース名と一緒に使用すると、指定されたインターフェースのブロードキャストアドレスが設定されます。例えば、「ifconfig eth0 broadcast 172.16.25.63」コマンドは、インターフェースeth0のブロードキャストアドレスを設定します。

# ifconfig eth0 broadcast 172.16.25.63

9. ネットワークインターフェースにIP、ネットマスク、およびブロードキャストを割り当てる方法

IPアドレス、ネットマスクアドレス、ブロードキャストアドレスをすべて一度に割り当てるには、以下のすべての引数を使用して「ifconfig」コマンドを実行します。

# ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63

10. ネットワークインターフェースのMTUを変更する方法

「mtu」引数は、インターフェースへの最大転送単位を設定します。MTUは、インターフェース上で送信されるパケットのサイズ制限を設定できるようにします。MTUは、1回の取引でインターフェースに対して最大数のオクテットを処理することができます。

例えば、「ifconfig eth0 mtu 1000」は、最大伝送単位を指定された値(すなわち1000)に設定します。すべてのネットワークインターフェースがMTU設定をサポートしているわけではありません。

# ifconfig eth0 mtu 1000

11. プロミスカスモードを有効にする方法

通常モードでは、ネットワークカードがパケットを受信すると、それが自分のものかどうかを確認します。もしそうでなければ、通常はパケットを破棄しますが、プロミスキャスモードでは、ネットワークカードを通過するすべてのパケットを受け入れるために使用されます。

今日のネットワークツールは、ネットワークインターフェースを通過するパケットをキャプチャおよび分析するために混成モードを使用します。混成モードを設定するには、次のコマンドを使用します。

# ifconfig eth0 promisc

12. プロミスカスモードを無効にする方法

プロミスキャスモードを無効にするには、「-promisc」スイッチを使用して、ネットワークインターフェースを通常モードに戻します。

# ifconfig eth0 -promisc

13. ネットワークインターフェースに新しいエイリアスを追加する方法

ifconfig ユーティリティを使用すると、alias 機能を使って追加のネットワークインターフェースを構成できます。eth0 のエイリアスネットワークインターフェースを追加するには、次のコマンドを使用してください。エイリアスネットワークアドレスは同じサブネットマスクである必要があります。たとえば、eth0 のネットワーク IP アドレスが 172.16.25.125 の場合、エイリアス IP アドレスは 172.16.25.127 でなければなりません。

# ifconfig eth0:0 172.16.25.127

次に、新しく作成されたエイリアスネットワークインターフェースのアドレスを「ifconfig eth0:0」コマンドを使用して確認してください。

# ifconfig eth0:0

eth0:0    Link encap:Ethernet  HWaddr 00:01:6C:99:14:68
          inet addr:172.16.25.123  Bcast:172.16.25.63  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17

14. ネットワークインターフェースのエイリアスを削除する方法

エイリアスネットワークインターフェースがもはや必要ない場合や、誤って設定した場合は、以下のコマンドを使用して削除できます。

# ifconfig eth0:0 down

15. ネットワークインターフェースのMACアドレスを変更する方法

eth0 ネットワークインターフェースのMAC (メディアアクセスコントロール) アドレスを変更するには、引数「hw ether」を使用して次のコマンドを実行します。例えば、以下を参照してください。

# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

これらは、Linuxでネットワークインターフェースを設定するための最も役立つコマンドです。ifconfigコマンドの詳細や使い方については、ターミナルで「man ifconfig」のようにマニュアルページを参照してください。以下に他のネットワーキングユーティリティもチェックしてみてください。

その他のネットワーキングユーティリティ

  • nmcli - ネットワークマネージャを制御し、ネットワーク情報を報告するために使用されるコマンドラインクライアント。
  • Tcmpdump - ネットワークトラフィックを監視するためのコマンドラインパケットキャプチャおよび分析ツールです。
  • Netstat - は、入出力のネットワークパケットトラフィックを監視するオープンソースのコマンドラインネットワーク監視ツールです。
  • ss(ソケット統計) - Linuxシステム上でネットワークソケットに関連する情報を印刷するツール。
  • Wiresharkは、ネットワーク関連の問題をトラブルシューティングするために使用されるオープンソースのネットワークプロトコルアナライザーです。
  • Muninは、rrdtoolを使用して結果をグラフで表示するためのウェブベースのネットワークおよびシステム監視アプリケーションです。
  • Cacti - ネットワーク監視のための完全なウェブベースの監視およびグラフ作成アプリケーションです。

上記のツールの詳細情報やオプションを取得するには、コマンドプロンプトで「man toolname」と入力してマニュアルページを参照してください。たとえば、「netstat」ツールの情報を取得するには、「man netstat」コマンドを使用します。

関連記事: