Moi et un petit groupe de développeurs viennent de déménager dans un nouveau bureau et je voudrais configurer DNSMASQ sur notre serveur de développement, alors lorsque nous déployons des applications Web, nous n'avons pas à modifier nos propres fichiers hôtes. Nous avons un routeur au 192.168.3.1 que nous n'avons pas accès à. Je pensais installerais un serveur DNS dans la zone de développement et nous enregistrons tous la propriété intellectuelle comme serveur DNS secondaire. Malheureusement, je me lève pour faire ce travail.
Le nom du serveur Devel est Devbox, c'est IP IP est 192.168.3.99, et il exécute le dernier serveur Ubuntu (Karmic).
Mon ordinateur exécute Ubuntu Desktop (Karmic)
Disons que j'ai trois sites Web, site Web1, site Web2, site Web3, en cours d'exécution sur la boîte de développement. J'aimerais y accéder par les URL:
http://website1.devbox
http://website2.devbox
http://website3.devbox
J'ai donc configuré Apache sur la boîte de développement, installé Dnsmasq et mettez les lignes suivantes dans son fichier d'hôtes:
192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox
et édité mon propre fichier resolv.conf pour inclure la boîte de développement en tant que nom de nomage:
nameserver 192.168.3.99
Cela fonctionne bien, je peux accéder aux sites. Le problème est que cela ne va pas bien. J'aimerais que tous les domaines se terminent par .Devbox transmis à la boîte de développement, et c'est ce que je me débats.
J'ai essayé de mettre
192.168.3.99 devbox
dans le fichier d'hosts et modifier la ligne dans dnsmasq.conf:
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/
Mais je ne peux pas le faire fonctionner. Si j'essaie une URL qui n'est pas explicitement présente dans le fichier d'hôtes de la boîte de développement, la recherche DNS échoue.
La directive locale est-elle pour autre chose? Est-ce que je regarde le mauvais endroit?
Reportez-vous à la Documentation DNSMASQ , surtout le DNSMASQ Manpage et exemple de fichier de configuration . Le mot clé local indique à Dnsmasq d'effectuer ces recherches de domaine avec les données locales. Cela affecte les demandes d'envoi à Dnsmasq pour foo.localnet et bar.localnet, par exemple. Je ne pense pas que c'est ce que tu veux.
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/
Pour forcer les recherches d'hôte/sous-domainement pour résoudre une adresse spécifique, vous voudrez probablement utiliser le mot-clé adresse. Le deuxième exemple ci-dessous devrait permettre web1.devbox et web2.devox et web73872.debox Pour toutes vous résoudre à l'adresse spécifiée.
# Add domains which you want to force to an IP address here.
# The example below send any Host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1
# for your example
address=/devbox/192.168.3.99
J'utilise dnsmasq à la maison pour gérer des trucs DNS simples pour mon réseau local; Dans ce cas, local et le [domaine] associé domaine et hosts expand-hosts sont appropriés. Le serveur DNSMASQ est mon serveur de noms principaux, de sorte que toutes les demandes y passent; Toutes les adresses non locales sont transmises auprès du serveur de noms du fournisseur de services Internet. Vous pourriez considérer cette configuration si possible.