ifconfigは古い!
最近のUbuntuでは、従来ネットワーク設定に用いられていた「ifconfig」コマンドがデフォルトではインストールされていません。このため、「ifconfig」を利用するには、net-tools パッケージを手動でインストールする必要があります。
以下に、インストール手順と関連コマンドについて詳しくご紹介いたします。
net-toolsのインストール方法
以下のコマンドを実行することで、net-tools
パッケージをインストールできます。
sudo apt install net-tools
これにより、以下のようなネットワーク関連のコマンドが利用可能となります。
主なコマンド一覧とその用途
-
ifconfig
- ネットワークインターフェースの設定や状態を表示します。
- 例: ネットワークインターフェースのIPアドレスを確認
-
route
- ルーティングテーブルの表示や設定を行います。
- 例: デフォルトゲートウェイの設定や確認
-
netstat
- ネットワーク接続やルーティングテーブル、インターフェース統計情報を表示します。
- 例: TCPやUDP接続の状況確認
-
arp
- ARPキャッシュ(アドレス解決プロトコルのキャッシュ)の操作や表示を行います。
- 例: ARPテーブルのエントリ表示
-
nameif
- ネットワークインターフェース名を設定します。
-
iptunnel
- IPトンネルデバイスを設定します。
-
plipconfig
- パラレルポートを利用したIP接続(PLIP)の設定を行います。
-
slattach
- シリアルライン上でのIP(SLIP)接続を設定します。
注意点
-
net-tools は古いツールセットであり、現在では
ip
コマンド(iproute2
パッケージに含まれる)の使用が推奨されています。 - 例:
-
ifconfig
の代わりにip addr
-
route
の代わりにip route
-
レガシーシステムや古いドキュメントを扱う際には便利なツールですが、新しいシステムでは極力 ip
コマンドを使用する方が良いでしょう。
ip コマンドによる代替方法
以下に、従来のコマンドと ip
コマンドでの代替方法を示します。
ifconfig → ip addr / ip link
目的: ネットワークインターフェースの情報表示や設定
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などの新しい技術への移行が推奨されます。
slattach → ip link
目的: 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