在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