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


ifconfigは、Unix/Linuxオペレーティングシステムでシステム/ネットワークを管理するための「インターフェイス構成」ユーティリティで、コマンドラインインターフェイスまたはシステム構成スクリプトを介してネットワークインターフェイスパラメータを構成、管理、および照会します。

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

この記事では、「15の便利な「ifconfig」コマンド」とその実用的な例について説明します。これは、Linuxシステムのネットワークインターフェイスの管理と構成に非常に役立つ場合があります。

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

1.すべてのネットワーク設定を表示

引数のない「ifconfig」コマンドは、すべてのアクティブなインターフェースの詳細を表示します。 ifconfigコマンドは、サーバーに割り当てられたIPアドレスを確認するためにも使用されます。

[[email protected] ~]# 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.すべてのネットワークインターフェースの情報を表示します

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

[[email protected] ~]# 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.特定のインターフェースのネットワーク設定を表示する

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

[[email protected] ~]# 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.ネットワークインターフェイスを有効にする方法

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

[[email protected] ~]# ifconfig eth0 up
OR
[[email protected] ~]# ifup eth0

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

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

[[email protected] ~]# ifconfig eth0 down
OR
[[email protected] ~]# ifdown eth0

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

特定のインターフェイスにIPアドレスを割り当てるには、設定するインターフェイス名(eth0)とIPアドレスを指定して次のコマンドを使用します。たとえば、「ifconfig eth0 172.16.25.125」は、IPアドレスをインターフェースeth0に設定します。

[[email protected] ~]# ifconfig eth0 172.16.25.125

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

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

[[email protected] ~]# ifconfig eth0 netmask 255.255.255.224

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

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

[[email protected] ~]# ifconfig eth0 broadcast 172.16.25.63

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

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

[[email protected] ~]# ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63

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

「mtu」引数は、最大伝送ユニットをインターフェイスに設定します。 MTUを使用すると、インターフェイスで送信されるパケットの制限サイズを設定できます。 1つのトランザクションでインターフェイスへの最大数のオクテットを処理できるMTU。たとえば、「ifconfig eth0 mtu 1000」は、最大伝送ユニットを指定されたセット(つまり、1000)に設定します。すべてのネットワークインターフェイスがMTU設定をサポートしているわけではありません。

[[email protected] ~]# ifconfig eth0 mtu 1000

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

通常モードでは、ネットワークカードがパケットを受信すると、そのパケットが自分自身に属していることを確認します。そうでない場合は、通常どおりパケットをドロップしますが、無差別モードでは、ネットワークカードを流れるすべてのパケットを受け入れるために使用されます。

今日のネットワークツールのほとんどは、無差別モードを使用して、ネットワークインターフェイスを流れるパケットをキャプチャして分析します。無差別モードを設定するには、次のコマンドを使用します。

[[email protected] ~]# ifconfig eth0 promisc

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

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

[[email protected] ~]# ifconfig eth0 -promisc

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

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

[[email protected] ~]# ifconfig eth0:0 172.16.25.127

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

[[email protected] ~]# 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.エイリアスからネットワークインターフェースを削除する方法

エイリアスネットワークインターフェイスが不要になった場合、または誤って構成した場合は、次のコマンドを使用して削除できます。

[[email protected] ~]# ifconfig eth0:0 down

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

eth0ネットワークインターフェイスのMAC(Media Access Control)アドレスを変更するには、引数「hwether」を指定して次のコマンドを使用します。たとえば、以下を参照してください。

[[email protected] ~]# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

これらは、Linuxでネットワークインターフェイスを構成するための最も便利なコマンドです。ifconfigコマンドの詳細と使用法については、ターミナルで「manifconfig」などのマンページを使用してください。以下の他のネットワークユーティリティをチェックしてください。

  1. Tcmpdump — is an command-line packet capture and analyzer tool for monitoring network traffic.
  2. Netstat — is an open source command line network monitoring tool that monitors incoming and outgoing network packets traffic.
  3. Wireshark — is an open source network protocol analyzer that is used to troubleshoot network related issues.
  4. Munin — is an web based network and system monitoring application that is used to display results in graphs using rrdtool.
  5. Cacti — is an complete web based monitoring and graphing application for network monitoring.

上記のツールの詳細とオプションを取得するには、コマンドプロンプトで「mantoolname」と入力して操作を確認してください。たとえば、「netstat」ツールの情報を取得するには、コマンドを「mannetstat」として使用します。