5.6. 使用 nmstatectl 配置 VLAN 标记
使用 nmstatectl
工具通过 Nmstate API 配置虚拟局域网 VLAN。Nmstate API 确保设置配置后,结果与配置文件匹配。如果有任何失败,nmstatectl
会自动回滚更改以避免系统处于不正确的状态。
根据您的环境,相应地调整 YAML 文件。例如,要在 VLAN 中使用与以太网适配器不同的设备,请调整您在 VLAN 中使用的端口的 base-iface
属性和 type
属性。
先决条件
- 要将以太网设备用作 VLAN 中的端口,必须在服务器中安装物理或者虚拟以太网设备。
-
nmstate
软件包已安装。
步骤
创建包含一个以下内容的 YAML 文件,如
~/create-vlan.yml
:--- interfaces: - name: vlan10 type: vlan state: up ipv4: enabled: true address: - ip: 192.0.2.1 prefix-length: 24 dhcp: false ipv6: enabled: true address: - ip: 2001:db8:1::1 prefix-length: 64 autoconf: false dhcp: false vlan: base-iface: enp1s0 id: 10 - name: enp1s0 type: ethernet state: up routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.0.2.254 next-hop-interface: vlan10 - destination: ::/0 next-hop-address: 2001:db8:1::fffe next-hop-interface: vlan10 dns-resolver: config: search: - example.com server: - 192.0.2.200 - 2001:db8:1::ffbb
这些设置定义一个 ID 为 10 的 VLAN,它使用
enp1s0
设备。作为子设备,VLAN 连接有以下设置:-
静态 IPv4 地址 -
192.0.2.1
,子网掩码为/24
-
静态 IPv6 地址 -
2001:db8:1::1
,子网掩码为/64
-
IPv4 默认网关 -
192.0.2.254
-
IPv6 默认网关 -
2001:db8:1::fffe
-
IPv4 DNS 服务器 -
192.0.2.200
-
IPv6 DNS 服务器 -
2001:db8:1::ffbb
-
DNS 搜索域 -
example.com
-
静态 IPv4 地址 -
将设置应用到系统:
# nmstatectl apply ~/create-vlan.yml
验证
显示设备和连接的状态:
# nmcli device status DEVICE TYPE STATE CONNECTION vlan10 vlan connected vlan10
显示连接配置集的所有设置:
# nmcli connection show vlan10 connection.id: vlan10 connection.uuid: 1722970f-788e-4f81-bd7d-a86bf21c9df5 connection.stable-id: -- connection.type: vlan connection.interface-name: vlan10 ...
以 YAML 格式显示连接设置:
# nmstatectl show vlan0
其他资源
-
您系统上的
nmstatectl (8)
手册页 -
/usr/share/doc/nmstate/examples/
目录