Linux ifconfig コマンド完全ガイド 〜実際の事例をもとに利用方法を徹底解説!

最終更新日 2025年3月14日

スポンサーリンク

ifconfig コマンドの利用方法

ifconfig はネットワークインターフェースの設定や確認に不可欠なコマンドです。

Linux におけるネットワーク設定の基本となる ifconfig コマンドは、IPアドレスの確認、ネットワークインターフェースの有効化・無効化、MACアドレスの変更 などを行うためのツールです。

ifconfignet-tools に含まれており、一部のLinuxディストリビューションでは非推奨となっているため、ip コマンドへの移行も推奨されていますが、依然として広く利用されています。

  1. ifconfig コマンドの基本構文
  2. ifconfig コマンドでよく使用するオプション一覧
  3. ifconfig の基本的な出力結果とその見方
  4. まとめ
ifconfigコマンドとは

ネットワーク設定ツール

IPアドレスの確認、ネットワークインターフェースの有効化・無効化、MACアドレスの変更などを行うためのツールです。

net-toolsパッケージ

ifconfigはnet-toolsに含まれています。一部のLinuxディストリビューションでは非推奨となっています。

代替コマンド

ipコマンドへの移行が推奨されていますが、ifconfigは依然として広く利用されています。
ifconfigコマンドとは
スポンサーリンク

ifconfig コマンドの基本構文

基本構文

ifconfig [インターフェース名] [オプション]

ifconfig は、引数なしで実行すると現在のネットワークインターフェースの情報を表示します。
特定のインターフェース(例:eth0)に関する情報を表示したい場合は、インターフェース名を指定します。

使用例

# すべてのネットワークインターフェースを表示
ifconfig

# 特定のインターフェース(eth0)の詳細情報を表示
ifconfig eth0
ifconfigコマンドの基本構文

基本構文

ifconfig [インターフェース名] [オプション]

引数なしの実行

現在のネットワークインターフェースの情報を表示します。

インターフェース指定

特定のインターフェース(例:eth0)に関する情報を表示します。
ifconfigコマンドの基本構文
スポンサーリンク

ifconfig コマンドでよく使用するオプション一覧

オプション説明
upインターフェースを有効化
downインターフェースを無効化
inetIPアドレスを設定
netmaskサブネットマスクを設定
broadcastブロードキャストアドレスを設定
hw etherMACアドレスを変更
mtuMTU(最大転送単位)を設定
よく使用するオプション一覧

オプション

説明

up

インターフェースを有効化

down

インターフェースを無効化

inet

IPアドレスを設定

netmask

サブネットマスクを設定

broadcast

ブロードキャストアドレスを設定

hw ether

MACアドレスを変更

mtu

MTU(最大転送単位)を設定
よく使用するオプション一覧
新人エンジニア
新人エンジニア

先輩! ifconfig eth0 up でネットワークを有効にしようとしたのですが、反応がありません。

先輩エンジニア
先輩エンジニア

それは ifconfig がインストールされていない可能性があるね。
net-tools パッケージをインストールしてみて。

# Debian系 (Ubuntuなど
sudo apt install net-tools

# RHEL系 (CentOS, Rocky Linux など)
sudo yum install net-tools
新人エンジニア
新人エンジニア

なるほど!じゃあ、ifconfig eth0 up で有効化したのに、ネットにつながらない場合は?

先輩エンジニア
先輩エンジニア

その場合は dhclient でIPアドレスを取得するか、ifconfig eth0 [IPアドレス] で手動設定してみて。

# DHCPでIPアドレスを取得
sudo dhclient eth0

# 手動でIPアドレスを設定
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ifconfigがインストールされていない場合

Debian系

sudo apt install net-tools

RHEL系

sudo yum install net-tools

代替コマンド

ipコマンドを使用することも可能です。
ifconfigがインストールされていない場合
スポンサーリンク

ifconfig の基本的な出力結果とその見方

ifconfig を実行すると、以下のような出力が表示されます。

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
      inet6 fe80::1a2b:3c4d:5e6f:7g8h prefixlen 64 scopeid 0x20<link>
      ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)
      RX packets 123456  bytes 12345678 (12.3 MB)
      TX packets 98765  bytes 9876543 (9.8 MB)

