KVM 网络环境 Trunk+VLAN+Bridge配置

本文详细描述了在CentOS7.9环境中配置KVM虚拟机,包括华为交换机的trunk模式VLAN设置、操作系统中8021q模块的检查与加载、网卡和网桥的配置,以及如何在kvm虚拟机的xml文件中指定使用brvlan10。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

操作系统:Centos7.9
网卡信息: eth0 192.168.1.10 用于管理
eth1 业务网口,连接华为换机g0/0/10 trunk模式
业务vLan ID:vlan10
kvm虚拟机:test01

华为交换机配置

int g0/0/10
port link-type trunk
port trunk allow-pass vlan 2 to 4094

操作系统配置

检查8021q模块

检查 Kernel 是否加载了 VLAN 子接口模块,若没有,则加载
lsmod | grep 8021q
临时加载
modprobe 8021q
永久加载
chmod +x /etc/rc.local
vim /etc/rc.local
/sbin/modprobe -a 8021q

网卡配置

cd /etc/sysconfig/network-scripts/

eth1网口配置
vim ifcfg-eth1

TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
DEVICE=eth1

创建VLAN子接口配置文件
vim ifcfg-eth1.10

TYPE=Vlan
ONBOOT=yes
VLAN=yes
DEVICE=brvlan10
NAME=brvlan10
BRIDGE=brvlan10

创建网桥配置文件
vim ifcfg-brvlan10

TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
NAME=brvlan10
DEVICE=brvlan10

重启网卡服务
systemctl restart network

查看网桥信息
brctl show

查看vlan配置信息
more /proc/net/vlan/config

kvm虚拟机xml文件修改

kvm 配置文件

virsh edit test01

<interface type='bridge'>
  <mac address='52:54:00:34:26:d1'/>
  <source bridge='brvlan10'/>
  <target dev='vnet0'/>
  <model type='virtio'/>
  <alias name='net0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
### 如何配置 Open vSwitch (OVS) 连接虚拟机或物理网络 #### 安装 Open vSwitch 为了使用 Open vSwitch,首先需要在其所在的主机上完成安装。通常可以通过包管理器来安装 OVS 工具集以及相关依赖项[^1]。 ```bash sudo apt-get update sudo apt-get install openvswitch-switch openvswitch-common ``` #### 创建网桥并启用 STP 和 VLAN 功能 创建一个名为 `br0` 的网桥,并将其作为核心交换结构的一部分: ```bash ovs-vsctl add-br br0 ``` 如果需要支持生成树协议(STP),可以启用该功能以防止环路: ```bash ovs-vsctl set-fail-mode br0 secure ovs-vsctl set bridge br0 stp_enable=true ``` 对于 VLAN 支持,可以在接口上指定特定的 VLAN ID 或者通过 trunk 方式处理多个 VLAN 流量。 #### 添加端口至网桥 无论是连接虚拟机还是物理设备,都需要将对应的网络接口添加到之前创建好的网桥中。假设存在一块物理网卡 `eth0` 要加入此网桥,则执行命令如下所示: ```bash ovs-vsctl add-port br0 eth0 ip link set eth0 up ``` 针对虚拟环境中的虚拟机适配器同样适用上述操作逻辑;只需确保这些虚拟 NIC 正确关联到了所定义之上的 OVS 网桥即可[^2]。 #### 设置虚拟机网络接口 在 KVM/QEMU 平台上运行的虚拟机会自动检测可用的网桥资源,在启动时可直接选择已建立起来的新网桥比如前面提到过的 `br0` 来替代默认提供的 NAT 类型网桥 `virbr0` 。这样做的好处是可以让外部流量顺利进入内部网络空间而不受限制[^3]。 最后一步就是验证整个架构是否正常运作——检查连通性和性能指标等方面的表现情况。 ```python import os def test_connectivity(): result = os.system('ping -c 4 www.google.com') if result == 0: print("Network connectivity is fine.") else: print("There might be some issues with the network setup.") test_connectivity() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值