在CentOS系统中配置路由与VLAN是实现网络隔离和高效数据传输的重要技术,VLAN(虚拟局域网)可以将物理网络划分为多个逻辑子网,而路由功能则负责不同VLAN之间的通信,以下将详细介绍如何在CentOS系统中实现VLAN的路由配置。

环境准备
在开始配置前,确保系统已安装必要的工具和依赖,检查并安装iproute和vlan工具包,这些工具提供了VLAN配置所需的核心命令,使用以下命令安装:
sudo yum install iproute vlan -y
确保网络接口已正确识别,可以通过ip a命令查看当前网络接口状态,例如eth0作为物理接口。
配置VLAN
假设物理接口为eth0,需要创建VLAN 10和VLAN 20,为每个VLAN创建虚拟子接口:
sudo ip link add link eth0 name eth0.10 type vlan id 10 sudo ip link add link eth0 name eth0.20 type vlan id 20
为VLAN接口配置IP地址,VLAN 10的子网为192.168.10.0/24,网关为192.168.10.1;VLAN 20的子网为192.168.20.0/24,网关为192.168.20.1:
sudo ip addr add 192.168.10.1/24 dev eth0.10 sudo ip addr add 192.168.20.1/24 dev eth0.20
启用VLAN接口:

sudo ip link set eth0.10 up sudo ip link set eth0.20 up
启用IP转发
为了实现VLAN间的路由,需要启用系统的IP转发功能,编辑/etc/sysctl.conf文件,添加以下行:
net.ipv4.ip_forward=1
然后执行以下命令使配置生效:
sudo sysctl -p
配置静态路由(可选)
如果需要连接其他网络,可以添加静态路由,将目标网络192.168.30.0/24的下一跳设为192.168.10.100:
sudo ip route add 192.168.30.0/24 via 192.168.10.100
保存配置
为了确保重启后配置不丢失,需要将网络配置写入系统文件,对于CentOS 7及以上版本,可以使用NetworkManager的配置文件,在/etc/sysconfig/network-scripts/目录下创建VLAN接口配置文件,例如ifcfg-eth0.10:
DEVICE=eth0.10 BOOTPROTO=static IPADDR=192.168.10.1 NETMASK=255.255.255.0 ONBOOT=yes VLAN=yes
同样,为eth0.20创建对应的配置文件。

验证配置
使用以下命令验证VLAN接口和路由配置:
ip a show eth0.10 ip route show ping 192.168.20.1
如果VLAN间通信正常,说明配置成功。
相关问答FAQs
如何删除已配置的VLAN接口?
答:使用以下命令删除VLAN接口并清除配置:
sudo ip link del eth0.10 sudo rm /etc/sysconfig/network-scripts/ifcfg-eth0.10
CentOS重启后VLAN配置丢失怎么办?
答:检查/etc/sysconfig/network-scripts/目录下的配置文件是否正确创建,并确保ONBOOT=yes已设置,验证sysctl.conf中的net.ipv4.ip_forward是否启用。