2.9. 使用 nmstatectl 和接口名称配置具有动态 IP 地址的以太网连接
使用 nmstatectl 工具通过 Nmstate API 配置以太网连接。Nmstate API 确保设置配置后结果与配置文件匹配。如果有任何失败,nmstatectl 会自动回滚更改以避免系统处于不正确的状态。
您可以使用 Nmstate 配置从 DHCP 服务器和 IPv6 无状态地址自动配置(SLAAC)检索其 IP 地址、网关和 DNS 设置的以太网连接。您可以将连接配置文件分配给指定的接口名称。
先决条件
- 服务器配置中存在物理或虚拟以太网网络接口控制器(NIC)。
- 网络中有 DHCP 服务器。
-
nmstate软件包已安装。
步骤
创建包含以下内容的 YAML 文件,如
~/create-ethernet-profile.yml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这些设置为
enp1s0设备定义了一个以太网连接配置文件。连接从 DHCP 服务器检索 IPv4 地址、IPv6 地址、默认网关、路由、DNS 服务器和搜索域,以及 IPv6 无状态地址自动配置(SLAAC)。将设置应用到系统:
nmstatectl apply ~/create-ethernet-profile.yml
# nmstatectl apply ~/create-ethernet-profile.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以 YAML 格式显示当前状态:
nmstatectl show enp1s0
# nmstatectl show enp1s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 NIC 的 IP 设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 IPv4 默认网关:
ip route show default
# ip route show default default via 192.0.2.254 dev enp1s0 proto static metric 102Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 IPv6 默认网关:
ip -6 route show default
# ip -6 route show default default via 2001:db8:1::fffe dev enp1s0 proto static metric 102 pref mediumCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 DNS 设置:
cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbb
# cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果多个连接配置文件同时处于活跃状态,则
nameserver条目的顺序取决于这些配置文件中的 DNS 优先级值和连接类型。使用
ping工具验证这个主机是否可以向其他主机发送数据包:ping <host-name-or-IP-address>
# ping <host-name-or-IP-address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow