是否考虑过使用VXLAN替代传统VLAN,它在虚拟化场景中能提供更灵活的覆盖网络?
如何在 Rocky Linux 中配置虚拟局域网(VLAN)接口?
在Rocky Linux中,使用nmcli命令创建VLAN接口,例如nmcli con add type vlan dev eth0 id 10,然后通过nmcli或编辑/etc/sysconfig/network-scripts/ifcfg-eth0.10配置文件设置IP地址并激活连接。
更多回答
在Rocky Linux中配置VLAN接口需遵循以下步骤:
- 安装必要组件:
sudo dnf install vlan - 加载内核模块:
sudo modprobe 8021q并添加到/etc/modules-load.d/vlan.conf实现持久化 - 使用nmcli创建VLAN接口:
sudo nmcli con add type vlan dev <物理接口> id <VLAN_ID> vlan.id <VLAN_ID> sudo nmcli con mod vlan.<VLAN_ID> ipv4.addresses <IP/掩码> ipv4.method manual - 激活连接:
sudo nmcli con up vlan.<VLAN_ID>关键注意事项:- 确保物理接口已启用且支持VLAN标记
- VLAN ID需与网络架构规划一致
- 建议通过
ip addr验证接口状态 - 若使用传统network-scripts,需创建ifcfg-vlan文件并重启network服务
在Rocky Linux中配置VLAN接口的步骤:
- 安装
vlan包:sudo dnf install vlan - 加载8021q内核模块:
sudo modprobe 8021q - 使用
nmcli创建VLAN接口:nmcli con add type vlan dev eth0 id 10 ipv4.method manual ipv4.addresses 192.168.10.1/24 - 激活连接:
nmcli con up vlan-eth0
延伸知识点: 8021q内核模块的作用 8021q模块是Linux内核实现VLAN标记的核心组件。当物理网卡接收到带有VLAN标签的数据包时,该模块负责解析802.1Q协议头,将流量分配到对应的VLAN虚拟接口。
模块加载验证:
- 检查模块状态:
lsmod | grep 8021q - 持久化配置:在
/etc/modules-load.d/vlan.conf中添加8021q - 查看VLAN接口信息:
ip -d link show(输出会包含vlan protocol 802.1Q标识)
当系统重启后若未自动加载模块,VLAN接口将无法正常工作,因此需通过systemd的modules-load服务实现开机自动加载。
-
确认物理接口及VLAN ID:
- 物理接口名称(如ens192),VLAN ID(如100)。
- 确保交换机端口已配置为Trunk模式并允许对应VLAN。
-
使用nmcli配置VLAN接口:
sudo nmcli con add type vlan con-name ens192.100 ifname ens192.100 dev ens192 id 100 \ ipv4.addresses 192.168.100.10/24 \ ipv4.gateway 192.168.100.1 \ ipv4.dns 8.8.8.8 \ ipv4.method manual sudo nmcli con up ens192.100- 替换IP、接口名及VLAN ID为实际值。
-
验证配置:
ip addr show ens192.100检查IP及VLAN标签。ping 192.168.100.1测试连通性。
-
持久化配置(自动完成):
- nmcli配置默认持久化,重启生效。
-
备选方案(手动配置文件):
- 创建
/etc/sysconfig/network-scripts/ifcfg-ens192.100:DEVICE=ens192.100 VLAN=yes PHYSDEV=ens192 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.100.10 NETMASK=255.255.255.0 GATEWAY=192.168.100.1 DNS1=8.8.8.8 - 执行
sudo systemctl restart NetworkManager生效。
- 创建
在Rocky Linux中配置VLAN接口需以下步骤:
- 加载8021q模块:执行
modprobe 8021q并确保开机自动加载(添加到/etc/modules-load.d/)。 - 创建VLAN配置文件:在
/etc/sysconfig/network-scripts/下新建ifcfg-<物理接口>.<VLAN_ID>(如ifcfg-ens192.100),内容示例:DEVICE=ens192.100 VLAN=yes PHYSDEV=ens192 BOOTPROTO=static IPADDR=192.168.100.2 NETMASK=255.255.255.0 ONBOOT=yes - 重启网络服务:执行
nmcli con reload及systemctl restart NetworkManager。 - 验证配置:通过
ip addr show <VLAN接口>或ping测试连通性。 注意:需确保物理接口支持VLAN tagging且交换机端口配置为Trunk模式。
在Rocky Linux中配置VLAN接口需遵循以下实践流程及注意事项:
-
内核模块验证
lsmod | grep 8021q modprobe 8021q # 临时加载 echo '8021q' >> /etc/modules-load.d/vlan.conf # 永久生效常见问题:旧版内核未编译VLAN支持需重新编译内核
-
网络接口配置
-
传统network-scripts方式(适用于Rocky Linux 8):
vconfig add ens192 100 vi /etc/sysconfig/network-scripts/ifcfg-ens192.100配置示例:
DEVICE=ens192.100 VLAN=yes BOOTPROTO=static IPADDR=192.168.100.2 NETMASK=255.255.255.0 ONPARENT=yes -
NetworkManager方式(推荐):
nmcli con add type vlan dev ens192 id 100 ipv4.method manual ipv4.addresses 192.168.100.2/24
-
-
交换机联动验证 使用tcpdump抓包验证802.1Q标签:
tcpdump -enni ens192 -v vlan典型故障:交换机端口未配置trunk模式或未放行对应VLAN ID
-
持久化陷阱 通过nmcli创建的连接默认自动保存至/etc/NetworkManager/system-connections/,但手动修改ifcfg文件可能引发配置冲突。建议统一使用单一配置管理方式。
-
防火墙策略 firewalld需单独配置zone绑定:
firewall-cmd --permanent --zone=public --add-interface=ens192.100
实践挑战:
- 混合网络环境:当物理接口同时承载VLAN和非VLAN流量时,需确保默认网络接口不配置IP地址
- QinQ场景:双VLAN标签场景需要特殊内核参数配置
- 网络命名规范:在自动化环境中需注意接口命名规则(ethX.Y vs custom命名)对Ansible等工具的影响
- 热迁移兼容性:虚拟化环境中需验证VLAN配置与hypervisor(vmware/Xen/KVM)的兼容性
建议最终通过ip -d link show ens192.100验证接口详细信息,确认vlan协议显示802.1q且ID正确。