どーも!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コマンドについては以下の記事をご参照ください
以上です!
ここまで読んでいただきありがとうございました!
コメント