Modifications entre les versions 18 et 19
Version 18 à la date du 2008-12-05 15:44:36
Taille: 3701
Éditeur: ThomasNoël
Commentaire: ancienne méthode
Version 19 à la date du 2008-12-05 15:57:05
Taille: 3829
Éditeur: ThomasNoël
Commentaire: vzctl > 3.0.22 sur systs
Texte supprimé. Texte ajouté.
Ligne 6: Ligne 6:

= sur la machine hôte =
= Sur la machine hôte =
Ligne 14: Ligne 13:
# extrait de /etc/network/interfaces sur la machine hôte # Extrait de /etc/network/interfaces sur la machine hôte.
# On créé un bridge "vz1" sur lequel on connecte "eth1" (la vraie carte).
# On y connectera ensuite les machines virtuelles, comme si on les
# connectait à un switch relié à eth1.
Ligne 18: Ligne 21:
        bridge_stp off
        bridge_fd 1
        bridge_maxwait 0
Ligne 25: Ligne 25:
 * Le fichier {{{/etc/vz/vznet.conf}}} configure le comportement réseau lors du démarrage de nouvelle machines. Y ajouter le chemin vers un script qui ajoutera à chaque fois l'interface Ethernet de la machine démarrée au pont créé à la première étape.  * Le fichier `/etc/vz/vznet.conf` configure le comportement réseau lors du démarrage de nouvelle machines. Y ajouter le chemin vers un script qui ajoutera à chaque fois l'interface Ethernet de la machine démarrée au pont créé ci-dessus :
Ligne 29: Ligne 29:
EXTERNAL_SCRIPT=/usr/local/sbin/vzaddbr EXTERNAL_SCRIPT=/usr/sbin/vznetaddbr
Ligne 32: Ligne 32:
 . Exemple de script :  * Enfin, dernière étape, configurer une interface ethernet virtuelle sur chaque machine, et l'ajouter au bridge vz1 (dernier paramètre). Exemple pour la machine 211 :