出力の解説

項目説明
flagsインターフェースの状態(UP/BROADCASTなど)
inetIPv4アドレス
netmaskサブネットマスク
broadcastブロードキャストアドレス
inet6IPv6アドレス
etherMACアドレス
RX packets受信したパケット数
TX packets送信したパケット数
新人エンジニア
新人エンジニア

ifconfig の出力で RX packetsTX packets って何ですか?

先輩エンジニア
先輩エンジニア

RX packets は受信したパケット数、TX packets は送信したパケット数を示してるよ。通信がうまくいってるかを確認するのに便利だよ。

新人エンジニア
新人エンジニア

flags=4163<UP,BROADCAST,RUNNING,MULTICAST> の意味は?

先輩エンジニア
先輩エンジニア

主なフラグは以下の通りだね。

フラグ説明
UPインターフェースが有効
BROADCASTブロードキャスト対応
RUNNINGデバイスが動作中
MULTICASTマルチキャスト対応
ifconfigの基本的な出力結果

eth0: flags=4163 mtu 1500

inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

inet6 fe80::1a2b:3c4d:5e6f:7g8h prefixlen 64 scopeid 0x20

ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)

RX packets 123456 bytes 12345678 (12.3 MB)

TX packets 98765 bytes 9876543 (9.8 MB)

主な項目の意味

flags: インターフェースの状態

inet: IPv4アドレス

netmask: サブネットマスク

broadcast: ブロードキャストアドレス

inet6: IPv6アドレス

ether: MACアドレス

RX/TX packets: 受信/送信パケット数
ifconfigの基本的な出力結果
スポンサーリンク

まとめ

  • ifconfigネットワークの確認・設定に便利なコマンド
  • ifconfig eth0 up/downインターフェースの有効化/無効化
  • ifconfig eth0 192.168.1.100 netmask 255.255.255.0IPアドレスの設定
  • ifconfig の出力で 現在のネットワーク状態を確認
  • net-tools がインストールされていない場合は、ip コマンドを使用する

Linux のネットワーク設定を理解するために、ifconfig の基本をしっかり押さえておきましょう!

各オプション毎の出力結果とその見方

本セクションでは以下の内容について解説します。

  1. ifconfig -a で全インターフェースを表示する方法と出力結果の見方
  2. ifconfig eth0 で特定のインターフェースの情報を取得する方法と出力結果の見方
  3. ifconfig eth0 up/down でインターフェースを有効化・無効化する方法と出力結果の見方
  4. ifconfig eth0 mtu 1500 で MTU 値を変更する方法と出力結果の見方
  5. ifconfig eth0 promisc でプロミスキャスモードを設定する方法と出力結果の見方
  6. まとめ

ifconfig -a で全インターフェースを表示する方法と出力結果の見方

ifconfig -a を使うと、すべてのネットワークインターフェースを確認できる

Linux システムでは、ネットワークインターフェースの状態を把握することが重要です。
通常の ifconfig コマンドでは有効なインターフェースのみが表示されますが、ifconfig -a を使うことで無効化されているインターフェースも含めてすべて表示 できます。

コマンド実行例

ifconfig -a

出力結果の見方

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
      ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)
      RX packets 123456  bytes 12345678 (12.3 MB)
      TX packets 98765  bytes 9876543 (9.8 MB)

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
      inet 127.0.0.1 netmask 255.0.0.0
      loop txqueuelen 1000 (Local Loopback)

主なポイント

  • eth0(物理ネットワークインターフェース)と lo(ループバックインターフェース)が表示されている
  • flags にはインターフェースの状態(UP、BROADCAST など)が示されている
  • inet は IPv4 アドレス、inet6 は IPv6 アドレスを示す
  • RX packets / TX packets は受信・送信されたパケット数を示す
ifconfig -a の使い方

コマンド実行

ifconfig -a を実行します。

すべてのインターフェース表示

無効化されているインターフェースも含めてすべて表示されます。

出力の確認

eth0(物理ネットワークインターフェース)とlo(ループバックインターフェース)などが表示されます。

