RHEL/CentOS 8 で NetworkManager を使用してネットワークを管理する方法
RHEL と CentOS 8 では、ネットワーク サービスは NetworkManager デーモンによって管理され、ネットワーク デバイスを動的に構成および制御し、接続を維持するために使用されます。利用可能な場合はアクティブになります。
NetworkManager には、コマンドライン インターフェイスとグラフィカル ユーザー インターフェイス ツールの両方を使用した簡単なネットワーク セットアップと管理のサポート、ネットワーク構成のクエリと制御を可能にする D-Bus を介した API の提供、サポートなど、数多くの利点があります。構成の柔軟性などを実現します。
さらに、ネットワーク マネージャーはファイルとコックピット Web コンソールを使用して構成することもでき、接続ステータスに基づいて他のサービスを開始または停止するためのカスタム スクリプトの使用をサポートします。
先に進む前に、CentOS/RHEL 8 のネットワークに関して注意すべきその他の重要な点を以下に示します。
- 従来の ifcfg タイプの設定(例: ifcfg-eth0、ifcfg-enp0s3)ファイルは引き続きサポートされます。
- ネットワーク スクリプトは非推奨となり、デフォルトでは提供されなくなりました。
- 最小限のインストールでは、nmcli ツール経由で NetworkManager を呼び出す新しいバージョンの ifup スクリプトと ifdown スクリプトが提供されます。
- ifup スクリプトと ifdown スクリプトを実行するには、NetworkManager が実行されている必要があります。
CentOS/RHEL 8 への NetworkManager のインストール
NetworkManager はCentOS/RHEL 8 の基本インストールにプレインストールされている必要があります。それ以外の場合は、図に示すように DNF パッケージ マネージャーを使用してインストールできます。
# dnf install NetworkManager

NetworkManager のグローバル設定ファイルは /etc/NetworkManager/NetworkManager.conf にあり、追加の設定ファイルは /etc/NetworkManager/ にあります。 >。

CentOS/RHEL 8 で Systemctl を使用して NetworkManager を管理する
CentOS/RHEL 8 やsystemd (システムおよびサービス マネージャー) を採用したその他の最新の Linux システムでは、サービスは systemctl ツールを使用して管理されます。
以下は、NetworkManager サービスの管理に役立つ systemctl コマンドです。
NetworkManagerの状態を確認する
CentOS/RHEL 8 の最小限のインストールでは、NetworkManager が起動され、デフォルトで起動時に自動的に起動するように有効になっている必要があります。次のコマンドを使用すると、NetworkManager がアクティブか有効かどうかを確認し、NetworkManager の実行時ステータス情報を出力できます。
# systemctl is-active NetworkManager # systemctl is-enabled NetworkManager # systemctl status NetworkManager

NetworkManagerの起動
NetworkManager が実行されていない場合は、実行するだけで起動できます。
# systemctl start NetworkManager
NetworkManagerの停止
何らかの理由でNetworkManagerを停止または非アクティブ化するには、次のコマンドを実行します。
# systemctl stop NetworkManager
NetworkManagerの再起動
インターフェイス設定ファイルまたは NetworkManager デーモンの設定 (通常は /etc/NetworkManager/ ディレクトリにあります) に変更を加えた場合は、NetworkManager を再起動 (停止してから開始) して変更を適用できます。示されています。
# systemctl restart NetworkManager
NetworkManagerのリロード中
サービスを再起動せずに NetworkManager デーモンの構成 (systemd のユニット構成ファイルではない) を再ロードするには、次のコマンドを実行します。
# systemctl reload NetworkManager
NetworkManager ツールの使用と ifcfg ファイルの操作
NetworkManager は、ユーザーが操作するためのいくつかのツールをサポートしています。
- nmcli – ネットワークの構成に使用されるコマンドライン ツール。
- nmtui – シンプルな Curses ベースのテキスト ユーザー インターフェース。newtwork インターフェース接続の設定と管理にも使用されます。
- その他のツールには、nm-connection-editor、control-center、ネットワーク接続アイコン(すべて GUI 上)などがあります。リ>
NetworkManager によって検出されたデバイスを一覧表示するには、nmcli コマンドを実行します。
# nmcli device OR # nmcli device status

すべてのアクティブな接続を表示するには、次のコマンドを実行します (-a
を指定しないと、使用可能な接続プロファイルがリストされることに注意してください)。
# nmcli connection show -a

CentOS/RHEL 8 で静的 IP アドレスを設定する
ネットワーク インターフェイス固有の設定ファイルは、/etc/sysconfig/network-scripts/ ディレクトリにあります。これらのファイルを編集して、たとえば、CentOS/RHEL 8 サーバーの静的 IP アドレスを設定できます。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
静的 IP アドレスを設定するためのサンプル構成を次に示します。
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=e81c46b7-441a-4a63-b695-75d8fe633511 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.0.110 PREFIX=24 GATEWAY=192.168.0.1 DNS1=8.8.8.8 PEERDNS=no

変更を保存した後、新しい変更を適用するには、すべての接続プロファイルを再ロードするか、ネットワーク マネージャーを再起動する必要があります。
# nmcli connection reload OR # systemctl restart NetworkManager
ネットワーク接続に基づいたネットワーク サービス/スクリプトの開始または停止
NetworkManager には、ユーザーがネットワーク接続に基づいてサービス (NFS、SMB など) や単純なスクリプトを実行できるようにする便利なオプションがあります。
たとえば、ネットワーク間の切り替え後に NFS 共有を自動的にマウントする場合などです。このようなネットワーク サービスは、NetworkManager が起動して実行される (すべての接続がアクティブになる) までは実行されないようにしたい場合があります。
この機能はNetworkManager-dispatcher サービスによって提供されます (システム起動時に自動的に開始されるように開始し、有効にする必要があります)。サービスが実行されたら、スクリプトを /etc/NetworkManager/dispatcher.d ディレクトリに追加できます。
すべてのスクリプトは実行可能および書き込み可能であり、root によって所有されている必要があります。次に例を示します。
# chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh # chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
重要: ディスパッチャー スクリプトは、接続時にはアルファベット順に実行され、切断時には逆アルファベット順に実行されます。
従来のネットワーク スクリプトの使用
前述したように、ネットワーク スクリプトはCentOS/RHEL 8 で非推奨となり、デフォルトではインストールされません。それでも nnetwork スクリプトを使用したい場合は、network-scripts パッケージをインストールする必要があります。
# yum install network-scripts
インストールされると、このパッケージは、nmcli ツールを介して NetworkManager を呼び出す新しいバージョンの ifup および ifdown スクリプトを提供します。以上見てきました。これらのスクリプトを実行するには、NetworkManager が実行されている必要があることに注意してください。
詳細については、systemctl および NetworkManager のマニュアル ページを参照してください。
# man systemctl # man NetworkManager
この記事で準備したのはこれだけです。以下のフィードバック フォームを使用して、各点について説明を求めたり、質問したり、このガイドに追加したりすることができます。