Tous les sous-domaines vers une IP dans le fichier d'hôtes?

8

J'ai une machine virtuelle VirtualBox exécutée avec un réseau uniquement hôte. Cette machine virtuelle exécute Apache, et je souhaite y configurer un groupe d'hôtes virtuels basés sur le nom, accessibles à partir du navigateur Web sur la machine hôte.

Le fait est que chaque fois que j'ajoute un nouveau sous-domaine pour un hôte virtuel, je dois l'ajouter au fichier hosts. En ce moment, j'ai quelque chose comme ça:

192.168.56.3 vm site1.vm site2.vm site3.vm site4.vm ...

Je veux obtenir le même effet que celui-ci

192.168.56.3 vm *.vm

Je sais que * ne fonctionne pas en tant que caractère générique dans un fichier hosts. Existe-t-il un autre moyen d'obtenir le résultat souhaité avant d'exécuter un serveur DNS réel? Dois-je simplement le sucer et continuer à ajouter manuellement à mon fichier d'hôtes?

Apreche
la source

Réponses:

8

Il n'y a aucun moyen générique de le faire - vous devez soit implémenter un serveur DNS, soit continuer d'ajouter des entrées à votre fichier d'hôtes.

Si vous allez avec l' installation d' un serveur DNS, vous n'avez pas besoin d'installer bind- vous pouvez installer un simple serveur de cache DNS comme totd, dnsmasqou maradns.

Indépendamment de ce que vous faites, vous devrez vous assurer qu'il resolv.confcontient le nouveau serveur DNS, et l'entrée suivante doit y apparaître (dans cet exemple, le serveur DNS est installé sur localhost) ...

nameserver 127.0.0.1
Xerxès
la source
C'est quelque chose d'intéressant. À l'heure actuelle, cela semble être la bonne réponse, je vais donc la marquer comme telle. Cependant, cela ne résout pas réellement mon problème, peut-être parce qu'il n'est pas résolu. Juste quelque chose à penser.
Apreche
Une autre note. J'ai pu utiliser dnsmasq pour que cela fonctionne. Cependant, sur Ubuntu, j'ai dû modifier la configuration du client DHCP de la machine hôte pour ajouter 127.0.0.1 au résolv.conf.
Apreche
Oui - resolv.conf est le seul moyen de définir des serveurs DNS, je vais l'ajouter au message pour être complet.
Xerxes
2

Vous pouvez l'utiliser dnsmasqpour cela, ajoutez simplement le fichier de configuration:

adresse = /. vm / 192.168.56.3
drybjed
la source
0

C'est une question intéressante. Le fichier hôte lui-même ne prend pas en charge les caractères génériques, comme vous l'avez mentionné. Il serait assez facile de configurer bind sur la machine apache et de faire en sorte que ce soit le serveur DNS auth et pointer * .vm correctement, mais c'est une solution de contournement (même si c'est la solution "correcte").

Il doit y avoir un moyen de tromper nscd, mais je ne l'ai pas encore compris. Donnez-moi plus de temps et je mettrai à jour cette réponse

Éditer

D'accord, votre meilleur pari, sans recourir à la simple tâche de remplir votre fichier hôte avec un nombre immense d'hôtes virtuels, ou la tâche légèrement plus complexe de configurer la liaison à l'authentification pour ce domaine, est d'utiliser cette vulnérabilité pour empoisonner le cache nscd : http://linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html

Du moins, c'est aussi loin que je vais aller aujourd'hui. Peut-être que si je m'ennuie plus tard, je vérifierai la source de nscd et découvrirai comment injecter directement les informations.

Matt Simmons
la source
4
Je ne recommanderais pas sérieusement d'exploiter une vulnérabilité afin d'atteindre un objectif. Je veux dire, que faire si vous en dépendez et que la vulnérabilité est ... er corrigée? ... parmi 100 autres choses que je peux voir, c'est tout simplement faux. Mais à part ça - ça a l'air amusant de jouer avec pour les coups :).
Xerxès
2
hehe "... ma fonctionnalité préférée dans le logiciel a été corrigée dans la dernière révision ..." ;-)
Matt Simmons