web-dev-qa-db-fra.com

Comment configurer la résolution de domaine générique local (127.0.0.1) le 18.04?

Sur Ubuntu 14.04, j'utilise dnsmasq pour résoudre les domaines wildcard example.com sur la machine locale (ordinateur de bureau à domicile).

Après beaucoup de lectures, je ne peux plus me débrouiller comme avant sur une installation vierge du 18.04.

Tout ce que je veux réaliser pour le moment, c'est:

  • pour ping example.com to ping 127.0.0.1 et non 93.184.216.34;
  • pour ping anysubdomain.example.com faire aussi un ping sur 127.0.0.1;
  • et pour ping google.com envoyer une requête ping à la vraie page google.com via le routeur/IP DNS.

Cela doit sûrement être simple, même trivial?

Mais je suis perplexe. Je peux obtenir l'exemple de l'exemple.com, mais seulement au prix de tout casser.

Comment puis-je faire ceci?

16
Nick Rice

Voici les étapes pour Ubuntu 18.04. C'est un peu long car systemd-resolved ne fonctionne pas très bien avec NetworkManager lorsqu'il est configuré avec dnsmasq.

Cependant, je recommande quand même de démarrer dnsmasq à partir de NetworkManager, car les modifications de la connectivité réseau (WIFI, filaire, ...) seront gérées de manière transparente.

Activer Dnsmasq dans NetworkManager

Editez le fichier /etc/NetworkManager/NetworkManager.conf et ajoutez la ligne dns=dnsmasq à la section [main]. Elle se présentera ainsi:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

[device]
wifi.scan-Rand-mac-address=no

Laisse NetworkManager gérer /etc/resolv.conf

Sudo rm /etc/resolv.conf ; Sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf

Configurez example.com

echo 'address=/.example.com/127.0.0.1' | Sudo tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf

Recharger NetworkManager et tester

NetworkManager doit être rechargé pour que les modifications prennent effet.

Sudo systemctl reload NetworkManager

Ensuite, nous pouvons vérifier que nous pouvons atteindre un site habituel:

Dig askubuntu.com +short
151.101.129.69
151.101.65.69
151.101.1.69
151.101.193.69

Et enfin, vérifiez que le example.com et les sous-domaines sont résolus en tant que 127.0.0.1:

Dig example.com askubuntu.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1
20
pim

Assurez-vous d'abord dans /etc/NetworkManager/NetworkManager.conf que la ligne suivante est not présente ou commentée:

dns=dnsmasq

Redémarrez NetworkManager:

Sudo systemctl restart NetworkManager

Assurez-vous que le Dnsmasq contrôlé par NetworkManager n'est plus en cours d'exécution, que ce soit en tuant le processus ou en redémarrant votre système.

Puis installez dnsmasq:

Sudo apt install dnsmasq

Ajoutez les éléments suivants à /etc/dnsmasq.d/example.com:

address=/example.com/127.0.0.1

Redémarrez Dnsmasq:

Sudo systemctl restart dnsmasq

Maintenant, vous devriez avoir une substitution DNS générique pour example.com.

2
Sebastian Stark

Ce ne sera pas aussi simple que d’éditer le fichier hosts. Vous avez plusieurs options:

Ce python proxy DNS qui gérera les caractères génériques dans/etc/hosts

tilisation de DNSmasq

0
Harikrishnan R