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
参考
Network bridge for QEMU 介绍了nmcli操作方法(基于系统使用 NetworkManager )
How to set up a network bridge for virtual machine communication RedHat官方博客介绍通过 nmtui 来配置bridge方法,也是基于 NetworkManager