linux中nmcli不支持直接配置qinq,需先用ip link创建双层vlan接口(如enp1s0.200.100),再用nmcli管理其ip和持久化;同时须调大mtu、配置交换机dot1q-tunnel模式并放行防火墙。

在 Linux 中用 nmcli 配置物理网卡实现 802.1Q 隧道(即 QinQ)以达成跨公网的二层逻辑互通,本质是**在单个物理链路上封装双层 VLAN 标签**,使客户侧原始 VLAN(如 VLAN 100)能透明穿越中间网络(如运营商 VLAN 200)。nmcli 本身不直接支持 802.1ad(QinQ)协议的嵌套接口创建,它仅支持标准 802.1Q 单层 VLAN;因此需分两步:先用底层 ip link 命令构建 QinQ 接口结构,再用 nmcli 管理其 IP 层配置和持久化。
确认系统支持 QinQ 基础能力
QinQ 依赖内核对 802.1ad 协议的支持(非默认启用):
- 检查内核版本 ≥ 3.10:
uname -r - 确保
8021q模块已加载:lsmod | grep 8021q;若无输出,执行sudo modprobe 8021q - 验证网卡驱动支持 VLAN offload(如
ethtool -k eth0 | grep vlan中rx/tx应为 on) - 确认
iproute2版本 ≥ 4.0(ip -V),旧版不识别protocol 802.1ad
用 ip link 创建双层 VLAN 接口
假设物理网卡为 enp1s0,中间网络使用外层 VLAN 200,客户侧原始 VLAN 为 100:
- 创建第一层 VLAN(接入中间网络):
sudo ip link add link enp1s0 name enp1s0.200 type vlan id 200 - 在第一层基础上创建第二层 QinQ 接口(封装客户 VLAN):
sudo ip link add link enp1s0.200 name enp1s0.200.100 type vlan id 100 protocol 802.1ad - 启用接口:
sudo ip link set enp1s0.200 upsudo ip link set enp1s0.200.100 up
此时 enp1s0.200.100 即为可承载客户二层流量的隧道端点,帧结构为:Ethernet + Outer VLAN 200 + Inner VLAN 100 + Payload。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
用 nmcli 管理隧道接口的 IP 和连接持久化
nmcli 不识别 enp1s0.200.100 这类嵌套命名,但可将其视为普通接口进行 IP 配置和连接管理:
- 为隧道接口添加静态 IPv4 地址(示例):
sudo nmcli con add type ethernet con-name qinq-client ifname enp1s0.200.100 ip4 10.100.10.1/24 gw4 10.100.10.254 - 禁用该连接的自动连接(避免与父接口冲突):
sudo nmcli con modify qinq-client connection.autoconnect no - 设置 DNS(可选):
sudo nmcli con modify qinq-client ipv4.dns "114.114.114.114" - 激活连接:
sudo nmcli con up qinq-client
注意:nmcli 仅负责三层参数,不会修改或覆盖 ip link 创建的二层结构。重启后需将上述 ip link 命令写入启动脚本(如 /etc/rc.local 或 systemd service),否则隧道接口消失。
关键配套配置不可遗漏
仅建接口不等于互通,还需同步调整以下环节:
-
MTU 调整:双层 VLAN 增加 4 字节标签,建议将物理网卡及所有中间链路 MTU 设为 1504 或更高(如
sudo ip link set enp1s0 mtu 1504) - 交换机侧配合:中间网络的交换机必须开启 QinQ(dot1q-tunnel)模式,并允许外层 VLAN 200 的 trunk 通行;不能仅配为普通 access/trunk
-
防火墙放行:若启用 firewalld,需确保
enp1s0.200.100所属 zone 允许二层转发(sudo firewall-cmd --zone=trusted --add-interface=enp1s0.200.100 --permanent) - 路由与 ARP:若需跨子网通信,确保上联设备能正确学习到隧道接口 MAC,必要时配置静态 ARP 或启用代理 ARP










