Articles Taggés ‘virtualisation’

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

24 novembre 2009

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
  1. #
  2. #Usage : tunnel.sh
  3. #Create 1 bridge + 2 tap
  4. # ./tunnel.sh -d eth0 -n 0 -n 1
  5. #Remove bridge and 2 tap
  6. # ./tunnel.sh -s 0 -s 1 -r eth0
  7. createBridge() {
  8.  brctl addbr br0
  9.  brctl addif br0 $1
  10.  ifconfig $1 promisc
  11.  dhclient br0
  12. }
  13.  
  14. deleteBridge() {
  15.  ifconfig $1 -promisc
  16.  ifconfig br0 down
  17. }
  18.  
  19. createTunnel() {
  20.  openvpn –mktun –dev tap$1
  21.  ifconfig tap$1 up
  22.  brctl addif br0 tap$1
  23. }
  24.  
  25. deleteTunnel()
  26. {
  27.  ifconfig tap$1 down
  28.  brctl delif br0 tap$1
  29.  openvpn –rmtun –dev tap$1
  30. }
  31.  
  32. chmod 0666 /dev/net/tun
  33.  
  34. while getopts d:n:s:r: OPTION
  35. do
  36.  case $OPTION in
  37.   d)createBridge $OPTARG;;
  38.   n)createTunnel $OPTARG;;
  39.   s)deleteTunnel $OPTARG;;
  40.   r)deleteBridge $OPTARG;;
  41.  esac
  42. 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 …