2010-12-16 78 views
3

我有一個關於如何Qemu和客戶操作系統(Ubuntu)中的網絡工作的問題。我讀過this manual等。如果我明白,如果你想在客戶操作系統中接入互聯網,你需要在主機操作系統中製作接口接口。在此之後,以鏈接eth0的tap0中接口:QEMU客戶操作系統中的網絡如何工作?

  1. 通過使用NAT路由
  2. 通過使用橋(鏈接tap0中eth0的主機

現在我在主機中有這些接口(ppp0-3G-modem-Internet,lo):

ppp0  Link encap:Point-to-Point Protocol 
     inet addr:10.245.146.78 P-t-P:10.64.64.64 Mask:255.255.255.255 
     UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 
     RX packets:49635 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:42745 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:3 
     RX bytes:52405401 (52.4 MB) TX bytes:5988643 (5.9 MB) 

在陣風OS(爲eth0,LO):

eth0  Link encap:Ethernet HWaddr:52:54:00:12:34:56 
     inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 
     ... 

互聯網陣風OS的工作!如果我在真正的ppp0和guest虛擬機接口之間沒有鏈接,在guest虛擬機操作系統中如何以及爲什麼要工作網絡?我甚至沒有任何人在主機上爲來賓操作系統提供接口。

如果我明白這是因爲guest通過默認主機接口轉發數據。但爲什麼?

的Qemu選項:

qemu -hda ~/virt.disk -cdrom /dev/cdrom -boot once=dc -m 1024M -usb -smp 2 -enable-kvm 

主機路由表:

Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
10.64.64.64  *    255.255.255.255 UH 0  0  0 ppp0 
default   10.64.64.64  0.0.0.0   UG 0  0  0 ppp0 

遊客的路由表:

Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
10.0.2.0  *    255.255.255.0 U 1  0  0 eth0 
link-local  *    255.255.0.0 U 1000 0  0 eth0 
default   10.0.2.2  0.0.0.0  UG 0  0  0 eth0 

回答

5

看起來你要使用的TAP設備,但與有問題它。 要使用TAP,你應該有這樣的事情你QEMU命令行:

-net nic,model=rtl8139 -net tap 

在這些論點,與您的計算機上任何可用的NIC設備代替RTL8139。如果您不知道可用的nic設備,請使用以下命令列出它們:

qemu -net nic,model=? 

您還必須確保已創建TAP設備。下面的腳本創建必要的橋樑和港口:

# For Network Bridging/TAP 
# Set permissions of tun device 
chown root.users /dev/net/tun 
chmod g+rw /dev/net/tun 

#Add a bridge, add eth0 
brctl addbr br0 
ifconfig eth0 0.0.0.0 promisc 
brctl addif br0 eth0 
dhclient br0 

# Create tap0 
tunctl -t tap0 -u username #replace username by your username 

# Enable tap0 
brctl addif br0 tap0 
ifconfig tap0 up 

運行此腳本後,虛擬機開始與-net挖掘變量應爲網絡準備和使用TAP。

+0

當我運行這個,下面的錯誤即將到來。 qemu-system-i386:-net tap:設備'tap'無法初始化 – 2014-05-13 00:07:09

相關問題