vconfig 是 Linux 系统中用于配置虚拟以太网设备的命令行工具,尤其在早期的 Linux 发行版中被广泛使用,主要用于创建、删除和管理 VLAN(虚拟局域网)接口,通过 vconfig,用户可以在物理网络接口上划分多个逻辑子接口,实现网络隔离和流量控制,是企业级网络管理和服务器虚拟化中常用的工具之一。

vconfig 命令的基本功能
vconfig 命令的核心功能包括创建 VLAN 接口、配置 VLAN 参数、删除 VLAN 接口以及查看 VLAN 配置状态,其语法格式通常为 vconfig [命令] [参数],常用命令包括 add、rem、set_flag、set_egress_map 等。
创建 VLAN 接口
使用 vconfig add 命令可以在指定的物理接口上创建 VLAN 接口,在物理接口 eth0 上创建 VLAN ID 为 100 的虚拟接口,命令为:
vconfig add eth0 100
执行后,系统会生成名为 eth0.100 的虚拟接口,该接口将继承物理接口 eth0 的网络属性,但可以通过独立配置实现 VLAN 间的隔离。
配置 VLAN 参数
VLAN 接口创建后,可通过 vconfig set_flag 命令设置 VLAN 的标志位,如 reorder_hdr 控制是否重新排序以太网头部,或 gvrp 启用 GARP VLAN 注册协议。

vconfig set_flag eth0.100 reorder_hdr 1
vconfig set_egress_map 和 vconfig set_ingress_map 可用于配置 VLAN 的出站和入站映射,实现流量优先级控制。
删除 VLAN 接口
当不再需要某个 VLAN 接口时,可通过 vconfig rem 命令删除。
vconfig rem eth0.100
删除后,该虚拟接口将不再存在,相关配置也会被清除。
查看 VLAN 配置
使用 vconfig rem 命令可列出当前系统中的所有 VLAN 接口,结合 ifconfig 或 ip addr 命令可进一步查看接口的详细配置信息。

vconfig rem
vconfig 命令的注意事项
- 依赖内核支持:vconfig 依赖于 Linux 内核对 VLAN 的支持,需确保内核已启用
8021q模块,可通过modprobe 8021q命令动态加载模块,或检查/proc/net/vlan/config文件确认 VLAN 是否已启用。 - 版本差异:不同 Linux 发行版的 vconfig 命令可能存在功能差异,例如部分旧版本不支持
set_egress_map等高级参数。 - 替代工具:在现代 Linux 系统中,
ip命令(来自iproute2包)已逐渐取代 vconfig,功能更强大且语法更简洁,创建 VLAN 接口的等效命令为:ip link add link eth0 name eth0.100 type vlan id 100
vconfig 命令与其他工具的对比
以下表格对比了 vconfig 和 ip 命令在 VLAN 管理中的主要差异:
| 功能 | vconfig 命令 | ip 命令 |
|---|---|---|
| 创建 VLAN 接口 | vconfig add eth0 100 |
ip link add link eth0 name eth0.100 type vlan id 100 |
| 删除 VLAN 接口 | vconfig rem eth0.100 |
ip link del eth0.100 |
| 设置 VLAN 标志位 | vconfig set_flag eth0.100 reorder_hdr 1 |
ip link set eth0.100 type vlan reorder_hdr on |
| 查看 VLAN 配置 | vconfig rem |
ip link show 或 cat /proc/net/vlan/config |
相关问答 FAQs
Q1:vconfig 命令在现代 Linux 系统中是否仍被推荐使用?
A1:vconfig 命令虽仍可用,但已逐渐被 iproute2 包中的 ip 命令取代。ip 命令功能更全面,支持更多网络协议和高级配置(如 VLAN over GRE、VxLAN 等),且语法更符合现代网络管理需求,建议在新项目中优先使用 ip 命令,但 vconfig 仍可用于维护旧系统或兼容特定环境。
Q2:使用 vconfig 创建 VLAN 接口后,如何为其配置 IP 地址并启用?
A2:创建 VLAN 接口后,需使用 ifconfig 或 ip 命令为其分配 IP 地址并激活。
ifconfig eth0.100 192.168.100.1 netmask 255.255.255.0 up
或使用 ip 命令:
ip addr add 192.168.100.1/24 dev eth0.100 ip link set eth0.100 up
配置完成后,可通过 ping 或 tcpdump 测试 VLAN 间的连通性。
