我正在尝试将libvirt与virsh一起使用来管理我的kvm / qemu虚拟机。我遇到的问题是使其与公共IP一起使用。服务器正在运行ubuntu 8.04。
libvirt一直尝试以以下方式运行它:
1 2 3
| /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文件中手动设置的。 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 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中具有以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 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映像启动方式如下:
1 2 3
| /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文件中确实具有以下设置:
1 2 3 4
| <interface type='bridge'>
<mac address='00:16:3e:77:32:1d'/>
<source bridge='br0'/>
</interface> |
我想您的点击设备应该显示在ifconfig中。
运行" brctl show "
它将显示网桥和隧道设备的连接。
您可能必须放置iptable条目,以显示所有数据包都将通过网桥进行路由
iptables -I输入-i br0 -j接受