如何通过Nmcli在Linux中设置VLAN-Tag虚拟子接口以实现跨部门网络隔离?
- 内容介绍
- 文章标签
- 相关推荐
本文共计709个文字,预计阅读时间需要3分钟。
使用nmcli配置带VLAN Tag的虚拟子接口,核心是创建一个绑定到物理网卡的VLAN连接,并指定VLAN ID。此操作无需手动编辑配置文件,所有设置自动持久化,重启后有效。
确认物理网卡和网络状态
先查看当前可用网卡及连接:
- nmcli device status —— 查看网卡是否处于 connected/disconnected/unavailable 状态
- nmcli connection show —— 列出已定义的所有连接(包括有线、无线、桥接等)
- 重点关注你准备复用的物理接口名,比如 eno1 或 ens33;确保它当前没有被活跃连接占用,或先 nmcli con down "Wired connection 1" 关闭原连接
创建 VLAN 子接口连接
假设你要为财务部创建 VLAN ID 100 的隔离网络,绑定到 eno1:
- nmcli con add type vlan con-name "vlan100-finance" ifname eno1.100 dev eno1 id 100
- 这条命令会生成一个名为 vlan100-finance 的连接,底层设备是 eno1,VLAN 标签为 100,接口别名为 eno1.100
- 此时该连接尚未激活,也未配置 IP,属于“定义但未启用”状态
配置 IP 地址与网络参数
根据部门网段规划,为该 VLAN 接口分配地址(例如 192.168.100.10/24):
- nmcli con mod "vlan100-finance" ipv4.addresses 192.168.100.10/24
- nmcli con mod "vlan100-finance" ipv4.gateway 192.168.100.1
- nmcli con mod "vlan100-finance" ipv4.dns "8.8.8.8,114.114.114.114"
- nmcli con mod "vlan100-finance" ipv4.method manual —— 明确设为静态地址模式
- 若需 DHCP,改用 ipv4.method auto 即可
启用并验证 VLAN 接口
完成配置后启动连接:
- nmcli con up "vlan100-finance"
- 执行后系统自动创建 eno1.100 设备,并应用 IP 和路由
- 验证:ip -d link show eno1.100(确认存在且含 vlan protocol);ip addr show eno1.100(检查 IP 是否生效);ping -I eno1.100 192.168.100.1(测试三层连通性)
- 跨部门隔离效果取决于交换机侧是否已对 trunk 口放行该 VLAN,以及终端是否打上对应 VLAN Tag——Linux 侧只负责收发带 Tag 的帧,隔离逻辑由交换机和网络拓扑保障
不需要额外加载 8021q 模块(现代内核默认启用),也不用手动调用 vconfig 或 ip link add。nmcli 全流程管理,出错可直接 nmcli con delete "vlan100-finance" 回退,安全可控。
本文共计709个文字,预计阅读时间需要3分钟。
使用nmcli配置带VLAN Tag的虚拟子接口,核心是创建一个绑定到物理网卡的VLAN连接,并指定VLAN ID。此操作无需手动编辑配置文件,所有设置自动持久化,重启后有效。
确认物理网卡和网络状态
先查看当前可用网卡及连接:
- nmcli device status —— 查看网卡是否处于 connected/disconnected/unavailable 状态
- nmcli connection show —— 列出已定义的所有连接(包括有线、无线、桥接等)
- 重点关注你准备复用的物理接口名,比如 eno1 或 ens33;确保它当前没有被活跃连接占用,或先 nmcli con down "Wired connection 1" 关闭原连接
创建 VLAN 子接口连接
假设你要为财务部创建 VLAN ID 100 的隔离网络,绑定到 eno1:
- nmcli con add type vlan con-name "vlan100-finance" ifname eno1.100 dev eno1 id 100
- 这条命令会生成一个名为 vlan100-finance 的连接,底层设备是 eno1,VLAN 标签为 100,接口别名为 eno1.100
- 此时该连接尚未激活,也未配置 IP,属于“定义但未启用”状态
配置 IP 地址与网络参数
根据部门网段规划,为该 VLAN 接口分配地址(例如 192.168.100.10/24):
- nmcli con mod "vlan100-finance" ipv4.addresses 192.168.100.10/24
- nmcli con mod "vlan100-finance" ipv4.gateway 192.168.100.1
- nmcli con mod "vlan100-finance" ipv4.dns "8.8.8.8,114.114.114.114"
- nmcli con mod "vlan100-finance" ipv4.method manual —— 明确设为静态地址模式
- 若需 DHCP,改用 ipv4.method auto 即可
启用并验证 VLAN 接口
完成配置后启动连接:
- nmcli con up "vlan100-finance"
- 执行后系统自动创建 eno1.100 设备,并应用 IP 和路由
- 验证:ip -d link show eno1.100(确认存在且含 vlan protocol);ip addr show eno1.100(检查 IP 是否生效);ping -I eno1.100 192.168.100.1(测试三层连通性)
- 跨部门隔离效果取决于交换机侧是否已对 trunk 口放行该 VLAN,以及终端是否打上对应 VLAN Tag——Linux 侧只负责收发带 Tag 的帧,隔离逻辑由交换机和网络拓扑保障
不需要额外加载 8021q 模块(现代内核默认启用),也不用手动调用 vconfig 或 ip link add。nmcli 全流程管理,出错可直接 nmcli con delete "vlan100-finance" 回退,安全可控。

