25.4. nmcli を使用したオフラインモードでのキーファイル接続プロファイルの作成
Red Hat は、nmcli
、network
RHEL システムロール、または nmstate
API などの NetworkManager ユーティリティーを使用して NetworkManager 接続を管理し、設定ファイルを作成および更新することを推奨しています。ただし、nmcli --offline connection add
コマンドを使用して、オフラインモードでキーファイル形式のさまざまな接続プロファイルを作成することもできます。
オフラインモードでは、nmcli
が NetworkManager
サービスなしで動作し、標準出力を介してキーファイル接続プロファイルを生成することが保証されます。この機能は、次の場合に役立ちます。
- どこかに事前に展開する必要がある接続プロファイルを作成する場合。たとえば、コンテナーイメージ内、または RPM パッケージとして作成する場合。
-
NetworkManager
サービスが利用できない環境で接続プロファイルを作成する場合。たとえば、chroot
ユーティリティーを使用する場合。または、Kickstart%post
スクリプトを使用してインストールする RHEL システムのネットワーク設定を作成または変更する場合。
次の接続プロファイルタイプを作成できます。
- 静的イーサネット接続
- 動的イーサネット接続
- ネットワークボンド
- ネットワークブリッジ
- VLAN またはサポートされているあらゆる種類の接続
設定ファイルを手動で作成または更新すると、予期しないネットワーク設定や、機能しないネットワーク設定が発生する可能性があります。
前提条件
-
NetworkManager
サービスが停止しています。
手順
キーファイル形式で新しい接続プロファイルを作成します。たとえば、DHCP を使用しないイーサネットデバイスの接続プロファイルの場合は、同様の
nmcli
コマンドを実行します。# nmcli --offline connection add type ethernet con-name Example-Connection ipv4.addresses 192.0.2.1/24 ipv4.dns 192.0.2.200 ipv4.method manual > /etc/NetworkManager/system-connections/output.nmconnection
注記con-name
キーで指定した接続名は、生成されたプロファイルのid
変数に保存されます。後でnmcli
コマンドを使用してこの接続を管理する場合は、次のように接続を指定します。-
id
変数を省略しない場合は、Example-Connection
などの接続名を使用します。 -
id
変数を省略する場合は、output
のように.nmconnection
接尾辞のないファイル名を使用します。
-
設定ファイルにパーミッションを設定して、
root
ユーザーのみが読み取りおよび更新できるようにします。# chmod 600 /etc/NetworkManager/system-connections/output.nmconnection # chown root:root /etc/NetworkManager/system-connections/output.nmconnection
NetworkManager
サービスを再読み込みします。# systemctl start NetworkManager.service
オプション:プロファイルの
autoconnect
変数をfalse
に設定した場合は、コネクションをアクティブにします。# nmcli connection up Example-Connection
検証
NetworkManager
サービスが実行されていることを確認します。# systemctl status NetworkManager.service ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-08-03 13:08:32 CEST; 1min 40s ago Docs: man:NetworkManager(8) Main PID: 7138 (NetworkManager) Tasks: 3 (limit: 22901) Memory: 4.4M CGroup: /system.slice/NetworkManager.service └─7138 /usr/sbin/NetworkManager --no-daemon Aug 03 13:08:33 example.com NetworkManager[7138]: <info> [1659524913.3600] device (vlan20): state change: secondaries -> activated (reason 'none', sys-iface-state: 'assume') Aug 03 13:08:33 example.com NetworkManager[7138]: <info> [1659524913.3607] device (vlan20): Activation: successful, device activated. ...
NetworkManager が設定ファイルからプロファイルを読み込めることを確認します。
# nmcli -f TYPE,FILENAME,NAME connection TYPE FILENAME NAME ethernet /etc/NetworkManager/system-connections/output.nmconnection Example-Connection ethernet /etc/sysconfig/network-scripts/ifcfg-enp1s0 enp1s0 ...
新しく作成された接続が出力に表示されない場合は、使用したキーファイルのパーミッションと構文が正しいことを確認してください。
接続プロファイルを表示します。
# nmcli connection show Example-Connection connection.id: Example-Connection connection.uuid: 232290ce-5225-422a-9228-cb83b22056b4 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: -- connection.autoconnect: yes ...
関連情報