
나는 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
...