nmstatectl网络配置详解:从YAML编写到状态验证全流程

nmstatectl是一款基于声明式模型的网络配置工具,允许用户通过YAML文件定义目标网络状态,由系统自动处理具体实现。该方式可显著减少人工配置错误,提升网络环境的一致性与可靠性。

先决条件

  • 操作系统:已安装NetworkManager且支持nmstate插件的Linux发行版(RHEL/CentOS 8+、Fedora等)
  • 网络接口:本文以enp7s0以太网接口为例
  • 目标配置:
  • IPv4 静态地址:192.0.2.1/24 默认网关:192.0.2.254 DNS 服务器:192.0.2.200
  • IPv6 静态地址:2001:db8:1::1/64
  • 默认网关:2001:db8:1::fffe
  • DNS 服务器:2001:db8:1::ffbb
  • 公共配置 DNS 搜索域:yunweixia.com

配置实施步骤

1.编写声明式YAML配置文件

创建~/create-ethernet-profile.yml文件,内容如下:

---
interfaces:
- name: enp7s0
  type: ethernet
  state: up  # 启用接口
  ipv4:
    enabled: true
    address:
    - ip: 192.0.2.1      # IPv4 地址
      prefix-length: 24  # 子网掩码等效写法
    dhcp: false          # 禁用 DHCPv4
  ipv6:
    enabled: true
    address:
    - ip: 2001:db8:1::1  # IPv6 地址
      prefix-length: 64
    autoconf: false       # 禁用 SLAAC
    dhcp: false           # 禁用 DHCPv6
routes:
  config:
  - destination: 0.0.0.0/0        # IPv4 默认路由
    next-hop-address: 192.0.2.254  # 网关地址
    next-hop-interface: enp7s0     # 可选(通常可省略)
  - destination: ::/0              # IPv6 默认路由
    next-hop-address: 2001:db8:1::fffe
dns-resolver:
  config:
    search:
    - yunweixia.com  # DNS 搜索域
    server:
    - 192.0.2.200        # IPv4 DNS
    - 2001:db8:1::ffbb   # IPv6 DNS

2.应用配置至系统

执行以下命令应用配置(需root权限):

剩余内容需解锁后查看

您需要订阅解锁才能查看当前内容

订阅用户订阅用户免费
已付费?登录刷新

原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/nmstatectl-network-config-yaml-state-validation-workflow.html

(0)
运维侠的头像运维侠共建用户
上一篇 2025年8月7日 18:11
下一篇 2025年8月9日 18:11

相关推荐

发表回复

登录后才能评论