ゲスト VM に割り当てられたイーサネット インターフェイスをホスト サーバーが使用しないようにしますか?

ゲスト VM に割り当てられたイーサネット インターフェイスをホスト サーバーが使用しないようにしますか?

私はサーバー(ProLiant DL380 Gen9)を持っています。これには eno1 から eno4 までの 4 つのイーサネット ポートがあります。私は Ubuntu 17.10 と、4 つの複数のゲスト VM を備えた KVM を使用しています。ホストでは、eno1 に virbr0 を設定しました。

Ubuntu 17.04 から 17.10 にアップデートするまではすべて正常に動作していました。そのアップデート後、すべてのゲスト VM に正常にアクセスできますが、DHCP サーバー (Meraki) から IP 競合の警告が送信され続けます。同じ IP を要求しているマシンの MAC アドレスを検索すると、eno1-4 のアドレスであることがわかります。ただし、ゲスト VM に使用できるように、これらを未割り当てのままにしました。

これは私の/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 をまだ使用しているというものでした。

ホスト サーバーがゲスト VM に割り当てられたイーサネット インターフェイスを使用しないようにする方法はありますか?

答え1

答えは簡単なようです。

/etc/network/interfaces で、イーサネット インターフェイスを「manual」として宣言します。これにより、ホストはそれらの IP アドレスを取得しようとせず、ゲスト VM が使用できる状態になります。例:

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

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

関連情報