状態の確認

flagsでインターフェースの状態を確認できます。
ifconfig -a の使い方
スポンサーリンク

ifconfig eth0 で特定のインターフェースの情報を取得する方法と出力結果の見方

特定のインターフェースの状態を確認するには ifconfig [インターフェース名] を使う

ネットワークの設定を確認するときは、特定のインターフェースに絞って情報を取得することが多いです。
ifconfig eth0 のように指定することで、特定のネットワークインターフェースの詳細情報を取得できます。

コマンド実行例

ifconfig eth0

出力結果の見方

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
      ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)

主なポイント

  • UP がある → インターフェースが有効
  • inet がある → IP アドレスが設定されている
  • ether は MAC アドレス
  • mtu は最大転送単位(デフォルトは 1500)
新人エンジニア
新人エンジニア

ifconfigeth0 を表示したら inet がないのですが?

先輩エンジニア
先輩エンジニア

それは IP アドレスが設定されていない可能性があるね。dhclient eth0 を試してみて。

特定のインターフェース情報の取得

コマンド実行

ifconfig eth0 を実行します。

出力の確認

eth0の詳細情報が表示されます。

状態の確認

UPがあればインターフェースが有効、inetがあればIPアドレスが設定されています。
特定のインターフェース情報の取得
スポンサーリンク

ifconfig eth0 up/down でインターフェースを有効化・無効化する方法と出力結果の見方

インターフェースを有効/無効にするには ifconfig [インターフェース名] up/down を使う

ネットワークの設定変更時や障害対応時に、インターフェースを手動で ON/OFF したいことがあります。
その場合は ifconfig eth0 up で有効化、ifconfig eth0 down で無効化 できます。

コマンド実行例

# インターフェースを有効化
ifconfig eth0 up

# インターフェースを無効化
ifconfig eth0 down
新人エンジニア
新人エンジニア

ifconfig eth0 down で無効化したのですが、復活しません!

先輩エンジニア
先輩エンジニア

ifconfig eth0 up だけでなく、dhclient eth0 で IP を再取得してみて。

インターフェースの有効化・無効化

有効化

ifconfig eth0 up を実行します。

無効化

ifconfig eth0 down を実行します。

IPアドレス取得

dhclient eth0 でIPアドレスを取得します。
インターフェースの有効化・無効化
スポンサーリンク

ifconfig eth0 mtu 1500 で MTU 値を変更する方法と出力結果の見方

ifconfig eth0 mtu [値] で MTU を変更できる

MTU(Maximum Transmission Unit)は、ネットワークパケットの最大サイズを設定する値です。デフォルトは 1500 バイトですが、通信の最適化のために変更することがあります。

コマンド実行例

ifconfig eth0 mtu 1400
新人エンジニア
新人エンジニア

MTU を変更しても、元に戻るのですが?

先輩エンジニア
先輩エンジニア

再起動後も反映させるには /etc/network/interfaces に設定を書こう。

MTU値の変更方法

MTUとは

Maximum Transmission Unitの略で、ネットワークパケットの最大サイズを設定する値です。

変更方法

ifconfig eth0 mtu 1400 のように実行します。

永続的な設定

再起動後も反映させるには/etc/network/interfacesに設定を書きます。
MTU値の変更方法
スポンサーリンク

ifconfig eth0 promisc でプロミスキャスモードを設定する方法と出力結果の見方

プロミスキャスモードを有効化すると、すべてのパケットをキャプチャできる

プロミスキャスモード(Promiscuous Mode)は、通常は受信しないパケットも含めてすべてのパケットをキャプチャするモード です。
パケットキャプチャツール(Wireshark など)と組み合わせて利用されます。

コマンド実行例

ifconfig eth0 promisc
新人エンジニア
新人エンジニア

プロミスキャスモードを解除するには?

先輩エンジニア
先輩エンジニア

ifconfig eth0 -promisc を使うと解除できるよ。

プロミスキャスモードの設定

プロミスキャスモードとは

通常は受信しないパケットも含めてすべてのパケットをキャプチャするモードです。

有効化方法

ifconfig eth0 promisc を実行します。

無効化方法

