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) 手册页
  • /usr/share/doc/nmstate/examples/ 目录