호스트 서버가 게스트 VM에 할당된 이더넷 인터페이스를 사용하지 못하도록 중지하시겠습니까?

호스트 서버가 게스트 VM에 할당된 이더넷 인터페이스를 사용하지 못하도록 중지하시겠습니까?

나는 erver(proliant DL380 gen9)를 가지고 있습니다. eno1부터 eno4까지 4개의 이더넷 포트가 있습니다. 저는 4개의 다중 게스트 VM과 함께 우분투 17.10 및 KVM을 사용하고 있습니다. 호스트에서는 eno1에 virbr0을 설정했습니다.

우분투 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> ...

내 XML 정의에서 VM 정의를 보면 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
...

관련 정보