返回首页

Debian 12 QEMU 网络桥接:设置

在 Debian 12 中设置网络桥接以将 QEMU VM 集成到 LAN 的说明。描述了临时的 ip link 命令和永久的 networking 配置。桥接模式下使用唯一 MAC 的示例。

Debian 12 + QEMU 中的桥接:2025 年完整指南
Advertisement 728x90

## Debian 12 中为 QEMU 配置网络桥接:临时与永久

Linux 中的网络桥接允许虚拟机作为完整节点融入本地网络。与 QEMU 的用户模式不同,桥接模式提供与物理 LAN 的直接交互。需要掌握 OSI 第 1–3 层的基本知识,以及交换机与路由器的区别。所有命令需以 root 或使用 sudo 执行。

桥接充当一个具有无限端口数的虚拟交换机。如果未添加接口,则只有一个同名的虚拟接口。添加端口(物理或 tap)后,它们成为交换机的一部分:各个接口的 IP 和 MAC 地址将被忽略。

示例:三个物理 NIC + 桥接 = 四个交换机端口,桥接上有一个统一管理的 IP。

Google AdInline article slot

临时桥接创建

创建名为 bridge0 的桥接:

ip link add bridge0 type bridge
ip link set dev bridge0 up

使用 ip a 检查状态。只有添加活动端口(带链路的物理 NIC 或来自 VM 的 tap)时,接口才会 UP。

添加接口,例如 enp2s0:

Google AdInline article slot
ip link set enp2s0 master bridge0

移除:ip link set enp2s0 nomaster。支持 Wi-Fi 和单 NIC——主机通过桥接使用新的 MAC。

添加后网络会中断。获取 IP:

  • DHCP:dhclient -v bridge0
  • 静态:ip a add 172.16.5.2/24 dev bridge0 && ip route add default via 172.16.5.1 dev bridge0

桥接模式的 VM 将从主机网络获取 IP。

Google AdInline article slot

删除:ip link delete bridge0。接口恢复原状。重启后桥接消失。

通过 /etc/network/interfaces 进行永久配置

为实现持久化,编辑 /etc/network/interfaces/etc/network/interfaces.d/ 中的文件。

virtbr0 的基本示例(静态 IP,默认无端口):

auto virtbr0
iface virtbr0 inet static
    address 10.15.15.1
    netmask 255.255.255.0
    bridge_fd 0
    bridge_maxwait 0
    bridge_ports none
    bridge_hello 2
    bridge_maxage 20
    bridge_stp off

关键参数:

  • auto / iface:自动启动。
  • inet static / dhcp / manual:IP 类型(manual 表示无 IP,手动添加)。
  • bridge_ports none:空桥接;QEMU 动态添加 tap。或者指定 enp2s0 等。
  • bridge_fd 0bridge_maxwait 0:激活延迟(简单场景用 0)。
  • bridge_hello 2bridge_maxage 20:STP 的 BPDU。
  • bridge_stp off:禁用生成树协议(用于测试 VM)。
  • bridge_hw MAC:设置桥接 MAC 或从接口复制。

对于桥接中的物理 NIC,将其改为 manual(移除 dhcp)。

激活:systemctl restart networking.service。现有桥接不会自动删除——使用 ip link delete 或重启。使用 ip a 监控。

与 QEMU 的集成

使用桥接启动 VM:

-net nic,model=e1000e,macaddr=52:54:00:a9:2b:c7 -net bridge,br=bridge0

解析:

  • -net nic,...:在客户机 OS 中模拟 NIC(e1000e 为英特尔千兆;多 VM 用唯一 MAC)。
  • -net bridge,br=bridge0:在主机上创建 tap,添加到桥接,用虚拟补丁线连接。

桥接中忽略 tap 的 MAC。没有 br=bridge0,VM 无法启动。

关键要点

  • bridge-utils(apt install)提供的桥接为动态;networking 服务提供持久化。
  • 只有活动端口时才 UP;用 ip a 诊断。
  • Wi-Fi/单 NIC:支持,主机通过桥接工作。
  • STP 关闭以简化;hello/maxage 为默认值。
  • QEMU 自动添加 tap;VM 中使用唯一 MAC。

— Editorial Team

Advertisement 728x90

继续阅读