Archives par mot-clé : tap

Virtualisation et tunnel : rajouter des PCs sur son réseau

Plopinou à tous …

Petite astuce toute simple, pour créer des tunnels et ainsi permettre à ses PCs virtuel (VMWare/VirtualBox) de communiquer en direct sur son réseau (enfin lorsque l’on a pas assez d’interface physique disponible … tout le monde n’en a pas 100 ^^).

Sous debian/ubuntu il faut faire un sudo apt-get install bridge-utils

Copiez les lignes suivantes dans un script nommé « tunnel.sh » (ou ce que vous voulez) :

#!/bin/bash
#
#Usage : tunnel.sh
#Create 1 bridge + 2 tap
#	./tunnel.sh -d eth0 -n 0 -n 1
#Remove bridge and 2 tap
#	./tunnel.sh -s 0 -s 1 -r eth0
createBridge() {
	brctl addbr br0
	brctl addif br0 $1
	ifconfig $1 promisc
	dhclient br0
}

deleteBridge() {
	ifconfig $1 -promisc
	ifconfig br0 down
}

createTunnel() {
	openvpn --mktun --dev tap$1
	ifconfig tap$1 up
	brctl addif br0 tap$1
}

deleteTunnel()
{
	ifconfig tap$1 down
	brctl delif br0 tap$1
	openvpn --rmtun --dev tap$1
}

chmod 0666 /dev/net/tun

while getopts d:n:s:r: OPTION
do
	case $OPTION in
		d)createBridge $OPTARG;;
		n)createTunnel $OPTARG;;
		s)deleteTunnel $OPTARG;;
		r)deleteBridge $OPTARG;;
	esac
done

Avant de créer des tunnels, il faut créer un pont sur l’interface principal (eth0), ce qui donne :

sudo sh tunnel.sh -d eth0

Puis on peut créer plusieurs tunnels : tap0, tap1 et tap2 soit la commande suivante :

sudo sh tunnel.sh -n 0 -n 1 -n 2

On peut aussi vers les 2 à la suite (l’ordre est important … d’abord le pont ensuite les tunnels) :

sudo sh tunnel.sh -d eth0 -n 0 -n 1 -n 2

Ensuite, il suffit de choisir dans l’interface de configuration de réseau de Virtualbox/VMWare une connexion par pont/bridge :

tunnel

Pour détruire l’interface tap2 (après utilisation généralement … éteindre la machine virtuelle AVANT) :

sudo sh tunnel.sh -s 2

Pour enlever le bridge :

sudo sh tunnel.sh -r eth0

Et encore une fois … les deux à la fois ^^ (l’ordre est important … on détruit d’abord le tunnel avant d’éteindre le pont : d’où le -s d’abord, puis le -r ) :

sudo sh tunnel.sh -s 2 -r eth0

Et voilà c’est tout pour ce soir …