比較的古いLinuxでは、IPアドレスを表示したりルーティング情報やARPテーブルを表示するためには、ifconfigコマンドやrouteコマンド、arpコマンド、netstatコマンドを利用していました。これらのコマンドはnet-toolsというパッケージに入っていましたが、新しいLinuxではiproute2というパッケージに置き換えられています。よってiproute2パッケージに含まれているコマンドを使うようにする必要があります。
net-toolsとiproute2のコマンド比較
機能 | net-toolsパッケージ | iproute2パッケージ |
---|---|---|
IP アドレス確認・設定 | ifconfig | ip addr , ip link |
ルーティング情報確認 | route | ip route |
ネットワークインターフェース有効/無効 | ifconfig up/down | ip link set up/down |
ARP テーブル表示 | arp | ip neigh |
ネットワーク統計 | netstat | ss , ip -s link |
コマンド例
net-toolsパッケージに含まれるコマンドと、iproute2パッケージに含まれるコマンドの比較例を以下に記載します。
net-tools パッケージ | iproute2 パッケージ |
---|---|
arp -a | ip neigh |
arp -v | ip -s neigh |
arp -s 192.168.0.1 1:2:3:4:5:6 | ip neigh add 192.168.0.1 lladdr 1:2:3:4:5:6 dev eth1 |
arp -i eth1 -d 192.168.0.1 | ip neigh del 192.168.0.1 dev eth1 |
ifconfig -a | ip addr |
ifconfig eth0 down | ip link set eth0 down |
ifconfig eth0 up | ip link set eth0 up |
ifconfig eth0 192.168.0.1 | ip addr add 192.168.0.1/24 dev eth0 |
ifconfig eth0 netmask 255.255.255.0 | ip addr add 192.168.0.1/24 dev eth0 |
ifconfig eth0 mtu 9000 | ip link set eth0 mtu 9000 |
ifconfig eth0:0 192.168.0.2 | ip addr add 192.168.0.2/24 dev eth0 |
netstat | ss |
netstat -neopa | ss -neopa |
netstat -g | ip maddr |
route | ip route |
route add -net 192.168.5.0 netmask 255.255.255.0 dev eth0 | ip route add 192.168.5.0/24 dev eth0 |
route add default gw 192.168.0.1 | ip route add default via 192.168.0.1 |
サーバーのIPアドレス一覧を見やすく表示する
ipコマンドでサーバーの各インターフェースに設定されているIPアドレス一覧を見やすく表示するには、以下のようなコマンドを実行すると良いでしょう。ここでは “ips” というエイリアスを設定して、いつでも簡単にIPアドレス一覧を表示できるようにしています。
$ alias ips='ip a | awk '\''/inet /&&!/ lo/{print $NF,$2}'\'' | column -t'
$ ips
ens18 10.230.9.61/24
tailscale0 100.84.162.99/32
br-a5ab803ca5b0 172.18.0.1/16
docker0 172.17.0.1/16
このコマンドを実行することで、ネットワークインターフェース名と設定されているIPアドレスがわかりやすく表示できます。
まとめ
比較的新しいLinuxでは、net-toolsに含まれていたコマンドがインストールされていない場合があります。そのため、iproute2パッケージに含まれるコマンドを利用するようにしましょう。