Aux fins du développement, je souhaite que toutes les demandes DNS adressées au .dev TLD soient transférées sur mon propre PC.
Le fichier hosts ne suffit pas. J'utilise plusieurs domaines et plusieurs sous-domaines. Je devrais ajouter une ligne pour chaque combinaison.
J'ai lu qu'un redirecteur DNS tel que DNSmasq peut être utilisé pour faire le travail (par exemple comme décrit ici ). De plus, ce logiciel est déjà installé sur Ubuntu 12.10.
Le problème est que je ne vois pas comment et où je devrais configurer DNSmasq, c’est-à-dire où je devrais mettre cette ligne:
address=/dev/127.0.0.1
Le serveur complet autonome dnsmasq (DHCP et DNS) n'est pas installé par défaut dans Ubuntu 12.04 et 12.10, mais un paquetage appelé dnsmasq-base est installé par défaut dans Ubuntu Desktop 12.04 et 12.10. Le package dnsmasq-base contient le binaire dnsmasq et est utilisé par NetworkManager.
Pour faire ce que vous voulez, vous devrez utiliser Dnsmasq en tant que serveur DNS en cache. Tu dois:
Créez /etc/dnsmasq.d/dev-tld
avec le contenu suivant:
local=/dev/
address=/dev/127.0.0.5
La première commande indique que les demandes *.dev
ne peuvent pas être transmises à votre vrai serveur DNS. Le second dit *.dev
est résolu en 127.0.0.5
qui est localhost.
Dans Ubuntu 12.10 ou une version ultérieure, vous pouvez le faire avec Dnsmasq exécuté par NetworkManager.
Créez le répertoire mkdir /etc/NetworkManager/dnsmasq.d
s'il n'existe pas déjà.
Sudo mkdir /etc/NetworkManager/dnsmasq.d
Mélangez la ligne suivante dans /etc/NetworkManager/dnsmasq.d/dev-tld
.
address=/dev/127.0.0.1
(Ubuntu 12.10) Redémarrez NetworkManager.
Sudo service network-manager restart
(Ubuntu> 13.04) Redémarrez Dnsmasq.
Sudo service dnsmasq restart
Profitez de la génialité.
Ce qui suit a fonctionné pour moi dans Ubuntu 16.04:
Installez dnsmasq
Sudo apt-get -y install dnsmasq
Editez le fichier dnsmasq.conf
:
Sudo nano /etc/dnsmasq.conf
Ajoutez votre commande:
address=/dev/127.0.0.1
Pour les caractères génériques (*), vous pouvez utiliser point (.) Puis dnsmasq pour résoudre WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
sur la même adresse IP. Par exemple, address=/.localhost.dev/127.0.0.1
Redémarrez le service Dnsmasq:
Sudo /etc/init.d/dnsmasq restart