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.
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 :
auto vz1 iface vz1 inet manual bridge_ports eth1 bridge_stp off bridge_fd 1 bridge_maxwait 0
Si la machine dispose de plusieurs interfaces, je préfère ne pas mettre d'ip sur l'interface associée au pont, et de configurer une autre interface pour accéder à la machine hôte. Dans ce cas, ajouter un net.ipv4.conf.eth0.forwarding=0 dans le /etc/sysctl.conf pour l'interface (ici, eth0) qui servira uniquement à administrer la machine. 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 les serveurs hébergés dessus.
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.
% cat /etc/vz/vznet.conf EXTERNAL_SCRIPT=/usr/local/sbin/vzaddbr
Exemple de script :
% cat /usr/local/sbin/vzaddbr #!/bin/bash BRIDGE=vz1 ETH=$3 /sbin/ifconfig $ETH up /usr/sbin/brctl addif $BRIDGE $ETH
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
Choix des adresses mac :
- ne pas attribuer deux fois la même adresse mac pour deux machines différente.
- à Dakar, j'utilise 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.
- Attention au préfixe ! Choisir un préfixe légèrement supérieur à celui de l'adresse mac de l'interface physique : dans l'algorithme de gestion de pont, c'est toujours la plus petite adresse mac qui est choisie pour être celle du pont. Le fait que l'adresse mac change lorsqu'une machine est démarrée ou stoppée peut provoquer des perturbations diverses.
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 de rien n'était.