Xen이 사용할 여러 IP로 인터페이스를 어떻게 구성해야 합니까?

Xen이 사용할 여러 IP로 인터페이스를 어떻게 구성해야 합니까?

여러 개의 IP가 할당된 서버가 있습니다. 각 VM이 고유한 전용 IP를 갖도록 Xen 하이퍼바이저로 설정하고 싶습니다. 현재 여러 IP를 설정하는 방법은 다음과 같습니다.

#IP addresses are examples, actual server has public IPs
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    network 192.168.1.0

auto eth0:0
iface eth0:0 inet static
    address 192.168.1.11
    netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
    address 192.168.1.12
    netmask 255.255.255.0

브리징을 통해 여러 가지를 시도했지만 솔직히 말해서 스스로 해결책을 찾을 수 있다는 희망을 잃어가고 있습니다. Xen이 각 도메인에 대해 하나의 특정 IP를 사용하도록 하려면 어떻게 해야 합니까?

답변1

각 VM의 IP 주소는 호스트 시스템이 아닌 VM 자체에서 구성되어야 합니다.

자체 인터페이스가 있는 각 VM과 호스트를 파악하는 데 도움이 되지만, 호스트에만 물리적 케이블이 연결되어 있으므로 게스트 VM 인터페이스를 호스트 인터페이스에 브리지해야 합니다.

다음과 같이 /etc/networks/interfaces 파일에 브리지를 만듭니다.

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports eth0
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.1

그러면 네트워크 스택이 시작될 때(예: 부팅 시) 새 브리지가 생성되고 여기에 인터페이스가 추가되며 브리지에 호스트의 IP 주소가 제공됩니다. 여기에서 다리를 볼 수 있습니다.

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0

br0 인터페이스는 포함된 eth0 인터페이스와 마찬가지로 처리할 수 있습니다.

그런 다음 게스트 구성 파일에 다음과 같은 줄이 있습니다.

vif = ['bridge=br0, mac=00:16:3E:12:16:19']

이는 "이 VM에 가상 인터페이스를 제공하고 이를 br0 브리지에 추가하고 다음 mac을 제공합니다"라는 의미입니다.

여기에서 MAC 주소를 설정할 필요는 없지만 DHCP를 사용하여 게스트에 고정 IP 주소를 할당할 수 있으므로 선호합니다. 이렇게 하면 호스트 이외의 IP 주소를 하드 코딩할 필요가 없습니다( 제 경우에는 VM 자체인 DHCP 서버입니다.

그런 다음 게스트에서 다른 Linux 시스템과 마찬가지로 구성하면 됩니다.

auto eth0
iface eth0 inet static
    address 192.168.1.11
    netmask 255.255.255.0
    gateway 192.168.1.1

이 내용은손님기계 네트워크 구성.

VM을 가동하면 이제 브리지에 두 개의 인터페이스가 있는 것을 볼 수 있습니다.

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0
                                                        vif1.0

vif1.0은 게스트의 가상 인터페이스입니다. 이제 게스트는 마치 케이블을 통해 네트워크에 직접 연결된 것처럼 게이트웨이에 ping을 보내고 통신할 수 있습니다.

관련 정보