QEMU简单bridge网络设置

BLFS QEMU 安装配置中,使用了BLFS提供的脚本来初始化QEMU的bridge网络 br0 ,实际上通过简单的 bridge-utils 提供的命令行工具也能快速完成:

命令行设置

  • 配置 br0 bridge设备并连接 eno1 物理网卡

使用 brctl 命令配置QEMU的bridge网络
brctl addbr br0
brctl addif br0 eno1
ip addr add 192.168.7.200/24 dev br0
ip link set br0 up
  • 配置iptables/nftables来转发bridge网络流量:

设置bridge网络的流量转发
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
  • 使用时只需要在 QEMU 运行命令添加类似 -net nic,model=virtio,macaddr=52:54:00:00:00:01 -net bridge,br=br0 就可以,案例见 在QEMU中运行debian :

持久化设置

  • /lib/systemd/system/ 目录下创建 qemu-startup.service 配置(这里假设使用 Systemd进程管理器 ):

配置systemd
[Unit]
Description=Setup qemu network bridging
After=network-online.target

[Service]
Type=oneshot
Restart=on-failure
ExecStart=brctl addbr br0
ExecStart=brctl addif br0 eno1
ExecStart=ip addr add 192.168.7.200/24 dev br0
ExecStart=ip link set br0 up
ExecStart=iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

[Install]
WantedBy=multi-user.target

参考