ifconfig eth0 -promisc を実行します。

活用例

Wiresharkなどのパケットキャプチャツールと組み合わせて利用されます。
プロミスキャスモードの設定

まとめ

  • ifconfig -a ですべてのインターフェースを表示
  • ifconfig eth0 で特定のインターフェースの詳細を確認
  • ifconfig eth0 up/down でインターフェースを有効/無効化
  • ifconfig eth0 mtu 1400 で MTU 値を変更
  • ifconfig eth0 promisc でプロミスキャスモードを有効化
スポンサーリンク

【参考】ipconfigコマンドの全オプションとその意味

以下、ifconfig コマンドの全オプション一覧と各オプションの意味をまとめました。

オプション説明コマンド例
-aダウンしているものも含め、すべてのインターフェースを表示ifconfig -a
-s簡易リストを表示(netstat -i のような形式)ifconfig -s
-vエラー時に詳細な情報を表示ifconfig -v
interface対象のインターフェース名を指定(例: eth0ifconfig eth0
upインターフェースを有効化ifconfig eth0 up
downインターフェースを無効化ifconfig eth0 down
[-]arpARP プロトコルの有効/無効を設定ifconfig eth0 -arp
[-]promiscプロミスキャスモードの有効/無効を設定ifconfig eth0 promisc
[-]allmultiすべてのマルチキャストパケットを受信するモードを設定ifconfig eth0 allmulti
mtu NMTU(最大転送単位)を設定ifconfig eth0 mtu 1500
dstaddr addrポイントツーポイント接続のリモートIPを設定(廃止)N/A
netmask addrIP ネットマスクを設定ifconfig eth0 netmask 255.255.255.0
add addr/prefixlenIPv6アドレスを追加ifconfig eth0 add 2001:db8::1/64
del addr/prefixlenIPv6アドレスを削除ifconfig eth0 del 2001:db8::1/64
tunnel ::aa.bb.cc.ddIPv6 over IPv4 のトンネルデバイスを作成ifconfig sit0 tunnel ::192.168.1.1
irq addrデバイスの割り込み(IRQ)を設定ifconfig eth0 irq 10
io_addr addrデバイスのI/O空間の開始アドレスを設定ifconfig eth0 io_addr 0x300
mem_start addrデバイスの共有メモリアドレスを設定ifconfig eth0 mem_start 0xD0000
media type物理ポートまたはメディアタイプを設定ifconfig eth0 media 10baseT
[-]broadcast [addr]ブロードキャストアドレスを設定/削除ifconfig eth0 broadcast 192.168.1.255
[-]pointopoint [addr]ポイントツーポイントモードの設定/解除ifconfig eth0 pointopoint 10.0.0.2
hw class addressMACアドレス(ハードウェアアドレス)を設定ifconfig eth0 hw ether 00:1A:2B:3C:4D:5E
multicastマルチキャストフラグを設定ifconfig eth0 multicast
addressインターフェースにIPアドレスを設定ifconfig eth0 192.168.1.100
txqueuelen length送信キューの長さを設定(通信遅延のある環境向け)ifconfig eth0 txqueuelen 1000
スポンサーリンク

ifconfig コマンドを利用した成功事例

ネットワークの障害対応や特殊な環境での調整に ifconfig は有効

ifconfig は基本的なネットワーク設定だけでなく、特殊な環境や高度なネットワーク設定の調整にも役立つ
ここでは、VLAN 環境でのトラブルシューティング の成功事例を紹介する。

VLAN環境でのIPアドレス競合の解決

背景

あるデータセンターのサーバーで、VLAN 環境の設定を変更した際に、サーバーの通信が不安定になる問題が発生。調査の結果、同じ VLAN に 重複する IP アドレス が割り当てられていることが判明した。

問題解決の手順

1.現在のネットワーク設定を確認

ifconfig -a

この時点で、eth0192.168.10.100 が設定されており、VLAN インターフェース (eth0.10) も存在していた。

2.IPアドレスの競合を確認
ネットワーク管理者に確認すると、同じ 192.168.10.100 が別のサーバーにも割り当てられていた。

3.一時的に手動で新しいIPを割り当て

ifconfig eth0 192.168.10.101 netmask 255.255.255.0

新しいIPを設定し、サーバーの通信が安定することを確認。

4.VLAN 設定の修正
IP競合を解決するため、ネットワーク設定を恒久的に修正。

結果

  • ifconfig でインターフェース情報を確認し、VLAN内の IP アドレス競合を発見
  • 一時的に ifconfig で IP を変更し、トラブルシューティングを実施
  • 最終的に VLAN 設定を修正して、通信を安定化
新人エンジニア
新人エンジニア

VLAN の eth0.10 みたいな仮想インターフェースは ifconfig で確認できるのですか?

先輩エンジニア
先輩エンジニア

そうだね、ifconfig -a を使うとすべてのインターフェースが表示されるから VLAN の問題も特定しやすいよ。

VLAN環境でのIPアドレス競合解決事例

問題発生

VLAN環境の設定変更後、サーバーの通信が不安定になりました。

現状確認

ifconfig -aで確認したところ、eth0に192.168.10.100が設定されていました。

原因特定

同じIPアドレスが別のサーバーにも割り当てられていることが判明しました。

一時対応

ifconfig eth0 192.168.10.101 netmask 255.255.255.0で新しいIPを割り当てました。
VLAN環境でのIPアドレス競合解決事例
スポンサーリンク

ifconfig コマンドを利用した失敗事例

誤った ifconfig の使用は深刻なネットワーク障害につながる

ifconfig の誤用は、通信断やルーティングの問題を引き起こす可能性がある。
ここでは、ネットワークブリッジ環境で誤った設定をした事例 を紹介する。

ブリッジインターフェースの誤設定による通信断

背景

ある仮想化環境で、ゲスト OS に ブリッジインターフェース(br0)を設定する作業 をしていた。
誤った ifconfig の操作でブリッジ設定を変更した結果、ホスト OS のネットワークも完全に切断されてしまった。

問題の発生順書

1.br0 の作成と IP アドレスの設定

ifconfig br0 192.168.1.100 netmask 255.255.255.0 up

通常は brctl addif で物理インターフェースを追加するが、誤って物理インターフェース eth0 の IP 設定を削除してしまった。

2.物理インターフェースのIPアドレスを削除

ifconfig eth0 0.0.0.0

この時点で、ホスト OS もネットワークから完全に切断された。

3.リモート接続が不能になり、現地作業が必要に
リモートサーバーで作業していたため、ネットワークが切断され、SSH 接続が不能に。
データセンターに出向いて コンソール接続 で手動復旧を行うことになった。

解決策
コンソール経由で eth0 に元のIPを再設定。

ifconfig eth0 192.168.1.50 netmask 255.255.255.0 up

その後、ブリッジ設定を正しく修正。

結果

  • 誤って eth0 の IP を削除し、ネットワークが切断
  • 物理的なコンソールアクセスが必要になり、復旧に時間がかかった
  • brctl addif br0 eth0 を使って正しく設定すべきだった
新人エンジニア
新人エンジニア

ブリッジを設定する際、eth0 の IP を 0.0.0.0 にしてしまったのですが、復旧方法はありますか?

先輩エンジニア
先輩エンジニア

もし ifconfigeth0 に IP を再設定できるなら、それが最優先。ただし、SSH が切れた場合は直接コンソールで設定し直すしかないね。

ブリッジインターフェース設定失敗事例

作業内容

仮想化環境でブリッジインターフェース(br0)を設定する作業をしていました。

誤った操作

ifconfig eth0 0.0.0.0を実行し、物理インターフェースのIP設定を削除してしまいました。

問題発生

ホストOSもネットワークから完全に切断され、リモート接続が不能になりました。

復旧作業

データセンターに出向いてコンソール接続で手動復旧を行いました。
ブリッジインターフェース設定失敗事例
ゴリタンが愛用しているLinuxの教科書たち
https://amzn.to/4hBQa2y
https://a.r10.to/hkpc1F

この記事も参考になるかも!
この記事を書いた人!

ゴリタン

インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。

CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。

あなたにオススメの広告
スポンサーリンク
Linux教科書