在Qemu网络中,为了实现虚拟机网卡和真实物理网络的连通,就需要使用桥接网络。通常情况下qemu的桥接网络是通过使用tap虚拟网卡来实现的,具体原理请参考相关文档,这里只介绍配置桥接网络的方法:
1. 安装tap相关工具
- sudo apt-get install uml-utilities
2. 配置网桥
- sudo vi /etc/network/interfaces
修改为以下内容:
- auto lo
- iface lo inet loopback
- auto br0
- iface br0 inet static
- bridge_ports eth0 tap0
- address 10.0.7.6
- netmask 255.255.0.0
- network 10.0.0.0
- broadcast 10.0.255.255
- gateway 10.0.0.2
3. 创建tap网络启动脚本
- sudo vi /etc/qemu-ifup
创建qemu-ifup脚本,写入以下内容:
- #!/bin/sh
- #set -x
- switch=br0
- if [ -n “$1” ];then
- /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
- /usr/bin/sudo /sbin/ip link set $1 up
- sleep 0.5s
- /usr/bin/sudo /usr/sbin/brctl addif $switch $1
- exit 0
- else
- echo “Error: no interface specified”
- exit 1
- fi
4. 创建一个空的tap网络关闭脚本(避免关闭虚拟机时的一个警告)
- sudo vi /etc/qemu-ifdown
其内容如下:
- #!/bin/sh
如此配置完成后,即可使用以下命令启动qemu,直接使用网桥,而不必作其他配置(FILENAME为镜像文件路径):
- sudo qemu-system-x86_64 -hda $FILENAME -net nic,model=e1000,macaddr=DE:AD:BE:EF:3E:10 net tap -m 512 -vnc 10.60.1.124:10