Como devo configurar minhas interfaces com vários IPs para uso do Xen?

Como devo configurar minhas interfaces com vários IPs para uso do Xen?

Eu tenho um servidor que possui vários IPs atribuídos a ele. Gostaria de configurá-lo como um hipervisor Xen para que cada VM tenha seu próprio IP dedicado. A maneira como tenho meus vários IPs configurados agora é:

#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

Eu tentei várias coisas com a ponte e, para ser sincero, estou perdendo a esperança de encontrar uma solução sozinho. Como eu conseguiria que o Xen usasse um IP específico para cada um dos domínios?

Responder1

Os endereços IP de cada uma das VMs devem ser configurados na própria VM, e não na máquina host.

Ajuda imaginar cada uma das VMs e o host com suas próprias interfaces; no entanto, apenas o host possui um cabo físico saindo dele, portanto, as interfaces da VM convidada precisam ser interligadas à interface do host.

Você cria a ponte no arquivo /etc/networks/interfaces, como segue:

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

Isso criará uma nova ponte quando a pilha de rede for iniciada (como na inicialização), e sua interface será adicionada a ela, além de fornecer à ponte o endereço IP do host. Aqui você pode ver a ponte:

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

Você pode tratar a interface br0 da mesma forma que trataria a interface eth0 que ela contém.

Então, nos arquivos de configuração do convidado, você tem uma linha como:

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

Isto quer dizer: "dê a esta VM uma interface virtual e adicione-a à ponte br0, e dê-lhe o seguinte mac".

Observe que não é necessário definir um endereço MAC aqui, mas eu prefiro que eu possa usar o DHCP para alocar um endereço IP estático aos convidados - dessa forma, não preciso codificar nenhum endereço IP além do host ( e o servidor DHCP, que no meu caso é uma VM).

Então, no guest, basta configurá-lo como faria com qualquer outra máquina Linux:

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

Observe que isso está noconvidadoconfiguração de rede da máquina.

Ao ativar a VM, você verá que a ponte agora possui duas interfaces:

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

Esse vif1.0 é a interface virtual do convidado. Agora o convidado poderá fazer ping no gateway e se comunicar como se estivesse diretamente conectado à sua rede com um pouco de cabo.

informação relacionada