#1 Le 14/03/2012, à 20:30
- hitachi
[Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Bonjour,
je dispose de 2 machines virtuelles.
L'une dans laquelle ubuntu server est installé et qui fera office de serveur DHCP et DNS.
Une autre avec Ubuntu 10.04 Desktop qui joue le rôle de machine cliente.
J'utilise VirtualBox pour les 2 VM avec NAT comme mode d'accés réseau, j'ai donc accés à internet pour toutes les 2.
Au niveau de la VM serveur, DHCP et DNS sont installés, configurés et ca marche !
Cependant j'aimerai spécifier à la VM cliente que c'est l'autre VM server qui joue le rôle de serveur DHCP et cette derniere lui fournira une adresse.
La VM cliente dispose d'une adresse mais qui n'est même pas dans la plage spécifié au niveau de la VM Server.
Ya-t-il une config spéciale à faire au niveau de la VM cliente pour lui demander de contacter l'autre VM server pour avoir une adresse IP ?
Merci d'avance pour toute l'attention que vous pourrez m'accorder .
Dernière modification par hitachi (Le 21/03/2012, à 17:27)
Hors ligne
#2 Le 14/03/2012, à 22:06
- J5012
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
non, c'est au niveau du serveur d'annoncer qu'il est le dhcp maitre a suivre : une option de ce genre dans dhcpd.conf
mais ca risque de chambouler ton reseau d'ordi de vrais hotes lors de la renegociation de baux !
tu dois utiliser une savante configuration des adresses mac et ip virtuels pour les bons clients ... (aie ca complique)
tu pourrais aussi opter pour une fixation des ip ?
Dernière modification par J5012 (Le 14/03/2012, à 22:09)
Hors ligne
#3 Le 15/03/2012, à 04:08
- AlexandreP
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Salut,
Le problème, c'est le mode d'accès réseau choisi (NAT): les requêtes DHCP ne le traversent pas.
Il faut choisir un autre mode d'accès réseau pour les deux machines virtuelles. Un mode d'accès réseau qui va permettre aux deux machines virtuelles de communiquer directement, mais qui ne communique pas avec la machine hôte (parce qu'il y a de très fortes probabilités que ta machine hôte obtienne une adresse IP dynamique de ton serveur virtuel) ni avec ton réseau local (parce que, là aussi, il y a des probabilité que ton serveur virtuel fournisse des adresses IP dynamiques aux clients de ton réseau local).
Pour cela, il existe le mode d'accès réseau Réseau interne, à spécifier dans la configuration de tes deux machines virtuelles. Tu dois t'assurer que les deux machines virtuelles se retrouvent toutes les deux dans le même réseau interne. http://forum.ubuntu-fr.org/viewtopic.php?id=376862
Évidemment, si tu crées un réseau interne entre tes deux machines virtuelles, leur connexion réseau est isolée -- et quand tu fais des tests de DHCP, c'est ce que tu veux avoir! Si tu as besoin d'un accès à Internet sur l'une ou l'autre des machines virtuelles, tu peux tout de même ajouter une seconde carte réseau à ta machine virtuelle, et cette seconde carte réseau pourra être reliée en mode d'accès NAT ou Accès par pont. De cette manière, pas de contamination de DHCP vers ton hôte ou ton réseau local.
non, c'est au niveau du serveur d'annoncer qu'il est le dhcp maitre a suivre : une option de ce genre dans dhcpd.conf
mais ca risque de chambouler ton reseau d'ordi de vrais hotes lors de la renegociation de baux !
Avant cela: un client qui n'a pas d'adresse IP va accepter la première offre qu'il reçoit, provenant du serveur DHCP le plus proche/du serveur DHCP qui émet une offre le plus rapidement. À ma connaissance (mais je peux me tromper, auquel cas, n'hésite pas à me rectifier), il n'est pas possible ni prévu dans le protocole DHCP de préciser au client "Hey! accepte en priorité les offres DHCP du serveur 10.1.2.50 (ou du réseau 10.0.0.0/8) et rejette les offres DHCP provenant d'autres réseaux."
Déjà, les machines virtuelles de Hitachi sont reliées en mode NAT, alors les requêtes DHCP et les offres DHCP ne traversent même pas le NAT.
Mais admettons pour la forme que ses machines soient reliées en mode Accès par pont ou en mode Réseau privé hôte: dans ces 2 cas, pas de NAT pour filtrer les requêtes DHCP et il y a au moins un autre serveur DHCP concurrent (en Accès par pont, le serveur DHCP de sa box; en Réseau privé hôte, le serveur DHCP de VirtualBox). Dans une telle situation, la machine virtuelle client va obtenir une adresse IP du serveur DHCP qui répond le plus vite; il n'y a pas moyen de préciser sur quel serveur DHCP exactement le client doit envoyer une requête (ou duquel le client doit accepter l'offre et desquels les rejeter).
D'où la nécessité d'isoler les machines virtuelles dans un réseau interne.
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#4 Le 15/03/2012, à 09:58
- hitachi
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Merci à vous !
J'ai essayé autre chose.
Avant le démarrage des machines virtuelles, je configure leur carte réseau en mode "Bridged" au niveau VirtualBox.
Ensuite au démarrage on tapant "dhclient" au niveau des VM, je constate qu'ils ont "enfin" des IP differents fournis par la machine hôte. Un "ping" marche entre les VM et ont toujours accès au net.
Je vais essayer de reconfigurer le dhcp de la VM Server (fixer adresse, ...) et aussi au niveau de la VM cliente (modifier le resolv.conf pour lui spécifier le serveur dhcp à contacter).
J'avoue que la methode de AlexandreP avec les reseaux interne est interessante. Je testerai et je vous tiens au courant.
Encore un grand MERCI !
Hors ligne
#5 Le 16/03/2012, à 03:02
- AlexandreP
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Re!
J'ai essayé autre chose.
Avant le démarrage des machines virtuelles, je configure leur carte réseau en mode "Bridged" au niveau VirtualBox.
Ensuite au démarrage on tapant "dhclient" au niveau des VM, je constate qu'ils ont "enfin" des IP differents fournis par la machine hôte. Un "ping" marche entre les VM et ont toujours accès au net.
Le mode Accès par pont donne un accès complet à ton réseau local. Tes machines virtuelles ont un accès direct à ton réseau local et se comportent, sur le réseau local, comme des ordinateurs physiques. Les adresses IP qu'elles reçoivent sont fournies par le serveur DHCP de ton réseau local (sans doute situé dans ta box).
Ce qui te pose un problème, comme je l'ai dit plus haut. Si tu actives un serveur DHCP dans ton serveur virtuel et que ce serveur virtuel a un accès complet à ton réseau local, ton serveur DHCP va se mettre à offrir des adresses à tous les postes de ton réseau local, pas uniquement à des machines virtuelles que tu as définies. Il va contaminer ton réseau local, car deux serveurs DHCP vont exister dans ton réseau local (celui de ta box et celui de ton serveur virtuel) et se concurrencer. Ce n'est pas souhaitable.
Petite explication de DHCP et du problème que va poser la présence de deux serveurs DHCP dans un même réseau. Pour cet exemple, supposons que ta box contient un serveur DHCP (c'est plus que probablement le cas) et qui offre des adresses IP dans la plage 192.169.1.0/24, et que ton serveur virtuel contient aussi un serveur DHCP qui offre des adresses dans la plage 10.10.10.0/24:
ton client envoie une requête DHCP DISCOVER sur le réseau auquel il est connecté. Il envoie la requête à l'ensemble des postes de ce réseau, sur le port UDP 67. Il n'y a pas moyen de préciser à qui il envoie la requête: c'est systématiquement sur l'adresse de diffusion (255.255.255.255), et tous les ordinateurs du réseau (clients et serveurs) reçoivent cette requête. Dans ton réseau actuel (c-à-d avec tes machines virtuelles connectées en mode Accès par pont):
le serveur DHCP de ton serveur virtuel reçoit la requête DHCP DISCOVER (c'est correct);
MAIS le serveur DHCP de ton ta box reçoit AUSSI la requête DHCP DISCOVER (ça, c'est bad!).
tous les serveurs DHCP traitent la requête sur réception. Tous les serveurs DHCP ayant toujours des adresses à offrir vont envoyer une offre à ton client (DHCP OFFER):
le serveur DHCP de ton serveur virtuel envoie une offre DHCP OFFER avec une adresse disponible dans sa plage d'adresses (disons, 10.10.10.50);
MAIS le serveur DHCP de ton ta box envoie AUSSI une offre DHCP OFFER avec une adresse disponible dans sa plage d'adresses (disons, 192.168.1.50).
ton client accepte automatiquement la première offre reçue -- il notifie le serveur DHCP qu'il accepte l'offre du serveur et demande au serveur DHCP de lui réserver l'adresse (DHCP REQUEST):
si ton client reçoit en premier l'offre du serveur DHCP de ton serveur virtuel, ton client va prendre l'adresse IP 10.10.10.50 proposée par ton serveur virtuel;
MAIS si la première offre reçue est celle de ta box, ton client va prendre l'adresse IP 192.168.1.50 proposée par ta box!
(Pour terminer, le serveur DHCP pour lequel l'offre a été acceptée émet accusé de réception [DHCP ACK].)
On voit donc un premier problème: ta machine virtuelle client a une chance sur deux d'obtenir un DHCP OFFER de ton serveur DHCP virtuel. Ce n'est pas souhaitable: tu veux être sûr à 100% d'obtenir une adresse IP de ton serveur DHCP virtuel, et jamais de ta box.
Second problème: ces quatre étapes s'effectuent pour l'ensemble des clients de ton réseau local, pas uniquement pour tes machines virtuelles!
Toujours dans la même situation (tes machines virtuelles reliées en mode Accès par pont à ton réseau local, serveurs DHCP actifs dans ta box et dans ton serveur virtuel): ton petit frère branche son ordinateur portable à ton réseau local. Son ordinateur effectue lui-aussi les 4 étapes de la négociation DHCP ci-dessus. Et tout comme tes machines virtuelles, la requête DHCP DISCOVER du laptop de ton frère est reçue par tes deux serveurs DHCP! Admettons que ton serveur virtuel offre un DHCP OFFER plus rapidement, eh bien, l'ordinateur de ton frère va adopter une adresse IP 10.10.10.51, par exemple. Et ton frère viendra te crier dessus parce que tu as brisé Internet -- il n'aura pas accès à Internet, n'ayant pas une adresse IP dans le 192.168.1.0/24 telle que distribuée par ta box.
Ne serait-ce que pour ces deux raisons, tu dois absolument isoler ton serveur DHCP virtuel dans un réseau à part, qui n'a pas accès à ton réseau local.
Je vais essayer de reconfigurer le dhcp de la VM Server (fixer adresse, ...)
Ton serveur DHCP doit avoir une adresse IP fixe et dans le même réseau que celui pour lequel il offre des adresses IP. Par exemple, si ton serveur DHCP offre des adresses dans le réseau 10.10.10.0/24, alors ton serveur DHCP pourrait avoir une adresse IP fixe 10.10.10.1 avec un masque de sous-réseau 255.255.255.0.
Ton serveur doit toujours être disponible à la même adresse (tes clients DHCP doivent pouvoir toujours contacter à la même adresse le serveur DHCP, par exemple pour renouveler le bail DHCP ou pour demander des informations supplémentaires);
Cette adresse IP sera aussi utilisée pour distribuer des adresses IP. Ton serveur pourrait disposer de deux cartes réseaux (ex: l'une des cartes est reliée à ton réseau interne avec l'adresse IP 10.10.10.1 et la seconde est reliée en NAT); ton serveur ne proposera des DHCP OFFER que pour les requêtes DHCP DISCOVER reçues sur l'interface 10.10.10.1.
et aussi au niveau de la VM cliente (modifier le resolv.conf pour lui spécifier le serveur dhcp à contacter).
Le fichier resolv.conf contient les adresses des serveurs de noms, pour la résolution des noms de domaine. Il ne sert pas à préciser quel serveur DHCP interroger pour obtenir une adresse IP. Comme je l'ai dit plus haut, il n'y a pas de moyen de définir depuis quel serveur DHCP un client obtient une adresse IP: ça fonctionne selon la méthode du "premier arrivé, premier servi": première offre reçue, première offre acceptée. D'où la nécessité que tu n'aies qu'un seul serveur DHCP par réseau.
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#6 Le 17/03/2012, à 09:18
- hitachi
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Désolé pour la réponse tardive.
Juste pour dire que ton explication est trés clair et je comprends mieux désormais. Encore Merci beaucoup !
Pour résumé, il faudra créer un réseau interne au niveau de la VM Server et au besoin activer la deuxième carte en NAT pour qu'il accède à internet.
Mais quoi faire au niveau de la machine cliente pour qu'il puisse pinger le serveur et avoir une adresse donnée par le serveur DHCP ?
Ou bien je laisse la config d'origine pour le client ?
Hors ligne
#7 Le 17/03/2012, à 22:40
- AlexandreP
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
Yop!
Pour résumé, il faudra créer un réseau interne au niveau de la VM Server et au besoin activer la deuxième carte en NAT pour qu'il accède à internet.
Si tu veux avoir accès à deux réseaux différents, ça te prend effectivement deux cartes réseau qui sont reliées chacune à leur réseau respectif. (Et ça, ça ne s'applique pas qu'à une machine virtuelle: une machine physique a la même limitation. Ça te prend une carte réseau par réseau auquel la machine doit pouvoir accéder.)
- L'une doit nécessairement être raccordée à un réseau isolé (réseau interne); tu donneras un nom à ce réseau interne, au moment de sa création.
- L'autre carte, si tu veux accéder au réseau public, doit être reliée à un réseau qui accède au réseau public -- soit les modes NAT ou Accès par pont.
Mais quoi faire au niveau de la machine cliente pour qu'il puisse pinger le serveur et avoir une adresse donnée par le serveur DHCP ?
Ou bien je laisse la config d'origine pour le client ?
Eh bien, elle aussi doit être reliée à ton réseau interne!
Partons de (presque) zéro: tu viens de créer tes deux machines virtuelles (ton serveur DHCP virtuel et ta machine virtuelle client). Maintenant, tu es prêt à configurer les cartes réseau pour chacune des machines virtuelles.
Tu affiches en premier les paramètres de ton serveur DHCP virtuel; tu te rends dans la rubrique Réseau.
Tu constates qu'une première carte réseau est activée. Son mode d'accès réseau est à NAT. Tu me dis que tu veux que ton serveur virtuel ait un accès Internet; ne change pas ce paramètre. Cette carte réseau te permettra d'accéder à Internet.
MAIS tu as aussi besoin d'accéder à un réseau interne, isolé de tous les autres réseaux, pour pouvoir faire des tests de serveur DHCP. Il te faut donc une seconde carte réseau. Dans les paramètres réseau de ta machine virtuelle, affiche Carte 2. Active la carte réseau 2. Précise-lui le mode d'accès réseau Réseau Interne. La liste déroulante Nom s'active; elle contient le nom du réseau interne auquel la carte réseau doit être raccordée. Dans le champ Nom, indique un nom de réseau interne pour ton réseau de test (ex: ReseauInterne).
Appuie sur OK, la configuration des cartes réseau est terminée pour ton serveur DHCP virtuel.Maintenant, tu affiches en premier les paramètres de ta machine virtuelle cliente; tu te rends dans la rubrique Réseau.
Tu constates que la première carte réseau de ta machine virtuelle clients est activée et son mode d'accès réseau est NAT. D'après ce que tu me dis, tu as besoin que cette machine virtuelle accède au même réseau isolé que ton serveur DHCP virtuel; cette configuration n'est donc pas bonne. Tu procèdes donc de la même façon que pour ta précédente machine virtuelle:
tu modifies le mode d'accès réseau de la carte réseau pour qu'il devienne Réseau Interne;
la liste Nom s'active, te permettant de sélectionner sur quel réseau interne la carte doit être raccordée. Déroule la liste: parmi les réseaux internes existants, tu vas retrouver ReseauInterne, le même réseau interne que ton serveur DHCP virtuel! Sélectionne donc ce même réseau interne.
Appuie sur OK, la configuration des cartes réseau est terminée pour ta machine virtuelle cliente.
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#8 Le 17/03/2012, à 23:17
- hitachi
Re : [Résolu] Machines virtuelles - DNS & DHCP - Config machine cliente
AlexandreP; ton post peut faire l'objet d'un tuto complet !
Trés explicite et j'y suis parvenu avec ton aide. Le DHCP tourne, de même que le DNS.
Au niveau de la machine cliente aussi tout est nickel, j'ai le bon nom de domaine au niveau de resolv.conf et j'ai même tésté avec plusieurs clients.
Merci pour toute la disponibilité ! Maintenant je peux marquer le problème comme résolu
Hors ligne