Pré-requis : ubuntu serveur 10.04 ou 12.04 ( ne fonctionne pas avec 11.10) avec un système de partitions en LVM et d’OpenSSH installé.
et avoir suivi la 1ere partie et la seconde partie ….
Configuration du réseau.
pour que les machines virtuelles soient visible sur le réseau
Le réseau est configuré en NAT, par défaut. Les paquets réseaux émis par la machine virtuelle passent par une passerelle (le système hôte) pour arriver à destination.
Cette configuration est suffisante quand la machine virtuelle n’a pas besoin d’être contactée par l’extérieur. Quand il s’agit de virtualiser des serveurs, il est nécessaire de configurer un pont (Bridge) afin de lui attribuer une IP.
Sur le serveur hôte (le serveur physique), installer les paquets suivants pour la création d’interface virtuelle et la gestion des bridges:
sudo aptitude install uml-utilities
sudo aptitude install bridge-utils
Préparation du pont réseau (bridge) et de l’interface réseau virtuelle
Ajout de l’utilisateur courant au groupe uml-net:
Pour que l’utilisateur courant du serveur hôte puisse utiliser une interface réseau virtuelle il faut l’ajouter au groupe uml-net:
sudo adduser $User uml-net
$User est à remplacer par le nom de l’utilisateur courant.
Configuration du groupe tunusers et édition du fichier 50-udev.rules:
Pour que l’utilisateur courant puisse utiliser l’interface virtuelle, il est nécessaire de créer le groupe tunusers, d’y ajouter l’utilisateur courant et de configurer udev pour intégrer le groupe tunusers
sudo addgroup tunusers
sudo adduser « $User » tunusers
Editer le fichier /lib/udev/rules.d/50-udev.rules et modifier pour obtenir:
KERNEL=="tun",NAME="net/%k"
, GROUP="tunusers", MODE="0660"
sudo chown :tunusers /dev/net/tunsudo chmod g+rw
/dev/net/tunls -l /dev/net/tun
Redémarrage du système hôte
Pour que l’ensemble des modifications précédentes prennent effet.
>sudo reboot
Le fichier /etc/network/interfaces
Configuration de l’interface virtuelle et le bridge en modifiant le fichier /etc/network/interfaces:
Caractéristiques réseau du système hôte
- L’interface réseau active sur le serveur est eth0.
- L’adresse IP de eth0 est fixée manuellement à 192.168.1.2;
- l’adresse IP de la passerelle du réseau local est 192.168.1.1;
- Le masque du réseau local est 255.255.255.0;
- Le nom du bridge est br0;
Modification du fichier /etc/network/interfaces
A partir des caractéristiques précédentes le fichier /etc/network/interfaces doit comporter le contenu suivant:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4 # DNS de Google
bridge_ports eth0
bridge_stp on
bridge_maxwait 0
Redémarrage du réseau et test de la configuration du système hôte
sudo /etc/init.d/networking restart
Test du bridge
ifconfig | grep br0
doit répondre :
br0 Link encap:Ethernet HWaddr 00:e0:81:4b:2a:d0
Test de l’association du bridge avec l’interface réseau virtuelle
brctl show
doit répondre :
bridge name bridge id STP enabled interfaces
br0 8000.00e0814b2ad0 no eth0
Redémarrage de la machine virtuelle
Le système hôte est configuré.
sudo vi /etc/network/interfaces
Par exemple, pour une ip fixe :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).# The loopback network interface
auto lo
iface lo inet loopback# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
Redémarrer le réseau de la machine virtuelle.
sudo /etc/init.d/networking restart
Nous voici avec un serveur dont l’adresse IP est 192.168.1.2 et une machine virtuelle dont l’adresse ip est 192.168.1.3, utilisant la même carte réseau physique.
Les deux machines sont visible sur le LAN.
Webographie :
https://help.ubuntu.com/11.10/serverguide/C/network-configuration.html#bridging
http://thegeekcorner.pagesperso-orange.fr/fr/tutoriel/kvm_linux.html
https://help.ubuntu.com/11.10/serverguide/C/libvirt.html
http://doc.fedora-fr.org/wiki/Xen_:_installation_d%27un_domaine_compl%C3%A8tement_virtualis%C3%A9_avec_virt-manager
http://virt-manager.et.redhat.com/
http://doc.ubuntu-fr.org/virtualbox_reseau
http://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2
http://wiki.libvirt.org/page/Networking#Forwarding_Incoming_Connections
http://wiki.libvirt.org/page/Networking#Bridged_networking_.28aka_.22shared_physical_device.22.29
http://libvirt.org/formatdomain.html#elementsNICS
http://backreference.org/2010/03/26/tuntap-interface-tutorial/