【Linux】コマンドでipアドレスなどを確認する:ifconfig

Linux

どーも!marusukeです!

現在はLinuxでは非推奨となっているifconfigについて説明します!

ifconfigコマンドでできること

ifconfig [OPTIONS] [INTERFACE]

ifconfigコマンドは、LinuxやUnix系OSでネットワークインターフェースの設定や管理を行うための古いツールです。ネットワークデバイス(インターフェース)の状態確認、IPアドレスの設定、インターフェースの有効化・無効化などに使用されます

ただし、ifconfigは現在非推奨となっており、ipコマンド(ip addrip 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が非推奨となった理由は以下の通りです

  1. 機能の不足
    ifconfigは、現代のネットワーク環境に必要な多くの機能をサポートしていません。たとえば、次のような点でipコマンドに劣ります
    • IPv6のサポートが不完全
    • 詳細なネットワーク状態(トランスミットキュー長やネットワークネームスペースなど)の確認ができない
    • 仮想ネットワークデバイス(VLANやBridgeなど)の管理機能が限定的
  2. 開発が停止している
    ifconfigは、net-toolsパッケージに含まれていますが、このパッケージの開発は長い間ほぼ停止しています。一方で、ipコマンドを含むiproute2ツールは現在も積極的に開発・保守されています
  3. 新しい標準ツールの登場 (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
  • 永続化設定について
    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コマンドについては以下の記事をご参照ください

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました