iproute2パッケージ含まれるipコマンドやssコマンドを使うと、ネットワークインターフェースの状態の確認や設定、ルーティングテーブルの表示や追加、削除、ARPテーブルの確認と削除など、ネットワークに関するさまざまな操作ができます。

CentOS 6やRHEL 6までは、これらの操作に、net-toolsパッケージに含まれるifconfigやroute、arp、netstatといったコマンドが使われていきました。
CentOS 7、RHEL 7ではnet-toolsは推奨されず、最小構成の場合はインストールされません。yumコマンドなどでnet-toolsパッケージのインストールは可能ですが、いずれはなくなるので新しいコマンドを覚えていきましょう。

net-toolsとiproute2のコマンド対応は以下のようになります。

net-tools iproute2 説明
arp ip n(ip neighbor) ARPテーブルの内容を表示
ifconfig ip a show(ip addr show) 起動中のIF情報表示
netstat ss 有効な接続(ESTABLISHED)情報表示
route ip r(ip route) 経路の追加/削除

なお、無線LANネットワークの設定を行うためのコマンドも変わっています。以前は、wireless-toolsを使用していましたが、CentOS7、RHEL 7からiwに変わりました

wirelesstools iw 説明
iwconfig iw 無線LAN IFの情報表示

IPアドレスを確認する

IPアドレスやMACアドレスを確認するには、ip addr showコマンドを実行します。これは、従来のifconfigコマンドに相当します。

# ip addr show
1: lo:  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: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:27:fe:8a brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.50/24 brd 172.16.0.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe27:fe8a/64 scope link
       valid_lft forever preferred_lft forever

ルーティングテーブルの表示

ルーティングテーブルを確認するには、ip route showコマンドを実行します。これは従来のrouteコマンドに相当します。

# ip route show
default via 172.16.0.254 dev eno16777736  proto static  metric 100
172.16.0.0/24 dev eno16777736  proto kernel  scope link  src 172.16.0.50  metric 100

セッションを確認する

ssコマンドを使うと、ネットワークで通信するのに使われるソケットの各種統計情報を確認できます。従来のnetstatコマンドに代わって利用されます。
TCPポートで通信を行っているすべての通信状態を表示するには、ss -natコマンドを実行します。

# ss -nat
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port     
LISTEN     0      128          *:22                       *:*
LISTEN     0      128          *:5432                     *:*
LISTEN     0      100    127.0.0.1:25                       *:*                 
ESTAB      0      0      172.16.0.50:22                 172.16.0.3:49618        
LISTEN     0      128         :::22                      :::*
LISTEN     0      128         :::5432                    :::*
LISTEN     0      100        ::1:25                      :::*

TCPポートでリッスンして待ち受けているすべてのポートを表示するには、ss -nltコマンドを実行します。

# ss -nlt
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port     
LISTEN     0      128          *:22                       *:*
LISTEN     0      128          *:5432                     *:*
LISTEN     0      100    127.0.0.1:25                       *:*                 
LISTEN     0      128         :::22                      :::*
LISTEN     0      128         :::5432                    :::*
LISTEN     0      100        ::1:25                      :::*

UDPポートで通信しているすべての通信状態を表示するには、ss -nauコマンドを実行します。

# ss -nau
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port     
ESTAB      0      0          ::1:53700                  ::1:53700

UDPポートでリッスンして待ち受けているすべてのポートを表示するには、ss -nluコマンドを実行します。

ネットワークの疎通確認

ネットワーク経由でリモートのホストにパケットが到達できるか確認するには、pingコマンドを実行します。これはCent OS6以前と同じです。

# ping 172.16.0.254
PING 172.16.0.254 (172.16.0.254) 56(84) bytes of data.
64 bytes from 172.16.0.254: icmp_seq=1 ttl=64 time=0.365 ms
64 bytes from 172.16.0.254: icmp_seq=2 ttl=64 time=0.478 ms
64 bytes from 172.16.0.254: icmp_seq=3 ttl=64 time=0.436 ms
64 bytes from 172.16.0.254: icmp_seq=4 ttl=64 time=0.571 ms
^C
--- 172.16.0.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3020ms
rtt min/avg/max/mdev = 0.365/0.462/0.571/0.077 ms

「Ctrl+C」でping実行が終了します。
デフォルトでは無制限に実行されますが、-cオプションを使うことで実行回数を指定できます。

「time=」で表示されるレスポンス結果(RTT)の目安としては、同じネットワークセグメント上のホストの場合で1ms(ミリ秒)以内、国内のインターネット上にあるホストの場合で10ms~30ms以内、地球の裏側で500ms程度です。

なお、pingコマンドはICMPプロトコルを使います。ICMPプロトコルがブロックされているネットワーク環境では、実行してもうまく結果が帰ってこないことがあります。