在现代企业网络环境中,虚拟局域网(VLAN)扮演着至关重要的角色,它通过在逻辑上划分物理网络,实现了不同网段间的隔离,增强了网络安全性、优化了流量管理并提升了网络部署的灵活性,对于运行在CentOS系统上的服务器而言,正确配置网卡以支持VLAN是接入特定网络服务的基础,本文将详细介绍如何在CentOS系统中,利用主流的网络管理工具来配置VLAN接口。

在开始配置之前,请确保您的环境已满足以下基本条件:您拥有一台安装好的CentOS系统(本文以CentOS 7/8为例,其网络配置方法略有差异,但核心思想一致);您需要拥有root权限或sudo权限来执行系统级命令;也是最关键的物理层前提,您的服务器物理网卡(例如eth0)所连接的交换机端口必须配置为Trunk模式,并允许相应的VLAN ID通过。
使用 NetworkManager 配置 VLAN
NetworkManager是CentOS 7及以后版本推荐的动态网络控制与管理工具,其命令行界面nmcli功能强大且易于脚本化管理,是配置VLAN的首选方法。
创建VLAN接口
假设我们要在物理网卡eth0上创建一个属于VLAN 100的接口,VLAN接口的命名惯例通常是物理网卡名.VLAN ID,例如eth0.100。
打开终端,执行以下命令:
nmcli con add type vlan con-name vlan100 dev eth0 id 100
此命令的含义是:

con add type vlan:添加一个类型为VLAN的连接。con-name vlan100:为这个新连接指定一个易于识别的名称,如vlan100。dev eth0:指定该VLAN接口依附于物理设备eth0。id 100:指定VLAN的标识符为100。
执行后,NetworkManager会自动创建一个名为eth0.100的虚拟接口。
配置IP地址与网关
为这个新创建的VLAN接口配置静态IP地址,假设我们计划分配的IP地址为168.100.50,子网掩码为255.255.0(即/24),网关为168.100.1。
# 设置IP地址和子网掩码 nmcli con mod vlan100 ipv4.addresses 192.168.100.50/24 # 设置网关 nmcli con mod vlan100 ipv4.gateway 192.168.100.1 # 设置DNS服务器 nmcli con mod vlan100 ipv4.dns "8.8.8.8 114.114.114.114" # 将IP配置方法设置为手动(静态) nmcli con mod vlan100 ipv4.method manual
激活并验证配置
配置完成后,需要激活该连接使其生效。
nmcli con up vlan100
我们可以使用ip addr命令来验证VLAN接口是否已成功创建并配置了正确的IP地址。
ip addr show eth0.100
您应该能看到eth0.100接口,其状态为UP,并绑定了168.100.50/24的地址,可以通过ping命令测试与网关或其他同VLAN设备的连通性,以确认配置无误。

配置方法对比
为了更清晰地理解,下表对比了使用nmcli与传统的ifcfg脚本文件两种配置方式的特点。
| 特性 | NetworkManager (nmcli) | 传统ifcfg文件 |
|---|---|---|
| 易用性 | 命令直观,交互性强,不易出错 | 需手动编辑配置文件,语法要求严格 |
| 动态管理 | 支持运行时动态增、删、改配置 | 修改后需重启网络服务或系统才能生效 |
| 脚本化 | 命令行工具非常适合自动化运维脚本 | 也可脚本化,但需处理文件读写,相对复杂 |
| 兼容性 | CentOS 7+ 主流支持,功能持续更新 | 兼容旧版系统,但在新版本中逐渐被取代 |
相关问答 (FAQs)
问题1:配置完成后,VLAN接口可以正常启动,但无法与其他网络设备通信,可能是什么原因?
解答: 这是一个常见的排错场景,原因可能涉及多个层面,请检查物理交换机的配置,确认连接服务器的端口是否已正确设置为Trunk模式,并且允许您配置的VLAN ID(如本例中的100)通过,检查CentOS系统内部的防火墙(如firewalld或iptables),确认没有规则阻止该VLAN网段的流量,可以使用firewall-cmd --list-all查看当前防火墙规则,确保目标设备的防火墙设置以及路由表也允许双向通信。
问题2:如何删除一个不再需要的VLAN接口配置?
解答: 使用nmcli删除VLAN接口非常简单,只需知道连接的名称(例如我们之前创建的vlan100),然后执行以下命令即可彻底删除该配置:
nmcli con delete vlan100
执行后,NetworkManager会移除对应的配置文件,并自动关闭该虚拟接口,如果使用的是传统的ifcfg方法,则需要手动删除/etc/sysconfig/network-scripts/目录下对应的配置文件(如ifcfg-eth0.100),然后重启网络服务。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复