Red Hat Training

A Red Hat training course is available for RHEL 8

2.10. nmstatectl を使用した動的イーサネット接続の設定

Nmstate API を使用してイーサネット接続を設定するには、nmstatectl ユーティリティーを使用します。動的 IP アドレス設定との接続の場合、NetworkManager は、DHCP サーバーから接続の IP 設定を要求します。

nmstatectl ユーティリティーを使用すると、設定後にその設定結果が設定ファイルと同じになります。何らかの障害が発生した場合には、nmstatectl は自動的に変更をロールバックし、システムが不正な状態のままにならないようにします。

手順では、YAML 形式でインターフェイス設定を定義します。または、JSON 形式で設定を指定することもできます。

前提条件

  • サーバーに、物理または仮想のイーサネットデバイスが設定されている。
  • DHCP サーバーをネットワークで使用できる。
  • nmstate パッケージがインストールされている。

手順

  1. 以下の内容を含む YAML ファイル (例: ~/create-ethernet-profile.yml) を作成します。

    ---
    interfaces:
    - name: enp7s0
      type: ethernet
      state: up
      ipv4:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        dhcp: true
      ipv6:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        autoconf: true
        dhcp: true
  2. 設定をシステムに適用します。

    # nmstatectl apply ~/create-ethernet-profile.yml

検証手順

  1. デバイスおよび接続の状態を表示します。

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  enp7s0
  2. 接続プロファイルのすべての設定を表示します。

    # nmcli connection show enp7s0
    connection.id:              enp7s0_
    connection.uuid:            b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76
    connection.stable-id:       --
    connection.type:            802-3-ethernet
    connection.interface-name:  enp7s0
    ...
  3. 接続設定を YAML 形式で表示します。

    # nmstatectl show enp7s0

関連情報

  • nmstatectl(8) の man ページ
  • /usr/share/doc/nmstate/examples/ directory