🏀

ifconfigは古い!

に公開

最近のUbuntuでは、従来ネットワーク設定に用いられていた「ifconfig」コマンドがデフォルトではインストールされていません。このため、「ifconfig」を利用するには、net-tools パッケージを手動でインストールする必要があります。

以下に、インストール手順と関連コマンドについて詳しくご紹介いたします。


net-toolsのインストール方法

以下のコマンドを実行することで、net-tools パッケージをインストールできます。

sudo apt install net-tools

これにより、以下のようなネットワーク関連のコマンドが利用可能となります。


主なコマンド一覧とその用途

  1. ifconfig

    • ネットワークインターフェースの設定や状態を表示します。
    • 例: ネットワークインターフェースのIPアドレスを確認
  2. route

    • ルーティングテーブルの表示や設定を行います。
    • 例: デフォルトゲートウェイの設定や確認
  3. netstat

    • ネットワーク接続やルーティングテーブル、インターフェース統計情報を表示します。
    • 例: TCPやUDP接続の状況確認
  4. arp

    • ARPキャッシュ(アドレス解決プロトコルのキャッシュ)の操作や表示を行います。
    • 例: ARPテーブルのエントリ表示
  5. nameif

    • ネットワークインターフェース名を設定します。
  6. iptunnel

    • IPトンネルデバイスを設定します。
  7. plipconfig

    • パラレルポートを利用したIP接続(PLIP)の設定を行います。
  8. slattach

    • シリアルライン上でのIP(SLIP)接続を設定します。

注意点

  • net-tools は古いツールセットであり、現在では ip コマンド(iproute2 パッケージに含まれる)の使用が推奨されています。
  • 例:
    • ifconfig の代わりに ip addr
    • route の代わりに ip route

レガシーシステムや古いドキュメントを扱う際には便利なツールですが、新しいシステムでは極力 ip コマンドを使用する方が良いでしょう。


ip コマンドによる代替方法

以下に、従来のコマンドと ip コマンドでの代替方法を示します。

目的: ネットワークインターフェースの情報表示や設定

ip addr     # インターフェース情報の表示
ip link set eth0 up   # インターフェースの有効化
ip link set eth0 down # インターフェースの無効化
ip addr add 192.168.1.10/24 dev eth0 # IPアドレスの追加

route → ip route

目的: ルーティングテーブルの管理

ip route show        # ルーティングテーブルの表示
ip route add default via 192.168.1.1  # デフォルトゲートウェイの設定
ip route add 10.0.0.0/8 via 192.168.1.2  # 特定ネットワークのルート追加

netstat → ss

目的: ネットワーク接続や統計情報の表示

ss -t    # 全TCP接続の表示
ss -u    # 全UDP接続の表示
ss -l    # リスニング中のポートの表示

arp → ip neigh

目的: ARPテーブルの表示や管理

ip neigh show        # ARPテーブルの表示
ip neigh add 192.168.1.2 lladdr 00:11:22:33:44:55 dev eth0 # 手動でエントリ追加
ip neigh del 192.168.1.2 dev eth0  # エントリ削除

nameif → 手動設定

目的: インターフェース名の変更
手順: /etc/udev/rules.d/ にudevルールを作成して対応。

iptunnel → ip tunnel

目的: IPトンネルデバイスの設定

ip tunnel add tun0 mode gre remote 192.168.1.1 local 192.168.1.2 dev eth0
ip tunnel del tun0

plipconfig → 非対応

PLIP(パラレルポートIP)は現在ほとんど使用されていません。イーサネットやWi-Fiなどの新しい技術への移行が推奨されます。

目的: SLIP(シリアルラインIP)の設定

ip link set dev sl0 up

まとめ

Ubuntuのネットワークツールは、時代とともに進化しています。net-tools をインストールすることで古いコマンドを利用できますが、現代の標準としては ip コマンドの利用が推奨されます。必要に応じて使い分けると良いでしょう。

補足 debian

golangのDockerコンテナはapt install net-toolsでインストールしてもipコマンドやssコマンドがインストールされません。netstat -tulnでポートは確認できます。コンテナのbashに入りcat /etc/os-releaseで確認したところ、debianベースのコンテナで、ipコマンドやssコマンドを使用するには、apt install iproute2でインストールする必要がありました。

不安になったので、Ubuntuコンテナも確認しようと思います。

Discussion