CentOS 7でのネットワーク設定あれこれ

ここのところ Ubuntu ばかり使っており、RedHat / CentOS を久しぶりに使ったところネットワーク周りの設定確認や設定変更の方法をトント忘れてしまっていた。改めて調べたので、以下の章立てで書き残しておく:

  • 現在のネットワーク設定を確認する
    • IP アドレスとサブネットマスク
    • デフォルトゲートウェイ
    • DNSサーバー
  • インタフェースの有効化と無効化
  • IP アドレスの設定変更

動作確認環境

  • CentOS 7.7

現在のネットワーク設定を確認する

  • IP アドレスとサブネットマスク
    • ip [-c] addr-c オプションで表示に色が付く)
  • デフォルトゲートウェイ
    • ip route | grep default
  • DNSサーバー
    • grep nameserver /etc/resolv.conf

出力例(VirtualBox で作り捨てした VM のもの):

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:1c:87:8d brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.100/24 brd 10.0.2.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::81a6:c2f3:2ba5:20d2/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
$ ip route
default via 10.0.2.1 dev enp0s3 proto static metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
$ grep nameserver /etc/resolv.conf
nameserver 192.168.xxx.xxx

インタフェースの有効化と無効化

  • 有効化する
    • ip link set IFNAME up
  • 無効化する
    • ip link set IFNAME down

なお IFNAME の部分は enp0s3eth0 といったネットワークインタフェースの名前に置き換えて使うこと。

出力例(VirtualBox で作り捨てした VM のもの):

# ip link set enp0s3 up
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000       link/ether 08:00:27:1c:87:8d brd ff:ff:ff:ff:ff:ff

IP アドレスの設定変更

ファイル /etc/sysconfig/network-scripts/ifcfg-IFNAME を編集する。個人的に重要と思うキーを列挙しておく。

  • ONBOOT: OS 起動と同時に有効化する場合は yes、さもなくば no を指定する
  • BOOTPROTO: DHCP の場合は dhcp を、静的(固定)アドレスにする場合は none または static を指定する
  • IPADDR: そのインタフェースに割り当てる IPv4 アドレス
  • PREFIX: CIDR 形式のプレフィックス(代わりに NETMASK キーで 255.255.255.0 等のサブネットマスクを指定しても良い)
  • IPV6INIT: IPv6 を使用する場合は yes、さもなくば no を指定する
  • IPV6ADDR: IPv6 アドレス
  • GATEWAY: デフォルトゲートウェイ
  • DNS1: 1 番目の DNS サーバーの IP アドレス(省略可)
  • DNS2: 2 番目の DNS サーバーの IP アドレス(省略可)

設定例:

$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
DEVICE=enp0s3
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
PREFIX=8
IPV6INIT=no
GATEWAY=192.168.1.1
DNS1=192.168.1.2

参考情報