Linuxでnetstatやifconfigやarpコマンドの代わりにipコマンドやssコマンドを使おう

Linuxでnetstatやifconfigや arpコマンドの代わりに ipコマンドやssコマンドを使う Linux

比較的古いLinuxでは、IPアドレスを表示したりルーティング情報やARPテーブルを表示するためには、ifconfigコマンドやrouteコマンド、arpコマンド、netstatコマンドを利用していました。これらのコマンドはnet-toolsというパッケージに入っていましたが、新しいLinuxではiproute2というパッケージに置き換えられています。よってiproute2パッケージに含まれているコマンドを使うようにする必要があります。

net-toolsとiproute2のコマンド比較

機能net-toolsパッケージiproute2パッケージ
IP アドレス確認・設定ifconfigip addr, ip link
ルーティング情報確認routeip route
ネットワークインターフェース有効/無効ifconfig up/downip link set up/down
ARP テーブル表示arpip neigh
ネットワーク統計netstatss, ip -s link

コマンド例

net-toolsパッケージに含まれるコマンドと、iproute2パッケージに含まれるコマンドの比較例を以下に記載します。

net-tools パッケージiproute2 パッケージ
arp -aip neigh
arp -vip -s neigh
arp -s 192.168.0.1 1:2:3:4:5:6ip neigh add 192.168.0.1 lladdr 1:2:3:4:5:6 dev eth1
arp -i eth1 -d 192.168.0.1ip neigh del 192.168.0.1 dev eth1
ifconfig -aip addr
ifconfig eth0 downip link set eth0 down
ifconfig eth0 upip link set eth0 up
ifconfig eth0 192.168.0.1ip addr add 192.168.0.1/24 dev eth0
ifconfig eth0 netmask 255.255.255.0ip addr add 192.168.0.1/24 dev eth0
ifconfig eth0 mtu 9000ip link set eth0 mtu 9000
ifconfig eth0:0 192.168.0.2ip addr add 192.168.0.2/24 dev eth0
netstatss
netstat -neopass -neopa
netstat -gip maddr
routeip route
route add -net 192.168.5.0 netmask 255.255.255.0 dev eth0ip route add 192.168.5.0/24 dev eth0
route add default gw 192.168.0.1ip 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パッケージに含まれるコマンドを利用するようにしましょう。

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