> Tous les forumsLinux

 Virtualisation: voir l'invité depuis l'hôte
Statut du sujet : NON RESOLU Imprimer
 Logicien
  Posté le 10/02/2008 @ 18:36  
 Astucien


2370 Messages

Bonjour,

voici un petit tuto pour celles et ceux qui utilisent des logiciels de virtualisations comme Qemu et VirtualBox pour installer des systèmes d'exploitations virtuels, tester des live-cds, etc et désirent que le système invité soit vu par le système hôte. Par défaut, Qemu et VirtualBox connectent les invités de leurs machines virtuelles à Internet via un serveur Dhcp auprès duquel l'invité peut faire une requête afin d'obtenir une adresse IP. L'hôte doit évidemement être lui-même connecté à Internet. Il est facile pour l'invité d'accéder aux partages de l'hôte si le serveur de fichiers et d'imprimantes Samba est démarré sur l'hôte. Les autres services de l'hôte sont aussi accessibles depuis l'invité. Toutefois, même si on démarre Samba sur l'invité, l'hôte ne peut voir ses partages sans modifier la configuration réseau de l'hôte et de l'invité.

Il s'agit:

- de créer une carte réseau virtuelle depuis l'hôte

- d'activer la carte réseau virtuelle sans aucune adresse IP

- de créer un pont

- d'activer le pont avec adresse réseau privée ou locale

- d'intégrer la carte réseau virtuelle dans le pont

- de se servir de la carte réseau virtuelle (et non du pont) comme carte réseau Ethernet dans la configuration de la machine virtuelle

- configurer la carte Ethernet du système invité de manière à ce quelle utilise une adresse IP différente, mais du même réseau que celle du pont

- que l'adresse IP du pont serve de passerelle par défaut au système invité et facultativement de serveur DNS

Grâce à ce réseau privé virtuel, l'invité est vu par l'hôte. On peut monter les systèmes de fichiers smbfs, ouvrir une session Ssh, Rsync, etc depuis l'hôte et accéder aux services de l'invité.

En pratique, nous supposerons que vous avez ouvert une session root. Il faut installer les paquets uml_utilities et bridge-utils afin que les commandes tunctl et brctl soient disponibles. Il faut aussi que le noyau Linux supportent la création de cartes réseaux virtuelles et de ponts. Généralement il faut charger les modules tun et bridge en mémoire:

modprobe tun

modprobe bridge

La carte réseau virtuelle à créer va être accessible via le fichier de périphérique /dev/net/tun créé par le module tun. Il est nécessaire de modifier ses permissions pour utilisation non root:

chmod 666 /dev/net/tun

Il faut ensuite créer la carte réseau virtuelle tap0 avec le propriétaire et le groupe désiré:

tunctl -g users -t tap0 -u pot

Nous pouvons activer la carte réseau virtuelle sans adrese IP:

ifconfig tap0 0.0.0.0 up

On créé le pont br0 comme ceci:

brctl addbr br0

Je configure et active le pont sur le réseau 192.168.7.0:

ifconfig br0 192.168.7.1 up

J'ajoute la carte réseau virtuelle tap0 au pont br0:

brctl addif br0 tap0

Mon réseau virtuel est créé. Côté hôte, il reste encore à dire au pare-feu de faire du Network Address Translation (NAT) sur le réseau 192.168.7.0 et au noyau Linux de router les paquets IP. C'est indispensable afin que l'invité puisse accéder à Internet. Le point de connexion Internet est ici ppp0:

iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o ppp0 -j MASQUERADE

sysctl -w net.ipv4.ip_forward=1

Côté invité, dans la section réseau de la configuration de la machine virtuelle de VirtualBox, je donne tap0 de l'hôte comme carte réseau à utiliser. Avec Qemu, il faut démarrer la machine virtuelle avec la configuration réseau suivante:

qemu -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no

Je démarre la machine virtuelle. Je configure sa carte réseau eth0, qui est le nom que donne le système Linux invité à la carte réseau virtuelle tap0 de l'hôte si ma machine virtuelle n'a que cette carte réseau:

ifconfig eth0 192.168.7.2 up

Je donne l'adresse du pont comme passerelle par défaut:

route add default gw 192.168.7.1

Il me reste encore à préciser les adresses IP des serveurs DNS de mon FAI dans le fichier /etc/resolv.conf de l'invité et la connexion Internet est maintenant activée manuellement par l'utilisateur. C'est plus long que la configuration par défaut par Dhcp. Cela a comme avantage de permettre à l'hôte de communiquer avec l'invité et d'accéder à ses ressources. On peut entre autres, installer un système d'exploitation dans une machine virtuelle et le copier sur une partition de son disque dur avec rsync par exemple si le démon Ssh est démarré sur le système invité. On reconfigure le noyau Linux pour qu'il supporte la machine réelle et on peut démarrer réellement sur le nouveau système. Pour supprimer le réseau virtuel et la règle de NAT après arrêt de la machine virtuelle:

ifconfig br0 down

brctl delbr br0

ifconfig tap0 down

tunctl -d tap0

modprobe -r tun

modprobe -r bridge

/etc/init.d/iptables restart

Il y a d'autres façons de procéder afin que l'hôte puisse accéder aux ressources de l'invité. Cette méthode m'a permit d'y arriver avec VirtualBox et Qemu. Peut-être que cette méthode est valable avec d'autres logiciels de virtualisation. L'hôte et l'invité étaient ici des systèmes Linux. Cela peut être adapté afin d'utiliser d'autres systèmes d'exploitations hôtes et invités. Voir les pages de manuel de brctl, d'iptables et de qemu. Il n'y a pas de page de manuel pour tunctl. La commande 'tunctl ?' permet de voir les paramètres et leurs possibles utilisation. Voir le site http://www.virtualbox.org/ pour la documentation sur VirtualBox.

 Afficher le profil de Logicien Envoyer un message privé à Logicien
 
 
Publicité
 Torrent  Posté le 11/02/2008 à 12:58  
Astucien

1076 Messages

Bravo

Ca mériterait d'être épinglé ou mis dans la FAQ

Afficher le profil de Torrent Voir la configuration de TorrentEnvoyer un message privé à Torrent
  Revenir en haut de la page
 Logicien  Posté le 11/02/2008 à 15:54  
Astucien


2370 Messages
Merci Torrent. Qui peut épingler ou mettre ce tuto dans le FAQ? Ce serait bien que tout le temps que j'ai pris à résoudre ce problème puisse être économisé par un internaute à la recherche de cette information.

Modifié par Logicien le 11/02/2008 15:55
Afficher le profil de Logicien Voir la configuration de LogicienEnvoyer un message privé à Logicien
 Revenir en haut de la page
 Torrent  Posté le 13/02/2008 à 17:04  
Astucien

1076 Messages

Voilà, j'ai fait une demande aux modos pour déplacer le post dans la rubrique "Guide Pratique"

En fait, au moment où on fait un post, on a le choix de la catégorie (je ne sais pas trop si il est possible de changer de catégorie en cours de route)

Donc, la prochaine fois que tu fais un tuto, tu devrais sélectionner "Guide Pratique"

Afficher le profil de Torrent Voir la configuration de TorrentEnvoyer un message privé à Torrent
  Revenir en haut de la page
 Logicien  Posté le 13/02/2008 à 17:45  
Astucien


2370 Messages
Ok Torrent, je retiens. Le seul problème est que je ne vois pas "Guide Pratique" dans les sous-rubriques possibles quand j'écris un message.


Modifié par Logicien le 13/02/2008 17:51
Afficher le profil de Logicien Voir la configuration de LogicienEnvoyer un message privé à Logicien
 Revenir en haut de la page
 Taras_Boulba  Posté le 13/02/2008 à 20:50  
Astucien

1009 Messages
le problème c'est que sur pca ça épingle pas des masses... à part la rubrique sécurité (en fait sécurité windows... ), rien n'est épinglé. le tien mériterait d'être épinglé ici, dans un sujet "trucs et astuces" par exemple où d'autres pourraient épingler leurs tutos.

Modifié par Taras_Boulba le 13/02/2008 20:50
Afficher le profil de Taras_Boulba Voir la configuration de Taras_BoulbaEnvoyer un message privé à Taras_Boulba
 Revenir en haut de la page
 Torrent  Posté le 15/02/2008 à 15:00  
Astucien

1076 Messages

Je crois que Logicien va devoir faire un copier/coller dans un nouveau post, où il faudra cocher "Guides Pratiques"

Celui-là figure dans "Réseaux"



Modifié par Torrent le 15/02/2008 15:01
Afficher le profil de Torrent Voir la configuration de TorrentEnvoyer un message privé à Torrent
  Revenir en haut de la page
 Logicien  Posté le 15/02/2008 à 16:18  
Astucien


2370 Messages

Quand j'édite un nouveau message, je ne vois pas Guides pratiques, Si mon site Web était en ligne, ce serait plus simple. Le site Accueil - Archlinux.fr m'a généreusement permis de mettre en ligne un tuto sur leur Wiki , Pour bien afficher les caractères accentués français sous GNU/Linux. Je vais voir s'il est possible d'ajouter celui-ci.



Modifié par Logicien le 15/02/2008 16:19
Afficher le profil de Logicien Voir la configuration de LogicienEnvoyer un message privé à Logicien
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsLinux

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page