Linuxコマンド辞典 ifconfigコマンド(ネットワーク)

ネットワークインターフェースの設定/表示を行う「ifconfig」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ ifconfig [オプション] [インターフェース名]
$ ifconfig [オプション] インターフェース名[アドレスファミリ] インターフェースオプション|アドレス・・・

現在でも一般的に使用されるコマンドです。ネットワークインターフェースの状態確認や設定を行います。-aオプションですべてのインターフェースが表示されます。もし、目的のNICが表示されない場合は、NICがカーネルに認識されているか確認します。

オプションを指定しない場合は、現在の状態を表示します。引数にインターフェースを指定した場合は、そのインターフェースの状態が表示されます。インターフェース指定後にアドレスファミリを指定することで、利用するネットワークも設定できます。サポートしているアドレスファミリは、-hオプションで確認できます。例えば、IPv6の設定を行う場合は「inet6」を指定します。ネットワークインターフェース名は、eth0やenp0s2のような名前です。loは自分自身を表すローカルループバックインタフェースです。

Windowsでは、ipconfigコマンドがインタフェース情報を参照する機能を持っています。

オプション

-aダウンしているインターフェースを含め、すべてのインターフェースを表示する
-s短い形式で表示する
-hヘルプ(利用可能なハードウェアタイプ、アドレスファミリなど)を表示する

アドレスファミリ

unixUNIXドメイン
inetIPv4 TCP/IP(デフォルト)
inet6IPv6 TCP/IP

インターフェースオプション

upインタフェースを起動する
downインタフェースを停止する
netmask ネットマスクネットマスクを設定する
broadcast アドレスブロードキャストアドレスを指定する
add アドレス/プレフィックスIPアドレスを追加する
del アドレス/プレフィックスIPアドレスを削除する

主なインタフェースの情報

項目説明
Linkネットワークメディアを示す
HWaddrハードウェアアドレス(MACアドレス)を示す
inet addrIPv4アドレスを示す
Bcastブロードキャストアドレスを示す
Maskネットマスクを示す
inet6 addrIPv6アドレスを示す
UPインタフェースが起動状態であることを示す
BROADCASTブロードキャストが利用できることを示す
RUNNINGインタフェースが起動可能状態にあることを示す。UPする前にRUNNINGである必要がある
MULTICASTマルチキャストが利用できることを示す
MTUMTU(Maximum Transmission Unit)値(通信機器などが一度に送信できる最大のデータ量)を示す。
Metricメトリック値(TTL減算する値)を示す
RX受信パケット統計値を示す。あまりにもerrorsの数値が高い場合は、ネットワークケーブルなどの物理的な接続環境の不良が考えられる。
TX送信パケット統計値を示す
collisions衝突検知回数を示す
txqueuelen送信パケットキューのサイズを示す

認識している有効なインタフェースの情報をすべて表示する

$ ifconfig -a -s

実行結果

[root@localhost ~]# ifconfig -a -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500    15970      0      0 0           420      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU
virbr0-nic       1500        0      0      0 0             0      0      0      0 BM
[root@localhost ~]# 

デバイスを指定してインタフェースの情報を表示する

表示される内容については、「主なインタフェースの情報」を参照

$ ifconfig デバイス名

実行結果

[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::e247:274a:2f9f:f198  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:00:1a:1a  txqueuelen 1000  (Ethernet)
        RX packets 16285  bytes 2344359 (2.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 436  bytes 42026 (41.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 
[root@localhost ~]# ifconfig -a -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500    15970      0      0 0           420      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU
virbr0-nic       1500        0      0      0 0             0      0      0      0 BM
[root@localhost ~]# 

インタフェースの設定を行う

デバイスを有効にする

$ ifconfig デバイス名 up

IPアドレスを設定する

$ ifconfig デバイス名 IPアドレス netmask サブネットマスク

実行結果

[root@localhost ~]# ifconfig eth0 up                                  #インタフェースを起動する
[root@localhost ~]# ifconfig eth0 192.168.0.102 netmask 255.255.255.0 #IPアドレスを設定
[root@localhost ~]# route add default gw 192.168.0.1                  #デフォルトゲートウェイを設定
[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::e247:274a:2f9f:f198  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:00:1a:1a  txqueuelen 1000  (Ethernet)
        RX packets 18743  bytes 2651065 (2.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 606  bytes 57430 (56.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]#