2008-09-17 97 views
5

我想用virsh来管理我的kvm/qemu虚拟机。我的问题是让它与公有IP一起工作。服务器运行Ubuntu 8.04。libvirt的KVM/QEMU网络TAP问题

的libvirt不断尝试运行它为:

/usr/bin/kvm -M pc -m 256 -smp 3 -monitor pty -no-acpi \ 
    -drive file=/opt/virtual-machines/calculon/root.qcow2,if=ide,boot=on \ 
    -net nic,vlan=0,model=virtio -net tap,fd=10,vlan=0 -usb -vnc 127.0.0.1:0 

其中靴,但没有任何网络接入(坪无处可去)。在没有fd = 10的情况下运行它可以使它正常工作,kvm为我创建必要的TAP设备并在主机内运行网络。我所见过的所有设置指南都着重于设置伪装,而我只想要一个简单的桥接和未经过滤的访问(访客和主机都必须使用公共IP)。

在主机上运行ifconfig会给出这个结果,这个桥是在我的/ etc/network/interfaces文件中手动设置的。 :

br0 Link encap:Ethernet HWaddr 00:1e:c9:3c:59:b8 
     inet addr:12.34.56.78 Bcast:12.34.56.79 Mask:255.255.255.240 
     inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:3359 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:3025 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:0 
     RX bytes:180646 (176.4 KB) TX bytes:230908 (225.4 KB) 

eth0 Link encap:Ethernet HWaddr 00:1e:c9:3c:59:b8 
     inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:6088386 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:3058 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:1000 
     RX bytes:680236624 (648.7 MB) TX bytes:261696 (255.5 KB) 
     Interrupt:33 

任何帮助将不胜感激。

+0

这是一个编程网站,而不是技术支持。 – UnkwnTech 2008-09-17 22:48:34

回答

5

我也跟着在https://help.ubuntu.com/community/KVM桥接网络指南,并已在/ etc /网络/接口下面:

auto eth0 
iface eth0 inet manual 

auto br0 
iface br0 inet static 
     address 192.168.0.10 
     network 192.168.0.0 
     netmask 255.255.255.0 
     broadcast 192.168.0.255 
     gateway 192.168.0.1 
     bridge_ports eth0 
     bridge_fd 9 
     bridge_hello 2 
     bridge_maxage 12 
     bridge_stp off 

我并没有改变任何libvirt的网络设置和我的KVM图像引导,如:

/usr/bin/kvm -M pc -no-kqemu -m 256 -smp 1 -monitor pty -boot c -hda \ 
    /libvirt/apt.img -net nic,macaddr=00:16:3e:77:32:1d,vlan=0 -net \ 
    tap,fd=11,script=,vlan=0 -usb -vnc 127.0.0.1:0 

然后我正常指定kvm图像中的静态网络设置。自从我遵循指南后,所有工作都很好。

我有我的XML文件在/ etc/libvirt的/ QEMU /下面的设置,虽然在设备:

<interface type='bridge'> 
    <mac address='00:16:3e:77:32:1d'/> 
    <source bridge='br0'/> 
</interface> 
-2

我猜你的水龙头装置应在使用ifconfig显示。

运行“brctl show”

它会显示桥接和隧道设备连接。

你可能不得不把iptable的条目显示,所有的数据包将通过桥

路由是iptables -I INPUT -i BR0 -j ACCEPT