Configura gli indirizzi IP pubblici nelle macchine virtuali KVM


12

Ho un server fisico che esegue CentOS 6.5 con un'interfaccia connessa a Internet (con un indirizzo IP pubblico). All'interno di questo server ho due VM create con KVM tramite libvirt con un'interfaccia ciascuna. Voglio assegnare un indirizzo IP pubblico a ciascuna VM e continuare a utilizzare la connessione con il server fisico.

Questa immagine illustra quello che ho in bianco e quello che voglio in blu: Topologia di rete.

Ho provato vari modi, come l'aggiunta di un bridge Linux brctle il collegamento dell'interfaccia fisica del server e delle interfacce virtuali di entrambe le macchine virtuali, ma non ha funzionato e ho perso la connettività con il server fisico.

Sono aperto a usare bridge Linux o reti libvirt.

Come posso ottenere indirizzi IP pubblici in entrambe le macchine virtuali e nel server fisico?


Prova ad aggiungere un secondo adattatore alle macchine virtuali e collegale alla rete interna del server.
shcherbak,

quale rete interna di server? comunque voglio la configurazione della domanda, se possibile.
disconnessione il

Supponiamo che questo aiuterà: [KVM - Crea una macchina virtuale con 2 interfacce bridge] ( askubuntu.com/questions/581771/… ), [bridge di rete KVM con due schede NIC] ( serverfault.com/questions/130134/… )
shcherbak,

ancora una volta, preferirei avere una sola interfaccia per VM, se possibile.
disconnessione il

ieri ho risposto a una domanda simile su debian kvm host & guest. unix.stackexchange.com/questions/245073/… - a parte i dettagli minori sull'impostazione dell'interfaccia, dovrebbe essere simile su centos.
Caso

Risposte:


4

Alla fine ho trovato il modo corretto di raggiungere l'obiettivo della domanda. Implica il bridging di Linux, perché non sono stato in grado di risolvere il problema con la rete libvirt.

passi:

  1. Identifica le interfacce KVM VM. Probabilmente i nomi delle interfacce iniziano convnet*

In questo esempio vnet0evnet1

  1. Crea un bridge Linux con:

    brctl addbr virbr1

  2. Collega l'interfaccia fisica e le interfacce delle macchine virtuali KVM al nuovo bridge:

ATTENZIONE: se si è connessi al server fisico attraverso la rete (SSH, Telnet, ecc.), Si perderà la connessione. Utilizzare un terminale o un metodo alternativo (come un'altra interfaccia con connettività).

brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
  1. Configurare l'interfaccia del server fisico senza indirizzo IP assegnato:

In CentOS 6.5, modifica il file /etc/sysconfig/network-scripts/ifcfg-eth0con questi contenuti:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
  1. Configurare il bridge del server fisico per avere l'indirizzo IP:

In CentOS 6.5, modifica il file /etc/sysconfig/network-scripts/ifcfg-virbr1con questi contenuti:

DEVICE=virbr1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<physical_server_public_ip_address>
NETMASK=<physical_server_public_ip_netmask>
GATEWAY=<physical_server_gateway_ip_address>
NAME=virbr1
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=no
DNS1=<physical_server_primary_dns_server_ip_address>
DNS2=<physical_server_secondary_dns_server_ip_address>
  1. Riavvia la rete del server fisico:

service network restart

NOTA: è necessario ripristinare la connettività di rete del server fisico (tramite l'interfaccia e il bridge)

  1. Configura l'interfaccia di rete delle VM KVM:

Questo dipende dal sistema operativo delle macchine virtuali. Ad ogni modo dovrebbe includere almeno l'indirizzo IP, la maschera di rete e il gateway predefinito. Ovviamente i server DNS completeranno la configurazione.

Tutte queste configurazioni sono statiche e potrebbero essere sostituite dall'assegnazione DHCP. In questo caso, gli indirizzi MAC del bridge e le interfacce KVM VM potrebbero essere utili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.