如何通过Nmcli在Linux中设置VLAN-Tag虚拟子接口以实现跨部门网络隔离?

2026-05-06 14:101阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计709个文字,预计阅读时间需要3分钟。

如何通过Nmcli在Linux中设置VLAN-Tag虚拟子接口以实现跨部门网络隔离?

使用nmcli配置带VLAN Tag的虚拟子接口,核心是创建一个绑定到物理网卡的VLAN连接,并指定VLAN ID。此操作无需手动编辑配置文件,所有设置自动持久化,重启后有效。

确认物理网卡和网络状态

先查看当前可用网卡及连接:

  • nmcli device status —— 查看网卡是否处于 connected/disconnected/unavailable 状态
  • nmcli connection show —— 列出已定义的所有连接(包括有线、无线、桥接等)
  • 重点关注你准备复用的物理接口名,比如 eno1ens33;确保它当前没有被活跃连接占用,或先 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" 回退,安全可控。

标签:Linux

本文共计709个文字,预计阅读时间需要3分钟。

如何通过Nmcli在Linux中设置VLAN-Tag虚拟子接口以实现跨部门网络隔离?

使用nmcli配置带VLAN Tag的虚拟子接口,核心是创建一个绑定到物理网卡的VLAN连接,并指定VLAN ID。此操作无需手动编辑配置文件,所有设置自动持久化,重启后有效。

确认物理网卡和网络状态

先查看当前可用网卡及连接:

  • nmcli device status —— 查看网卡是否处于 connected/disconnected/unavailable 状态
  • nmcli connection show —— 列出已定义的所有连接(包括有线、无线、桥接等)
  • 重点关注你准备复用的物理接口名,比如 eno1ens33;确保它当前没有被活跃连接占用,或先 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" 回退,安全可控。

标签:Linux