サーバエンジニアの構築めも

Linux関連を中心としたサーバの構築記録

[CentOS 7] ネットワーク関連コマンド

CentOS7では、最小構成でインストールした場合に「ifconfig」や「netstat」などのネットワーク関連のコマンドが利用できない。「net-tools」パッケージをインストールすれば利用可能だが、今後は「net-tools」は廃止となる予定であるため、「net-tools」パッケージから置き換わる「iproute」パッケージで提供されるコマンド群(「ip」や「ss」コマンドなど)を利用した方が良い。

IPアドレスの確認 (ip addr / ip a)

CentOS6の「ifconfig」に相当

# 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
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:a8:74:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.40.102/24 brd 192.168.40.255 scope global ens32
       valid_lft forever preferred_lft forever

ルーティングテーブルの確認 (ip route / ip r)

CentOS6の「route」に相当

# ip r
default via 192.168.40.1 dev ens32  proto static  metric 100
192.168.40.0/24 dev ens32  proto kernel  scope link  src 192.168.40.102  metric 100

ARPテーブルの確認 (ip neigh / ip n)

CentOS6の「arp」に相当

# ip n
192.168.40.1 dev ens32 lladdr 00:00:0c:07:ac:0a REACHABLE

TCPソケットの状態確認 (ss -nat)

CentOS6の「netstat -nat」に相当

# ss -nat
State      Recv-Q Send-Q                            Local Address:Port                              Peer Address:Port
LISTEN     0      128                                   127.0.0.1:199                                          *:*
LISTEN     0      128                                           *:22                                           *:*
ESTAB      0      48                               192.168.40.102:22                                 10.0.0.1:51844
LISTEN     0      128                                          :::22                                          :::*

UDPソケットの状態確認 (ss -nau)

CentOS6の「netstat -nau」に相当

# ss -nau
State      Recv-Q Send-Q                            Local Address:Port                              Peer Address:Port
UNCONN     0      0                                             *:123                                          *:*
UNCONN     0      0                                             *:161                                          *:*
UNCONN     0      0                                     127.0.0.1:323                                          *:*
UNCONN     0      0                                             *:5353                                         *:*
UNCONN     0      0                                             *:58881                                        *:*
UNCONN     0      0                                            :::123                                         :::*

インターフェースの統計情報の確認 (ip -s l)

CentOS6の「netstat -i」に相当

# ip -s l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    1258261    16208    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    1258261    16208    0       0       0       0
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:50:56:a8:74:93 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    21242989   123013   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    2487305    17342    0       0       0       0

デバイスの状態確認 (nmcli device / nmcli d)

# nmcli d
DEVICE  TYPE      STATE      CONNECTION
ens32   ethernet  connected  ens32
lo      loopback  unmanaged  --

詳細なデバイスの状態確認 (nmcli device show / nmcli d show)

# nmcli d show
GENERAL.DEVICE:                         ens32
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:50:56:A8:74:93
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens32
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.40.102/24
IP4.GATEWAY:                            192.168.40.1
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             8.8.4.4
IP6.GATEWAY:

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:
IP6.GATEWAY:

インターフェースを指定するには、以下のようにインターフェース名を指定する。

# nmcli d show ens32
GENERAL.DEVICE:                         ens32
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:50:56:A8:74:93
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens32
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.40.102/24
IP4.GATEWAY:                            192.168.40.1
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             8.8.4.4
IP6.GATEWAY:

インターフェースの接続状態の確認

# nmcli c
NAME   UUID                                  TYPE            DEVICE
ens32  4b0cf375-fdb8-42a7-85af-674c0cc5ac54  802-3-ethernet  ens32

インターフェースの停止 (nmcli connection down / nmcli c down)

CentOS6の「ifdown」に相当

# nmcli c down ens32

インターフェースの起動 (nmcli connection up / nmcli c up)

CentOS6の「ifup」に相当

# nmcli c up ens32

インターフェースの自動起動OFF

# nmcli c mod ens32 connection.autoconnect no
# systemctl restart network

インターフェースの自動起動ON

# nmcli c mod ens32 connection.autoconnect yes
# systemctl restart network

IPアドレスの設定

# nmcli c mod ens32 ipv4.addresses 10.10.10.2/24
# systemctl restart network

デフォルトゲートウェイの設定

# nmcli c mod ens32 ipv4.gateway 10.10.10.1
# systemctl restart network

DNSサーバの設定

# nmcli c mod ens32 ipv4.dns "8.8.8.8 8.8.4.4"
# nmcli c mod ens32 ipv4.dns-search hogehoge.com
# systemctl restart network

スタティックルートの設定

# nmcli c mod ens32 ipv4.routes "10.0.0.0/24 10.10.20.1"
# systemctl restart network

NMTUIによるネットワーク設定

直観的な操作でネットワークの設定を行いたい場合は、NMTUIを利用することができる。

# nmtui