技术文章2026 年 5 月 4 日约 2.8 分钟
KVM 网络配置:Linux Bridge 与虚拟机互通
使用 Linux Bridge 将 KVM 虚拟机接入物理网络,并说明桥接、NAT 和 VLAN 的选择。
libvirt 默认的 default 网络是 NAT:虚拟机共享宿主机的 IP 上网,外部访问不到。开发环境够用,但生产环境通常要让虚拟机直接出现在局域网里,这时候就要用 Linux Bridge。这篇文章把三种模式的区别和配置讲透。
#三种模式怎么选
- NAT(default 网络):虚拟机和宿主机之间做地址转换。优点:零配置、安全隔离;缺点:外部连不进来,需要再配端口转发,且性能有损耗。适合测试、隔离环境。
- Linux Bridge:在宿主机上做一个二层交换机,虚拟机网卡直接桥到物理网卡上,虚拟机拿到的是局域网 IP,外部可以直接访问。生产环境的最常见选择。
- macvtap:桥接的轻量变体,性能好,但宿主机和虚拟机之间不能直接通信(这是它最大的坑),且依赖物理网卡支持。不常用。
#用 NetworkManager 建桥
RHEL/Rocky 上 NetworkManager 是网络管家,用 nmcli 建桥最稳:
bash
# 查看当前网卡
nmcli device status
# 创建桥 br0
sudo nmcli connection add type bridge ifname br0 con-name br0
# 把物理网卡 eno1 挂到桥下(eno1 不再有独立 IP)
sudo nmcli connection add type ethernet ifname eno1 master br0 con-name eno1-bridge
# 给桥配 IP(原来的静态 IP 挪到这里)
sudo nmcli connection modify br0 ipv4.method manual ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
sudo nmcli connection up br0
ip -br link show br0物理网卡 eno1 被桥接管后,它自己不再有 IP,IP 落在 br0 上。宿主机和虚拟机都挂在同一个二层,虚拟机配置同网段 IP 即可互通。
改动前务必保证有带外通道:远程服务器一旦把网卡配置搞坏,SSH 直接断。所以:保留第二个会话、把配置写在脚本里随时能回滚、或者用控制台 VNC。我见过太多人远程配桥把自己锁在服务器外。
#虚拟机接桥:XML 或 virt-install
xml
<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
</interface>用 virt-install 创建时直接指定:
bash
sudo virt-install --name web01 ... --network bridge=br0,model=virtio ...已有虚拟机修改网络(离线操作):
bash
virsh shutdown web01
virsh edit web01 # 把 <interface type='network'> 改成 bridge + br0
virsh start web01#验证与排障
bash
# 桥是否正常
ip -br link show br0
bridge link show
# 宿主机 ↔ 虚拟机互通
ping <vm-ip>
# 虚拟机是否能出外网(网关转发是否正常)
ssh <vm-ip> 'ping -c1 223.5.5.5'
# 跨 VLAN:如果物理交换机上要打 tag
# br0 下建 VLAN 子接口再桥接(NetworkManager 里 type=vlan)常见问题:
- 虚拟机起不来,报
bridge br0: no such device:桥没建好或 NetworkManager 没生效,先nmcli connection show br0。 - 桥建好了但虚拟机 DHCP 拿不到 IP:物理交换机端口可能开了 port-security 或只允许单 MAC;或者 DHCP 服务器不认识新 MAC。
- 宿主机 ping 不通虚拟机、虚拟机却能出网:检查防火墙(firewalld)里 FORWARD 链,桥接流量默认可能被拦。
#一点经验
Linux Bridge 的方案里,物理网卡本身不设 IP、IP 全在桥上,这是和「双网卡叠加」最大的区别,很多人卡在这里。另外生产环境如果有多网卡/多 VLAN,建议每类流量(管理、存储、业务)一个独立桥,别全塞进一个 br0——隔离和排障都会轻松很多。
写于 2026 年 5 月 4 日
- 栏目
- 技术文章
- 约
- 2.8 分钟
- 字数
- 1.8K
- 阅读
- 207
本文为原创记录,转载请注明出处。如果这篇替你省了时间,欢迎留言说说你踩到的坑。
同题 · related
留言 · remarks
00 条还没有留言,来说点什么吧。