Libvirt/KVM/Qemu虚拟机桥接网络无法联网求助
问题解决步骤
1. 确认Libvirt对网桥的访问权限
Libvirt默认可能未授权使用自定义网桥br1,需修改配置:
- 编辑
/etc/libvirt/qemu.conf,取消以下行注释并设置:user = "root" group = "root" - 若系统存在
/etc/qemu/bridge.conf,添加一行:allow br1 - 重启Libvirt服务:
sudo systemctl restart libvirtd
2. 临时关闭网桥STP协议测试
生成树协议(STP)可能导致虚拟机网络初始化延迟,临时关闭验证:
sudo brctl stp br1 off
若问题解决,可永久关闭:通过nmtui编辑网桥br1,将STP选项设为off;或编辑/etc/NetworkManager/system-connections/br1.nmconnection,在[bridge]段添加stp=false。
3. 检查虚拟机网络接口配置
用virsh查看虚拟机XML配置,确认网桥绑定及网卡类型:
sudo virsh dumpxml ubuntu_new
找到<interface>段,需包含以下配置(确保使用virtio网卡,兼容性更好):
<interface type='bridge'> <source bridge='br1'/> <model type='virtio'/> </interface>
若缺失网卡类型,编辑配置并重启虚拟机:
sudo virsh edit ubuntu_new sudo virsh destroy ubuntu_new sudo virsh start ubuntu_new
4. 调整主机防火墙规则
Ubuntu默认UFW可能拦截桥接流量,需开启转发权限:
- 编辑
/etc/ufw/sysctl.conf,启用以下参数:net/ipv4/ip_forward=1 net/ipv6/conf/default/forwarding=1 net/ipv6/conf/all/forwarding=1 - 设置UFW默认允许转发:
sudo ufw default allow forward sudo ufw reload
5. 更换虚拟机网卡类型测试
若导入的镜像对virtio网卡支持不佳,重新创建虚拟机时指定e1000网卡:
sudo virt-install --virt-type kvm --name ubuntu_new --disk /var/lib/libvirt/images/bck/d5957a6_2023-11-23-18-41-22.qcow2 --import --os-variant ubuntu22.04 --vcpu 2 --memory 8192 -network bridge:br1,model=e1000 --noautoconsole
内容的提问来源于stack exchange,提问作者prabuddha atul raj bastola
相关产品推荐
相关产品推荐

