我正在尝试使用libvirt和virsh来管理我的kvm/qemu vms.我遇到的问题是让它与公共IP协同工作.服务器正在运行ubuntu 8.04.
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
哪个靴子,但没有任何网络访问(ping无处可去).在没有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
任何帮助将不胜感激.
我按照https://help.ubuntu.com/community/KVM上的桥接网络指南进行操作,并在/ etc/network/interfaces中包含以下内容:
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图像中指定静态网络设置.自从我遵循指南以来,一切顺利.
我在/ etc/libvirt/qemu /中的xml文件中有以下设置,但在设备下: