最終更新日 2025年9月10日

ifconfig コマンドの利用方法
ifconfig はネットワークインターフェースの設定や確認に不可欠なコマンドです。
Linux におけるネットワーク設定の基本となる ifconfig コマンドは、IPアドレスの確認、ネットワークインターフェースの有効化・無効化、MACアドレスの変更 などを行うためのツールです。
ifconfig は net-tools に含まれており、一部のLinuxディストリビューションでは非推奨となっているため、ip コマンドへの移行も推奨されていますが、依然として広く利用されています。

ifconfig コマンドの基本構文
基本構文
ifconfig [インターフェース名] [オプション]ifconfig は、引数なしで実行すると現在のネットワークインターフェースの情報を表示します。
特定のインターフェース(例:eth0)に関する情報を表示したい場合は、インターフェース名を指定します。
使用例
# すべてのネットワークインターフェースを表示
ifconfig
# 特定のインターフェース(eth0)の詳細情報を表示
ifconfig eth0![ifconfigコマンドの基本構文
基本構文
ifconfig [インターフェース名] [オプション]
引数なしの実行
現在のネットワークインターフェースの情報を表示します。
インターフェース指定
特定のインターフェース(例:eth0)に関する情報を表示します。](https://www.goritarou.com/wp-content/uploads/2025/03/image-72-1024x470.png)
ifconfig コマンドでよく使用するオプション一覧
| オプション | 説明 |
|---|---|
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 の基本的な出力結果とその見方
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など) |
inet | IPv4アドレス |
netmask | サブネットマスク |
broadcast | ブロードキャストアドレス |
inet6 | IPv6アドレス |
ether | MACアドレス |
RX packets | 受信したパケット数 |
TX packets | 送信したパケット数 |

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

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

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

主なフラグは以下の通りだね。
| フラグ | 説明 |
|---|---|
UP | インターフェースが有効 |
BROADCAST | ブロードキャスト対応 |
RUNNING | デバイスが動作中 |
MULTICAST | マルチキャスト対応 |

まとめ
ifconfigは ネットワークの確認・設定に便利なコマンドifconfig eth0 up/downで インターフェースの有効化/無効化ifconfig eth0 192.168.1.100 netmask 255.255.255.0で IPアドレスの設定ifconfigの出力で 現在のネットワーク状態を確認net-toolsがインストールされていない場合は、ipコマンドを使用する
Linux のネットワーク設定を理解するために、ifconfig の基本をしっかり押さえておきましょう!
各オプション毎の出力結果とその見方
本セクションでは以下の内容について解説します。
- ifconfig -a で全インターフェースを表示する方法と出力結果の見方
- ifconfig eth0 で特定のインターフェースの情報を取得する方法と出力結果の見方
- ifconfig eth0 up/down でインターフェースを有効化・無効化する方法と出力結果の見方
- ifconfig eth0 mtu 1500 で MTU 値を変更する方法と出力結果の見方
- ifconfig eth0 promisc でプロミスキャスモードを設定する方法と出力結果の見方
- まとめ
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 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)

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

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

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 mtu 1500 で MTU 値を変更する方法と出力結果の見方
ifconfig eth0 mtu [値] で MTU を変更できる
MTU(Maximum Transmission Unit)は、ネットワークパケットの最大サイズを設定する値です。デフォルトは 1500 バイトですが、通信の最適化のために変更することがあります。
コマンド実行例
ifconfig eth0 mtu 1400
MTU を変更しても、元に戻るのですが?

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

ifconfig eth0 promisc でプロミスキャスモードを設定する方法と出力結果の見方
プロミスキャスモードを有効化すると、すべてのパケットをキャプチャできる
プロミスキャスモード(Promiscuous Mode)は、通常は受信しないパケットも含めてすべてのパケットをキャプチャするモード です。
パケットキャプチャツール(Wireshark など)と組み合わせて利用されます。
コマンド実行例
ifconfig eth0 promisc
プロミスキャスモードを解除するには?

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

まとめ
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 | 対象のインターフェース名を指定(例: eth0) | ifconfig eth0 |
up | インターフェースを有効化 | ifconfig eth0 up |
down | インターフェースを無効化 | ifconfig eth0 down |
[-]arp | ARP プロトコルの有効/無効を設定 | ifconfig eth0 -arp |
[-]promisc | プロミスキャスモードの有効/無効を設定 | ifconfig eth0 promisc |
[-]allmulti | すべてのマルチキャストパケットを受信するモードを設定 | ifconfig eth0 allmulti |
mtu N | MTU(最大転送単位)を設定 | ifconfig eth0 mtu 1500 |
dstaddr addr | ポイントツーポイント接続のリモートIPを設定(廃止) | N/A |
netmask addr | IP ネットマスクを設定 | ifconfig eth0 netmask 255.255.255.0 |
add addr/prefixlen | IPv6アドレスを追加 | ifconfig eth0 add 2001:db8::1/64 |
del addr/prefixlen | IPv6アドレスを削除 | ifconfig eth0 del 2001:db8::1/64 |
tunnel ::aa.bb.cc.dd | IPv6 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 address | MACアドレス(ハードウェアアドレス)を設定 | 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この時点で、eth0 に 192.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 の問題も特定しやすいよ。

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 にしてしまったのですが、復旧方法はありますか?

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

ゴリタン
インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。
CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。






