J'ai un server physique exécutant CentOS 6.5 avec une interface connectée à Internet (avec une adresse IP publique). Dans ce server, j'ai deux machines virtuelles créées avec KVM via libvirt avec une interface chacune. Je veux atsortingbuer une adresse IP publique à chaque machine virtuelle et continuer à utiliser la connection avec le server physique.
Cette image illustre ce que j'ai en noir et ce que je veux en bleu: .
J'ai essayé plusieurs façons, comme append un pont Linux avec brctl
et attacher l'interface physique du server et les deux interfaces virtuelles des machines virtuelles, mais cela n'a pas fonctionné et j'ai perdu la connectivité au server physique.
Je suis ouvert à utiliser des ponts Linux ou des réseaux libvirt.
Comment puis-je get des adresses IP publiques sur les machines virtuelles et sur le server physique?
Enfin, j'ai trouvé la bonne façon d'atteindre l'objective de la question. Cela implique un pontage Linux, parce que je n'ai pas pu résoudre le problème avec le réseau libvirt.
Pas:
vnet*
par vnet*
Dans cet exemple, vnet0
et vnet1
Créez un pont Linux avec:
brctl addbr virbr1
Attacher les interfaces de l'interface physique et des machines virtuelles KVM au nouveau pont:
ATTENTION: si vous êtes connecté au server physique via le réseau (SSH, Telnet, etc.), vous perdrez la connection. Utilisez un terminal ou une méthode alternative (comme toute autre interface avec connectivité).
brctl addif virbr1 vnet0 brctl addif virbr1 vnet1 brctl addif virbr1 eth0
Dans CentOS 6.5, éditez le file /etc/sysconfig/network-scripts/ifcfg-eth0
avec ces contenus:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NAME=eth0 TYPE=Ethernet IPV6INIT=no USERCTL=no
Dans CentOS 6.5, éditez le file /etc/sysconfig/network-scripts/ifcfg-virbr1
avec ces contenus:
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>
service network restart
REMARQUE: vous devez restaurer la connectivité réseau physique du server (via l'interface et le pont)
Cela dépend du operating system des machines virtuelles. Quoi qu'il en soit, il devrait inclure l'adresse IP, le masque de réseau et la passerelle par défaut, au less. De toute évidence, les servers DNS compléteront la configuration.
Toutes ces configurations sont statiques et pourraient être remplacées par une affectation DHCP. Dans ce cas, les adresses MAC du pont et les interfaces VM KVM pourraient être utiles.