CentOS8でNetworkManagerを無効化して、従来の/etc/sysconfig/network-scripts/ifcfg-ethXファイルでネットワークを設定する方法を紹介します。
NetworkManagerを無効化する
NetworkManagerを停止して、自動起動を無効化するために以下のコマンドを実行します。
# systemctl stop NetworkManager.service # systemctl disable NetworkManager.service
NetworkManagerを停止および自動起動の無効化を確認します。
# systemctl status NetworkManager.service ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:NetworkManager(8)
CentOS7までは、このあとに/etc/sysconfig/network-scripts/ifcfg-ethXでネットワークの設定をして、ネットワークを再起動すれば良かったのですが、CentOS8の場合はもうひと手間必要です。
network-scriptsパッケージのインストール
CentOS8ではデフォルトでnetwork.serviceがインストールされていません。
# systemctl status network.service Unit network.service could not be found.
そのため、network.serviceが使用できるようにnetwork-scriptsパッケージのインストールが必要です。パッケージをインストールするには次のコマンドを実行します。
# dnf install network-scripts -y
これでいつものnetwork.serviceが使えるようになりました。
# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; generated) Active: inactive (dead) Docs: man:systemd-sysv-generator(8)
この時点で/etc/sysconfig/network-scripts/ifcfg-ethXでネットワークの設定をします。設定方法はCentOS7までと同じです。
設定が完了したら、network.serviceを開始し、自動起動の設定も有効化します。
# systemctl start network.service # systemctl enable network.service
以上で設定は完了です。
おわりに
「network-scriptsパッケージのインストール」と「NetworkManagerを無効化する」の順序はどちらを先に実施しても構いません。
ただし、NetworkManagerを無効化した後、network-scriptsパッケージインストール前にシステムを再起動したりすると、ネットワークが繋がらなくなって、パッケージのインストールが出来なくなるので注意してください。この場合はNetworkManagerを起動してネットワークを有効にしてからパッケージをインストールしてください。