どーも!marusukeです!
現在はLinuxでは非推奨となっているifconfigについて説明します!
ifconfigコマンドでできること
ifconfig [OPTIONS] [INTERFACE]
ifconfigコマンドは、LinuxやUnix系OSでネットワークインターフェースの設定や管理を行うための古いツールです。ネットワークデバイス(インターフェース)の状態確認、IPアドレスの設定、インターフェースの有効化・無効化などに使用されます
ただし、ifconfigは現在非推奨となっており、ipコマンド(ip addrやip linkなど)が推奨されています
注:ifconfigは、net-toolsパッケージに含まれているため、デフォルトでインストールされていない場合があります
主な機能
- ネットワークインターフェースの状態確認
- IPアドレスやサブネットマスクの確認
- ネットワークインターフェースの有効化/無効化
- MTUサイズの設定
- MACアドレスの設定
ifconfigコマンドの使用例
# 1. ネットワークインターフェースの状態を表示する
ifconfig
# 出力例:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::a00:27ff:fe5e:4322 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:5e:43:22 txqueuelen 1000 (Ethernet)
RX packets 3477 bytes 2177328 (2.0 MiB)
TX packets 3567 bytes 228211 (222.8 KiB)
# 2. 特定の(例として「enp0s3」という)インターフェース情報を表示する
ifconfig enp0s3
# 出力例:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:5e:43:22 txqueuelen 1000 (Ethernet)
# 3. インターフェースを無効化する
sudo ifconfig enp0s3 down
# 4. インターフェースを有効化する
sudo ifconfig enp0s3 up
# 5. インターフェースのIPアドレスを設定する
sudo ifconfig enp0s3 192.168.1.100 netmask 255.255.255.0
# 6. インターフェースのMTUを変更する
sudo ifconfig enp0s3 mtu 1400
ifconfigコマンドのオプション
以下は、ifconfigコマンドで使用できる主なオプションです
| オプション | 説明 |
|---|---|
up | 指定したインターフェースを有効化します |
down | 指定したインターフェースを無効化します |
inet <IPアドレス> | IPアドレスを設定します |
netmask <サブネットマスク> | サブネットマスクを設定します |
broadcast <アドレス> | ブロードキャストアドレスを設定します |
mtu <サイズ> | MTUサイズを設定します |
ether <MACアドレス> | インターフェースのMACアドレスを設定します |
ifconfigが非推奨の理由
ifconfigが非推奨となった理由は以下の通りです
- 機能の不足
ifconfigは、現代のネットワーク環境に必要な多くの機能をサポートしていません。たとえば、次のような点でipコマンドに劣ります- IPv6のサポートが不完全
- 詳細なネットワーク状態(トランスミットキュー長やネットワークネームスペースなど)の確認ができない
- 仮想ネットワークデバイス(VLANやBridgeなど)の管理機能が限定的
- 開発が停止している
ifconfigは、net-toolsパッケージに含まれていますが、このパッケージの開発は長い間ほぼ停止しています。一方で、ipコマンドを含むiproute2ツールは現在も積極的に開発・保守されています - 新しい標準ツールの登場 (
ipコマンド)
現代のLinuxディストリビューションでは、iproute2が標準のネットワーク管理ツールとして採用されています。ipコマンドは、より強力で柔軟性があり、最新のネットワークプロトコルや機能(例: ネットワークネームスペース、QoS、トラフィック管理)に対応しています
注意点
- 非推奨であること
現代のLinux環境ではifconfigを使用するのではなく、ipコマンドを使用することが推奨されています net-toolsのインストールが必要な場合がある
多くのディストリビューションでは、ifconfigを使用するためにnet-toolsパッケージを手動でインストールする必要があります。以下のコマンドでインストールできます- Red Hat系(RHEL、Rocky Linux、CentOS):
sudo dnf install net-tools - Debian系(Ubuntuなど):
sudo apt install net-tools
- Red Hat系(RHEL、Rocky Linux、CentOS):
- 永続化設定について
ifconfigで行った設定は再起動後にリセットされるため、永続化するにはネットワーク設定ファイルを編集する必要があります
推奨される代替ツール
現在、ipコマンドを使用することが推奨されています。以下は、ifconfigの代替としてのipコマンドの例です
# ifconfigでインターフェース情報を表示する
ifconfig
# ipコマンドの場合
ip addr show
# ifconfigでインターフェースを有効化する
sudo ifconfig enp0s3 up
# ipコマンドの場合
sudo ip link set enp0s3 up
# ifconfigでIPアドレスを設定する
sudo ifconfig enp0s3 192.168.1.100 netmask 255.255.255.0
# ipコマンドの場合
sudo ip addr add 192.168.1.100/24 dev enp0s3
ipコマンドについては以下の記事をご参照ください
以上です!
ここまで読んでいただきありがとうございました!


コメント