CentOS7 systemd-networkd を使う

2018/12/30
NetworkManagerからsystemd-networkdへの変更 自分用メモ

パッケージの導入

rootで作業。systemd-networkd systemd-resolved のパッケージを導入する。
最初のyumコマンド実行の為リポジトリ関連のダウンロードから開始されている。

[root@heisei01 k896951]# yum install systemd-networkd systemd-resolved -y
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                                                                                                                       | 3.6 kB  00:00:00
extras                                                                                                                                                     | 3.4 kB  00:00:00
updates                                                                                                                                                    | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                                                                              | 166 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                                                                          | 156 kB  00:00:00
(3/4): updates/7/x86_64/primary_db                                                                                                                         | 1.3 MB  00:00:00
(4/4): base/7/x86_64/primary_db                                                                                                                            | 6.0 MB  00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ systemd-networkd.x86_64 0:219-62.el7 を インストール
---> パッケージ systemd-resolved.x86_64 0:219-62.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==================================================================================================================================================================================
 Package                                          アーキテクチャー                       バージョン                                    リポジトリー                          容量
==================================================================================================================================================================================
インストール中:
 systemd-networkd                                 x86_64                                 219-62.el7                                    base                                 470 k
 systemd-resolved                                 x86_64                                 219-62.el7                                    base                                 408 k

トランザクションの要約
==================================================================================================================================================================================
インストール  2 パッケージ

総ダウンロード容量: 878 k
インストール容量: 2.7 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/base/packages/systemd-networkd-219-62.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
systemd-networkd-219-62.el7.x86_64.rpm の公開鍵がインストールされていません
(1/2): systemd-networkd-219-62.el7.x86_64.rpm                                                                                                              | 470 kB  00:00:00
(2/2): systemd-resolved-219-62.el7.x86_64.rpm                                                                                                              | 408 kB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                              4.2 MB/s | 878 kB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : systemd-resolved-219-62.el7.x86_64                                                                                                                1/2
  インストール中          : systemd-networkd-219-62.el7.x86_64                                                                                                                2/2
  検証中                 : systemd-networkd-219-62.el7.x86_64                                                                                                                1/2
  検証中                 : systemd-resolved-219-62.el7.x86_64                                                                                                                2/2

インストール:
  systemd-networkd.x86_64 0:219-62.el7                                                    systemd-resolved.x86_64 0:219-62.el7

完了しました!
[root@heisei01 k896951]# 

NetworkManagerからsystemd-netowrkdへ切り替える

systemd-networkd を利用可能にする。 この状態ではまだ物理デバイス enp0s3 がsystemd-networkdで管理されていないので注意。

[root@heisei01 k896951]# systemctl stop NetworkManager
[root@heisei01 k896951]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@heisei01 k896951]# systemctl start systemd-networkd systemd-resolved
[root@heisei01 k896951]# systemctl enable systemd-networkd systemd-resolved
[root@heisei01 k896951]# networkctl
IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           carrier     unmanaged
  2 enp0s3           ether              routable    unmanaged

2 links listed.
[root@heisei01 k896951]# 

/etc/resolv.conf を /run/systemd/resolve/resolv.conf のシンボリックリンクに置き換える。 そして、物理デバイス enp0s3 へのネットワーク設定を行う。

enp0s3.network
[Match]
Name=enp0s3
[Network]
DHCP=yes

これで再起動してもDHCPによる割り当てが行われる。

[root@heisei01 k896951]# mv /etc/resolv.conf /etc/resolv.conf.org
[root@heisei01 k896951]# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
[root@heisei01 systemd]# mkdir -p /etc/systemd/network/
[root@heisei01 systemd]# vi enp0s3.network
[root@heisei01 systemd]# cat enp0s3.network
[Match]
Name=enp0s3
[Network]
DHCP=yes

[root@heisei01 systemd]# systemctl disable network
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network off
[root@heisei01 systemd]# /sbin/chkconfig network off
[root@heisei01 systemd]# reboot

物理デバイス enp0s3 のIPアドレス 192.168.1.217 はDHCPで付与されたもの。systemd-networkによる動作を確認できた。

[root@heisei01 k896951]# networkctl
IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           carrier     unmanaged
  2 enp0s3           ether              routable    configured

2 links listed.
[root@heisei01 k896951]# 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:fb:b1:0d brd ff:ff:ff:ff:ff:ff
[root@heisei01 k896951]# 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:fb:b1:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.217/24 brd 192.168.1.255 scope global dynamic enp0s3
       valid_lft 86204sec preferred_lft 86204sec
    inet6 fe80::a00:27ff:fefb:b10d/64 scope link
       valid_lft forever preferred_lft forever
[root@heisei01 k896951]#