Ligne 34: Ligne 34:
  {{{
$ cat /usr/local/sbin/vzaddbr
#!/bin/bash
  {{{# vzctl set 211 --netif_add "eth0,00:E1:00:00:21:1A,veth211.1,00:E1:00:00:21:1B,vz1" --save}}}
Ligne 38: Ligne 36:
BRIDGE=vz1
ETH=$3
 . Note : Vous pouvez ensuite vérifier dans /etc/vz/conf/211.conf que la ligne NETIF est correctement configurée.
Ligne 41: Ligne 38:
# on active l'interface
/sbin/ifconfig $ETH up
# on l'ajoute sur le bridge (comme si on la branchait sur le switch correspondant)
/usr/sbin/brctl addif $BRIDGE $ETH
}}}
 * '''Attention au choix des adresses MAC''' :
  1. ne pas attribuer deux fois la même adresse MAC pour deux machines différente.
  1. Attention au préfixe ! Il faut choisir un préfixe supérieur à celui de l'adresse MAC de l'interface physique. En effet dans l'algorithme de gestion de pont, c'est toujours '''la plus petite adresse MAC qui est choisie pour être celle du pont'''. Or il ne faut pas que l'adresse MAC change lorsqu'une machine virtuelle est démarrée ou stoppée. Il faut donc que l'adresse MAC la plus petite soit celle de la machine physique, qui ne change pas.
  1. Astuce : utiliser pour les deux derniers octets le numéro de la machine elle même (le VEID), avec à la fin A et B respectivement pour l'interface côté machine virtuelle et côté hôte. Ainsi, pour la machine 101, `00:E0:00:00:10:1A` côté machine virtuelle et `00:E0:00:00:10:1B` côté machine hôte.
Ligne 47: Ligne 43:
 * Enfin, dernière étape, configurer une interface ethernet virtuelle sur chaque machine :

  {{{# vzctl set 211 --netif_add "eth0,00:E1:00:00:21:1A,veth211.1,00:E1:00:00:21:1B" --save}}}

 . '''Attention au choix des adresses MAC''' :
  1. ne pas attribuer deux fois la même adresse MAC pour deux machines différente.
  1. Attention au préfixe ! Choisir un préfixe légèrement supérieur à celui de l'adresse MAC de l'interface physique. En effet dans l'algorithme de gestion de pont, c'est toujours '''la plus petite adresse MAC qui est choisie pour être celle du pont'''. Il ne faut pas que l'adresse MAC change lorsqu'une machine virtuelle est démarrée ou stoppée. Il faut donc que l'adresse MAC la plus petite soit celle de la machine physique, qui ne change pas.
  1. Astuce pour s'y retrouver : utiliser pour les deux derniers octets le numéro de la machine elle même (le VEID), avec A et B respectivement pour l'interface côté machine virtuelle et côté hôte.

= et sur les machines virtuelles =
= Et sur les machines virtuelles ? rien ! =

Pour la configuration réseau des machines virtuelle, la méthode « pont Ethernet » est celle qui est conseillée à l'AUF. L'avantage de cette méthode est de présenter, côté machines virtuelle, une configuration réseau 100% similaire à celle de machines physiques.

Sur la machine hôte

  • Installer le package bridge-utils

  • Configurer un pont ethernet sur la machine hôte. Si l'interface choisie est eth1, par exemple, mettre pour cela dans le /etc/network/interfaces quelque chose du genre :

    • # Extrait de /etc/network/interfaces sur la machine hôte.
      # On créé un bridge "vz1" sur lequel on connecte "eth1" (la vraie carte).
      # On y connectera ensuite les machines virtuelles, comme si on les
      # connectait à un switch relié à eth1.
      
      auto vz1
      iface vz1 inet manual
              bridge_ports    eth1
  • Remarque : si la machine dispose de plusieurs interfaces, il est intéressant de ne pas mettre d'ip sur l'interface associée au pont. On configure une autre interface pour accéder à la machine hôte directement. Dans ce cas, ajouter net.ipv4.conf.eth0.forwarding=0 dans le /etc/sysctl.conf pour l'interface (ici, eth0) qui servira uniquement à accéder à la machine hôte. Cette interface peut même être branchée sur un réseau différent, ultra-protégé, pour limiter les accès à l'hôte, qu'il est vital de bien protéger : un accés illégitime à l'hôte donnerait accès à tous ses serveurs virtuels...!

  • Le fichier /etc/vz/vznet.conf configure le comportement réseau lors du démarrage de nouvelle machines. Y ajouter le chemin vers un script qui ajoutera à chaque fois l'interface Ethernet de la machine démarrée au pont créé ci-dessus :

    • $ cat /etc/vz/vznet.conf
      EXTERNAL_SCRIPT=/usr/sbin/vznetaddbr
  • Enfin, dernière étape, configurer une interface ethernet virtuelle sur chaque machine, et l'ajouter au bridge vz1 (dernier paramètre). Exemple pour la machine 211 :
    • # vzctl set 211 --netif_add "eth0,00:E1:00:00:21:1A,veth211.1,00:E1:00:00:21:1B,vz1" --save

  • Note : Vous pouvez ensuite vérifier dans /etc/vz/conf/211.conf que la ligne NETIF est correctement configurée.
  • Attention au choix des adresses MAC :

    1. ne pas attribuer deux fois la même adresse MAC pour deux machines différente.
    2. Attention au préfixe ! Il faut choisir un préfixe supérieur à celui de l'adresse MAC de l'interface physique. En effet dans l'algorithme de gestion de pont, c'est toujours la plus petite adresse MAC qui est choisie pour être celle du pont. Or il ne faut pas que l'adresse MAC change lorsqu'une machine virtuelle est démarrée ou stoppée. Il faut donc que l'adresse MAC la plus petite soit celle de la machine physique, qui ne change pas.

    3. Astuce : utiliser pour les deux derniers octets le numéro de la machine elle même (le VEID), avec à la fin A et B respectivement pour l'interface côté machine virtuelle et côté hôte. Ainsi, pour la machine 101, 00:E0:00:00:10:1A côté machine virtuelle et 00:E0:00:00:10:1B côté machine hôte.

Et sur les machines virtuelles ? rien !

Enfin, enfin, enfin, côté machine virtuelle : rien de particulier, configurer l'interface eth0 comme si de rien n'était !

  • # cat /var/lib/vz/private/211/etc/network/interfaces
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
            address 172.18.1.211
            netmask 255.255.255.0

La machine virtuelle est connectée au réseau comme si elle était sur un switch... comme si de rien n'était.

OpenVZ/OrganisationRéseau (dernière édition le 2018-01-19 17:16:04 par MoussaNombre)