Nous allons voir dans ce tutoriel comment créer une interface réseau virtuelle tap
en mode bridge.
Beaucoup de tutoriels traitant ce sujet existent déjà, mais aucun n'a pu m'aider.
Je vais vous donner la configuation réseau que j'ai chez moi, et vous expliquer ce que j'ai voulu faire.
Par défaut, le réseau de VirtualBox fonctionne en mode NAT, ce qui crée un sous-réseau virtuel
dont la machine hôte est le serveur.
La configuration réseau de la machine virtuelle se faisant en DHCP c'est très pratique.
Par contre, il n'est pas possible de se connecter de manière simple par SSH sur une autre machine du réseau (et inversement), ou d'utiliser des partages en réseau NFS ou Samba, car il y faut l'application des règles iptables, trop compliqué pour moi.
Assurez-vous d'avoir les paquets “bridge-utils” et “uml-utilities” d'installés.
apt-get update && apt-get install bridge-utils uml-utilities
Ma configuration de départ :
# The primary network interface static allow-hotplug eth0 iface eth0 inet dhcp
À modifier ainsi :
auto
et non allow-hotplug !
# The primary network interface static auto eth0 iface eth0 inet manual up ifconfig eth0.1.2.3...50 up down ifconfig down
Ajoutez ensuite ces lignes :
# Bridge interfaces auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_fd 0 # Tap auto tap0 iface tap0 inet manual up tunctl -u <MonUser> -t tap0 && brctl addif br0 tap0 && ifconfig tap0 up down ifconfig tap0 down && brctl delif br0 tap0 && tunctl -d tap0
<MonUser>
par l'utilisateur qui utilisera cette interface.
Ma configuration réseau à la base :
Neufbox : routeur : 192.168.1.1 PC1 : passerelle (debian etch) : eth0 = 192.168.0.1, eth1 = 192.168.1.20 PC2 : desktop (debian lenny) : eth0 = 192.168.0.2 PC3 : desktop (debian lenny) : eth0 = 192.168.0.3
Vous vous demandez :
Pourquoi j'ai une passerelle qui joint 2 réseaux ?
Réponse :
Avant d'avoir la Neufbox, j'étais chez Free et par défaut la freebox était configurée en mode bridge (comme un modem classique) et non en routeur, donc il me fallait une passerelle.
Certes j'aurai pu la configurer en routeur mais je ne savais pas qu'on pouvait le faire.
Voilà, c'est dit !
Mon but ici est d'avoir une machine virtuelle configurée, au niveau réseau, exactement comme une machine physique soit :
PCv (v pour virtuel) : eth0 = 192.168.0.4
Je souhaite utiliser ma machine virtuelle depuis PC3 donc je configure PC3.
Voici l'extrait concernant “eth0” du fichier “/etc/network/interfaces” avant modification :
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.0.3 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.0.1 dns-search intranet
Apportez les modifications suivantes :
# The primary network interface allow-hotplug eth0 iface eth0 inet manual up ifconfig eth0 0.0.0.0 up down ifconfig eth0 down # The bridge interface auto br0 iface br0 inet static address 192.168.0.3 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.0.1 dns-search intranet bridge_ports eth0 bridge_fd 0 # Tap iface tap0 inet manual up tunctl -u UTILISATEUR -t tap0 && brctl addif br0 tap0 && ifconfig tap0 up down ifconfig tap0 down && brctl delif br0 tap0 && tunctl -d tap0
Pour éviter la connection automatique, car généralement, on utilise cette interface que lorsque l'on en a besoin, commentez ou effacez la ligne auto tap0
:
# Tap # auto tap0 iface tap0 inet manual up tunctl -u <MonUser> -t tap0 && brctl addif br0 tap0 && ifconfig tap0 up down ifconfig tap0 down && brctl delif br0 tap0 && tunctl -d tap0
Merci à ahillerin pour sa remarque à ce propos sur le forum ici :
http://debian-facile.org/forum/viewtopic.php?pid=3062#p3062
Avec cette configuration, nous avons :
notre interface physique eth0
qui écoute tout ce qui se passe.
L'interface br0
qui fait le pont (bridge) de jonction entre “eth0” et “tap0”
tap0
est la seule interface possible pour être utilisé sur la machine virtuelle que nous allons créer.
tap0
reprend et utilise à l'identique la configuration initiale de eth0
.
Pour cet exemple, dans la connection virtualisée, tap0
se nommera eth0
.
Il vous reste juste à relancer le réseau :
service networking restart
Si sur la commande :
ifconfig
L'interface “tap0” n'apparaît pas, il faut donc faire :
ifup tap0
Dans la section réseau “adapté à Adapteur réseau hôte” et dans le champ “Nom de l'interface” saisissez :
"tap0"
Puis dans votre machine virtuelle, vous configurez votre réseau comme pour une autre machine.
-Quelle distribution conservatrice ! - Note de XwZ sur irc… ah ah ah !
Sinon, sous les versions suivantes de Virtualbox, dans la section reseau, nous avons une option :
Accès par pont
et il fait tout tout seul !
Voici 2 liens sur sur lesquels je me suis appuyé :
http://www.adella.org/spip/spip.php?article71
http://compsoc.dur.ac.uk/~djw/qemu.html.