必须确保linux端正确识别802.1q标签、创建对应子接口、配置ip并完成持久化,同时交换机trunk链路已放行目标vlan——缺一不可;需依次加载8021q模块、安装vlan工具、用ip link创建子接口、分配ip并启用、验证标签与连通性,最后写入/etc/network/interfaces或ifcfg-文件实现重启不丢失。

要在Linux服务器上让单个物理网卡承载多个VLAN流量,并与跨交换机的同VLAN设备互通,必须确保Linux端正确识别802.1Q标签、创建对应子接口、配置IP并完成持久化,同时交换机Trunk链路已放行目标VLAN——缺一不可。
确认内核支持与基础工具就绪
执行 lsmod | grep 8021q 检查模块是否已加载;若无输出,运行 sudo modprobe 8021q 手动加载。
将模块设为开机自动加载:执行 echo "8021q" | sudo tee -a /etc/modules。这一步漏掉会导致重启后所有VLAN子接口消失,【务必执行】。
安装vlan工具包(部分发行版默认未装):
Debian/Ubuntu系统运行 sudo apt install vlan;
CentOS/RHEL系统运行 sudo yum install vlan 或 sudo dnf install vlan。
创建并启用VLAN子接口
假设物理接口名为 ens33,需承载VLAN 10和VLAN 20:
第一步:创建VLAN 10子接口:sudo ip link add link ens33 name ens33.10 type vlan id 10。
第二步:创建VLAN 20子接口:sudo ip link add link ens33 name ens33.20 type vlan id 20。
第三步:分别启用两个子接口:sudo ip link set ens33.10 up → sudo ip link set ens33.20 up。
第四步:为子接口分配IP地址(例如VLAN 10用 192.168.10.100/24,VLAN 20用 192.168.20.100/24):sudo ip addr add 192.168.10.100/24 dev ens33.10sudo ip addr add 192.168.20.100/24 dev ens33.20。
验证连通性与标签处理
运行 ip link show,确认 ens33.10 和 ens33.20 状态为 UP 且含 vlan 类型标识。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
检查VLAN配置是否被内核识别:cat /proc/net/vlan/config,应列出两行,其中 Device 列为 ens33.10 和 ens33.20,VLAN ID 分别为 10 和 20。
从Linux主机ping同一VLAN下远端交换机或PC(如VLAN 10中另一台IP为 192.168.10.50 的设备),若不通,先确认交换机Trunk口已允许VLAN 10/20通过,且对端设备已配置相同VLAN ID和同网段IP。
抓包验证标签是否正常:sudo tcpdump -i ens33 -nn vlan 10,此时应能捕获到带802.1Q标签的帧;若只在 ens33.10 接口抓包却看到无标签帧,说明Linux正确剥离了标签——这是预期行为。
写入系统配置实现重启不丢失
方法一(Debian/Ubuntu):
编辑 /etc/network/interfaces,追加以下内容:
auto ens33.10<br>iface ens33.10 inet static<br> address 192.168.10.100<br> netmask 255.255.255.0<br> vlan-raw-device ens33
auto ens33.20<br>iface ens33.20 inet static<br> address 192.168.20.100<br> netmask 255.255.255.0<br> vlan-raw-device ens33
方法二(RHEL/CentOS 7+):
在 /etc/sysconfig/network-scripts/ 下新建文件 ifcfg-ens33.10:
DEVICE=ens33.10<br>BOOTPROTO=none<br>ONBOOT=yes<br>IPADDR=192.168.10.100<br>NETMASK=255.255.255.0<br>VLAN=yes<br>PHYSDEV=ens33
同理新建 ifcfg-ens33.20,仅修改 DEVICE、IPADDR 和 VLAN ID 对应值。
配置完成后,运行 sudo ifdown ens33 && sudo ifup ens33 或重启网络服务使配置生效。










