À des fins de développement, je souhaite que toutes les demandes DNS vers le TLD .dev soient transmises à mon propre PC.
Le fichier hosts ne suffit pas. J'utilise plusieurs domaines et également plusieurs sous-domaines. Je devrais ajouter une ligne pour chaque combinaison.
J'ai lu qu'un redirecteur DNS comme 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 dois configurer DNSmasq, c'est-à-dire où je dois mettre cette ligne:
address=/dev/127.0.0.1
.dev
tel que Google l'a pris. Je cherche toujours à quoi ils vont l'utiliser et s'ils prévoient que des personnes ordinaires s'y connectent ou uniquement des employés, mais vous ne voudrez peut-être pas rediriger tous les accès au cas où ce serait le premier, à moins qu'il ne s'agisse simplement d'une boîte de test qui ne se connectera jamais à des hôtes externes.Réponses:
Le dnsmasq autonome complet (serveur DHCP et DNS) n'est pas installé par défaut dans Ubuntu 12.04 et 12.10, mais un package 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 comme serveur DNS de mise en cache. Tu dois:
Créez
/etc/dnsmasq.d/dev-tld
avec ces contenus:La première commande indique que les
*.dev
demandes ne peuvent pas être transmises à votre véritable serveur DNS. Le second dit se*.dev
résout à127.0.0.5
qui est localhost.la source
Dans Ubuntu 12.10 ou 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à.Mélanger la ligne suivante dans
/etc/NetworkManager/dnsmasq.d/dev-tld
.(Ubuntu 12.10) Redémarrez NetworkManager.
(Ubuntu> 13.04) Redémarrez Dnsmasq.
Profitez de la génialité.
la source
Les éléments suivants ont fonctionné pour moi dans Ubuntu 16.04:
Installer
dnsmasq
Modifier le
dnsmasq.conf
fichier:Ajoutez votre commande:
Pour le caractère générique (*), vous pouvez utiliser le point (.) Puis le dnsmasq pour résoudre
WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
le même IP. Par exemple,address=/.localhost.dev/127.0.0.1
Redémarrez le service dnsmasq:
la source
Je viens d'installer un nouveau 19.04 et la seule façon de le faire fonctionner était de le désactiver
systemd-resolved
et de l'NetworkManager
utiliser à ladnsmasq
place pour DNS.NetworkManager
a intégré la prise en chargednsmasq
et lednsmasq-base
package est installé par défaut.Je signale plusieurs domaines à différentes machines virtuelles comme
*.customerX.test
à192.168.33.10
et*.productY.test
à192.168.33.20
et ainsi de suite. Je n'utiliserais*.dev
plus mais plutôt l'un des domaines de premier niveau réservés .Solution
Désactiver
systemd-resolved
Modifier
/etc/NetworkManager/NetworkManager.conf
à utiliserdnsmasq
pour DNS.Mettez la
dnsmasq
configuration dans/etc/NetworkManager/dnsmasq.d/test-tld.conf
et enfin redémarrer
NetworkManager
ce qui va générer un nouveau/etc/resolv.conf
la source