• ajouter des adresses du style machine.local

      Localement

      sudo vi /etc/hosts
      192.168.1.1  toto.local

      Serveur DNS local (pour tout un réseau avec dnsmasq)

      sudo apt install dnsmasq

       

      Éditez la configuration :

      sudo vi /etc/dnsmasq.conf
      address=/toto.local/192.168.1.1

       

      Redémarrez dnsmasq :

      sudo systemctl restart dnsmasq

       

      Configurez les autres machines pour utiliser votre serveur DNS (l’adresse IP de la machine où dnsmasq est installé).

       

      Faire cohabiter dnsmasq et 1.1.1.1

      sudo vi /etc/dnsmasq.conf
      # Désactive le DNS provenant du DHCP (évite les conflits)
      no-resolv
      # Utilise 1.1.1.1 comme serveur DNS en aval
      server=1.1.1.1
      server=9.9.9.9
      # Gère les noms locaux (ex: toto.local)
      address=/toto.local/192.168.1.1
      local=/local/  # Pour le domaine .local

       

      3. Redémarrer dnsmasq :

      sudo systemctl restart dnsmasq

       

      4. Configurer votre système pour utiliser dnsmasq comme DNS principal

       

      Méthode 1 (recommandée) : Faire de 127.0.0.1 (localhost) votre serveur DNS.

      Éditez /etc/resolv.conf (attention, il peut être écrasé par NetworkManager/DHCP) :

      sudo vi /etc/resolv.conf
      nameserver 127.0.0.1

      Pour éviter que le fichier soit écrasé :

      sudo chattr +i /etc/resolv.conf  # Rend le fichier immuable (à désactiver si besoin)

       

      Méthode 2 (si vous utilisez systemd-resolved) :

      sudo systemctl disable systemd-resolved --now  # Désactive systemd-resolved
      sudo rm /etc/resolv.conf  # Supprime le lien symbolique
      sudo echo "nameserver 127.0.0.1" > /etc/resolv.conf  # Configure localhost

      Vérification

      Testez la résolution locale : dig toto.local→ Doit renvoyer 192.168.1.1.

      Testez la résolution publique : dig google.com→ Doit passer par 1.1.1.1.

      Vérifiez les logs de dnsmasq : sudo tail -f /var/log/syslog | grep dnsmasq

       

      Cas particuliers (NetworkManager) : Configurez NetworkManager pour utiliser 1.1.1.1 comme DNS par défaut.
      Ajoutez les règles locales dans

      /etc/NetworkManager/dnsmasq.d/custom.conf

       

      Alternative : Utiliser systemd-resolved avec dnsmasq

      Si vous préférez ne pas désactiver systemd-resolved, vous pouvez le configurer pour qu’il utilise dnsmasq :
      sudo mkdir -p /etc/systemd/resolved.conf.d/
      sudo vi /etc/systemd/resolved.conf.d/dnsmasq.conf

      Ajouter :

      [Resolve]
      DNS=127.0.0.1
      Domains=~local  # Pour les noms en .local

      Puis redémarrez :

      sudo systemctl restart systemd-resolved

      NOTE : Si erreurs, voir les logs (journalctl -u dnsmasq)

 

Aucun commentaire

 

Laissez un commentaire