ネットワークの状況を確認するコマンド―RHEL7/CentOS7の巻

2015.05.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

森永です。

弊社代表の横田が今日このような記事を投稿しておりました。

すると即座に社員から
「これCentOS7だと使えないコマンドありますよね」
という声が上がり、紆余曲折があり私がレスポンス記事を書くことになりました。

指摘の通り、RHEL7やCentOS7の最小構成ではifconfig route netstatなど歴戦の猛者たちはインストールされていません。
本記事では7に対応したコマンドをご紹介していきます。

手っ取り早い解決方法

net-toolsパッケージをインストールすれば従来通り、馴染みのメンツと戦えます。

が、これ7以降のOSでは非推奨パッケージとなっているのです…(まさかの戦力外通告)
すぐにどうなるというわけではないと思いますが、最小構成でのらないということはパッケージをインストール出来ないような環境の場合困りますし、将来的には使えなくなる可能性もあります。

代替コマンド

ただ無くしておしまいだったらひどい話ですが、ちゃんと変わりのコマンドが用意されています。
それがipssの2つです。
たったの2つで今までの猛者たちの代わりをしようというのです。命知らず野郎どもです。

ip a

ifconfigの代替コマンドです。ネットワークインターフェースやIPアドレスを調べます。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP qlen 1000
    link/ether 06:e9:01:88:64:7f brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.10/24 brd 10.0.1.255 scope global dynamic eth0
       valid_lft 3400sec preferred_lft 3400sec
    inet6 fe80::4e9:1ff:fe88:647f/64 scope link
       valid_lft forever preferred_lft forever

ip r

netstat -rrouteコマンドの代替コマンドです。ルートテーブルを調べます。 

$ ip r
default via 10.0.1.1 dev eth0  proto static  metric 100
10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.10
10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.10  metric 100

ss

netstatの代替コマンドです。

$ ss
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port
u_str  ESTAB      0      0                    * 16850                 * 16849
u_str  ESTAB      0      0                    * 16894                 * 16895
u_str  ESTAB      0      0                    * 16853                 * 16852
u_str  ESTAB      0      0                    * 16833                 * 16832
u_str  ESTAB      0      0                    * 16870                 * 16871
u_str  ESTAB      0      0      /var/run/dbus/system_bus_socket 14023                 * 14022
*
*
*

まとめ

RHEL7/CentOS7になりネットワーク周り以外も大きく変更が加えられました。
慣れ親しんだコマンドたちと別れを告げるのは辛いですが、乗り越えていきましょう。。。
他にもたくさんの代替コマンドがありますので、試行錯誤を繰り返してみるのも楽しいかもしれません。

参考文献

Deprecated Linux networking commands and their replacements