Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
tutoriel:internet:dnsmasq:networkmanager:start1 [2020/11/01 08:02] – créée admin | tutoriel:internet:dnsmasq:systemd:start1 [2021/02/28 18:16] – admin |
---|
{{tag>tutoriel}} | {{tag>tutoriel}} |
| |
====== How to avoid conflicts between dnsmasq and systemd-resolved? ====== | ====== Comment éviter les conflits entre dnsmasq et systemd-resolved ? ====== |
| |
====== Pré-requis ====== | **Le problème** : si on installe dnsmasq comme serveur DNS pour un réseau local, dnsmasq écoute sur le port 53 qui est déjà utilisé par systemd-resolved. |
| |
====== Première étape ====== | Arrêter simplement systemd-resolved puis le redémarrer après l'exécution de dnsmasq, résout ce problème mais il revient après un redémarrage : systemd-resolved est démarré d'abord et dnsmasq ne démarre pas car le port 53 est déjà utilisé. |
| |
====== Autres étapes ====== | Comment faire comprendre à systemd-resolved qu'il ne doit pas démarrer l'écoute et donc conserver le port 53 pour une utilisation par dnsmasq ? |
| |
====== Conclusion ====== | Il est plus intéressant de savoir comment les deux services peuvent fonctionner ensemble. Peuvent-ils travailler côte à côte ou ne sont-ils résolus que par systemd si l'on utilise dnsmasq ? |
| |
====== Problèmes connus ====== | Voici la solution pour (X)Ubuntu 18.04 Bionic. |
| |
====== Voir aussi ====== | ===== Pré-requis ===== |
| |
| ===== Première étape ===== |
| |
| * Installez le paquet **[[apt>dnsmasq]]** ou en ligne de commande :<cli prompt='$ '>...@...:~$ sudo apt install dnsmasq</cli> |
| |
| ===== Autres étapes ===== |
| |
| - **Désactivez l'écoute sur le port 53** pour systemd-resolved (ne touchez pas à /etc/systemd/resolved.conf, car il peut être écrasé lors de la mise à niveau). Pour cela, |
| * créez le répertoire <cli prompt='$ '>...@...:~$ sudo mkdir /etc/systemd/resolved.conf.d</cli> |
| * créez avec les droits d'administration le fichier **/etc/systemd/resolved.conf.d/noresolved.conf** :<code txt /etc/systemd/resolved.conf.d/noresolved.conf> |
| [Resolve] |
| DNSStubListener=no</code> |
| - **Redémarrez systemd-resolved** :<cli prompt='$ '>...@...:~$ sudo systemctl restart systemd-resolved.service</cli> |
| - **Supprimez et recréez /etc/resolv.conf** ((C'est important, car resolv.conf est par défaut un lien symbolique vers /run/systemd/resolve/stub-resolv.conf. Si vous ne supprimez pas le lien symbolique, le fichier sera écrasé par systemd au redémarrage. NetworkManager (NM) vérifie également s'il s'agit d'un lien symbolique pour détecter la configuration de systemd-resolved.)) :<cli prompt='$ '>...@...:~$ sudo rm /etc/resolv.conf |
| ...@...:~$ sudo touch /etc/resolv.conf</cli> |
| - Pour **désactiver l'écrasement de /etc/resolv.conf par NM**, éditez avec les droits d'administration le fichier **/etc/NetworkManager/conf.d/disableresolv.conf** :<code txt /etc/NetworkManager/conf.d/disableresolv.conf> |
| [main] |
| dns=none</code> |
| - **Redémarrez NetworkManager** :<cli prompt='$ '>...@...:~$ sudo systemctl restart NetworkManager.service</cli> |
| - **Pour que dnsmasq utilise resolv.conf de NM**, éditez avec les droits d'administration le fichier **/etc/dnsmasq.d/nmresolv.conf** :<code txt /etc/dnsmasq.d/nmresolv.conf> |
| resolv-file=/var/run/NetworkManager/resolv.conf</code> |
| - Créez avec les droits d'administration le fichier **/etc/dnsmasq.d/mondns.conf** pour y écrire vos réglages dnsmasq, par exemple :<code txt /etc/dnsmasq.d/mondomaine.conf> |
| address=/pc1.mondomaine/192.168.0.1 |
| address=/framboise.mondomaine/192.168.0.31 |
| address=/framboise4.mondomaine/192.168.0.32</code> |
| - **redémarrez dnsmasq** :<cli prompt='$ '>...@...:~$ sudo systemctl restart dnsmasq</cli> |
| - Pour **utiliser dnsmasq pour la résolution**, éditez avec les droits d'administration le fichier **/etc/resolv.conf** :<code txt /etc/resolv.conf> |
| # Use local dnsmasq for resolving |
| nameserver 127.0.0.1</code> |
| |
| ===== Conclusion ===== |
| |
| ===== Problèmes connus ===== |
| |
| ===== Voir aussi ===== |
| |
* **(en)** [[https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved]] | * **(en)** [[https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved]] |