停止主机服务器使用分配给客户虚拟机的以太网接口?

停止主机服务器使用分配给客户虚拟机的以太网接口?

我有一台服务器(proliant DL380 gen9)。它有 4 个以太网端口 eno1 到 eno4。我正在使用 ubuntu 17.10 和 KVM,带有 4 个多客户虚拟机。在主机上,我在 eno1 上设置了 virbr0。

一切都运行正常,直到我从 ubuntu 17.04 更新到 17.10。更新后,我可以正常访问所有来宾虚拟机,但我的 DHCP 服务器 (Meraki) 不断向我发送 IP 冲突警告。如果我查找请求相同 IP 的机器的 MAC 地址,我会发现它们是 eno1-4 的 MAC 地址。但我特意将这些地址未分配,以便我可以将它们用于我的来宾虚拟机。

这是我的 /etc/network/interfaces

auto virbr0
iface virbr0 inet dhcp
bridge_ports eno1
bridge_stp off
bridge_fd 0
bridge_maxwait 0   
#hwaddress ether 30:e1:71:5c:ec:60

这是我的 cldsrvr.xml 定义

> ...  <interface type='direct'>
>       <mac address='52:54:00:92:c2:cc'/>
>       <source dev='eno3' mode='private'/>
>       <model type='virtio'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
>     </interface> ...

如果您注意到我的 VM 的 xml 定义中,我将 mac 地址从 30:e1:71:5c:ec:61 更改为 52:45:....

所以我的结论是,主机服务器不知何故仍在使用不应该使用的接口 eno2-4。

有没有办法可以阻止主机服务器使用分配给客户虚拟机的以太网接口?

答案1

答案似乎很简单。

在 /etc/network/interfaces 中,将以太网接口声明为“手动”。这样主机就不会尝试为它们获取 IP 地址,并且它们仍可供客户虚拟机使用。例如

...
# Ethernet port for cad-srvr VM
auto eno2
iface eno2 inet manual

# Ethernet port for nxtcld-srvr VM
auto eno3
iface eno3 inet manual
...

相关内容