我正在使用 Ubuntu Server 和 KVM,并试图弄清楚如何使网络正常工作,以便一个客人可以从一个网络适配器使用多个静态 IP 地址。
现在我假设布局如下(全部静态):
eth0
|- 192.168.1.100 - Server address A (eth0)
|- 192.168.1.101 - Server address B (eth0:1)
\- Virtual machine
|- 192.168.1.150 - VM address C (eth0:2?)
\- 192.168.1.151 - VM address D (eth0:3?)
我不太清楚如何在 或 virsh 中设置它/etc/networking/interfaces
。我猜需要使用桥接器,并且需要使用 libvirt 设置网络,但我不知道如何设置。
答案1
首先,您需要在主机服务器上创建网桥。这是主机配置文件中所需的内容/etc/networking/interfaces
。
auto br0
iface br0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.254
bridge_ports eth0
bridge_stp on
bridge_maxwait 0
auto br0:0
iface br0:0 inet static
address 192.168.1.101
等等(用您的网络配置替换)。这些bridge_xxx
部分是可选的,否则将假定某些默认值。
然后对于 libvirt,您需要确保您的 VM 客户端使用网桥作为其网络。/etc/libvirt/qemu/vmname.xml
配置是:
<interface type='bridge'>
<mac address='XX:XX:XX:xx:xx:xx'/>
<source bridge='br0'/>
</interface>
然后,如何在客户虚拟机中设置这两个 IP 取决于客户虚拟机中使用的操作系统。如果您使用的是基于 Debian 的客户机,则编辑与主机上的网络文件类似的网络文件,但使用eth0
而不是 并将br0
相关 IP 更改为 192.168.1.150/151。