4.4. 使用 nmtui 配置 VLAN 标记
nmtui 应用程序为 NetworkManager 提供了一个基于文本的用户界面。您可以使用 nmtui 在没有图形界面的主机上配置 VLAN 标签。
在 nmtui 中:
- 使用光标键导航。
- 选择一个按钮并按 Enter 键。
- 使用 空格 选择和清除复选框。
- 要返回上一个屏幕,请使用 ESC。
先决条件
- 您计划用作虚拟 VLAN 接口的父接口支持 VLAN 标签。
如果您在绑定接口之上配置 VLAN:
- 绑定的端口是上线的。
-
这个绑定没有使用
fail_over_mac=follow选项进行配置。VLAN 虚拟设备无法更改其 MAC 地址以匹配父设备的新 MAC 地址。在这种情况下,流量仍会与不正确的源 MAC 地址一同发送。 -
这个绑定通常不会预期从 DHCP 服务器或 IPv6 自动配置获取 IP 地址。在创建绑定时,通过设置
ipv4.method=disable和ipv6.method=disable选项来确保。否则,如果 DHCP 或 IPv6 自动配置在一段时间后失败,接口可能会关闭。
- 主机连接到的交换机被配置为支持 VLAN 标签。详情请查看您的交换机文档。
流程
如果您不知道要在其上配置 VLAN 标签的网络设备名称,请显示可用的设备:
# nmcli device status DEVICE TYPE STATE CONNECTION enp1s0 ethernet unavailable -- ...启动
nmtui:# nmtui- 选择 Edit a connection,然后按 Enter。
- 按 Add。
- 从网络类型列表中选择 VLAN,然后按 Enter 键。
可选:为要创建的 NetworkManager 配置集输入一个名称。
在有多个配置文件的主机上,有意义的名称可以更容易识别配置文件的用途。
- 在 Device 字段中输入要创建的 VLAN 设备名称。
- 在 Parent 字段中输入您要在其上配置 VLAN 标记的设备的名称。
-
输入 VLAN ID。ID 必须在
0到4094之间。 根据您的环境,相应地在 IPv4 configuration 和 IPv6 configuration 配置区域中配置 IP 地址。为此,请按这些区域旁边的按钮,并选择:
-
Disabled,如果此 VLAN 设备不需要 IP 地址,或者您想要将其用作其它设备的端口。 -
Automatic,如果 DHCP 服务器或无状态地址自动配置(SLAAC)将 IP 地址动态分配给 VLAN 设备。 Manual,如果网络需要静态 IP 地址设置。在这种情况下,您必须填写更多字段:- 在您要配置的协议旁边按 Show 以显示其他字段。
按 Addresses 旁边的 Add,并输入无类别域间路由(CIDR)格式的 IP 地址和子网掩码。
如果没有指定子网掩码,NetworkManager 会为 IPv4 地址设置
/32子网掩码,并为 IPv6 地址设置/64。- 输入默认网关的地址。
- 按 DNS servers 旁边的 Add,并输入 DNS 服务器地址。
- 按 Search domains 旁边的 Add,并输入 DNS 搜索域。
图 4.1. 具有静态 IP 地址设置的 VLAN 连接示例
-
- 按 OK 创建并自动激活新连接。
- 按 Back 返回到主菜单。
-
选择 Quit,然后按 Enter 键关闭
nmtui应用程序。
验证
验证设置:
# ip -d addr show vlan10 4: vlan10@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:72:2f:6e brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 10 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute vlan10 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::8dd7:9030:6f8e:89e6/64 scope link noprefixroute valid_lft forever preferred_lft forever