Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
configuration_serveur_dns_pour_son_poste_de_travail [Le 24/08/2021, 15:05] – Installation de dnsmasq sefranconfiguration_serveur_dns_pour_son_poste_de_travail [Le 10/05/2023, 11:47] (Version actuelle) – Ajout fin de ligne sefran
Ligne 67: Ligne 67:
 Éditer /etc/dhcp/dhclient.conf Éditer /etc/dhcp/dhclient.conf
 <file> <file>
-prepend domaine-perso.fr 10.10.10.1 fd00::+prepend domaine-perso.fr 10.10.10.1 fd00::;
 </file> </file>
  
Ligne 89: Ligne 89:
 </code> </code>
  
-===== Configuration de Dnsmasq =====+===== Configuration serveur DNS de Dnsmasq ===== 
 +Éditer /etc/dnsmasq.conf 
 +<file> 
 +# Ne transmet pas les requêtes ne contenant pas un nom de domaine complet 
 +domain-needed 
 +# "no such domain" pour des adresses IP privées non référencées dans dnsmasq 
 +bogus-priv 
 +# Corrige du spam DNS Microsoft 
 +filterwin2k 
 +# Formate les requêtes DNS suivant l’interface réseau utilisée 
 +localise-queries 
 + 
 +# Domaine dns local 
 +local = /domaine-perso.fr/ 
 +# Interfaces DNS 
 +interface = virtualeth0 
 +exept-interface = lo 
 +exept-interface = enp0sxx 
 +exept-interface = wlx803xxxxx 
 +exept-interface = wlox 
 +# Adresses écoutées 
 +listen-address = 127.0.0.1 
 +listen-address = 10.10.10.1 
 +listen-address = fd00:: 
 +# Toutes les interfaces réseau sont en mode serveur DNS c’est ce qui permet de démarrer le serveur DNS 
 +bind-interfaces 
 +# Ajoute le nom de domaine DNS aux entrées /etc/hosts 
 +expand-hosts 
 +# Non de domaine pour extensions "expand-hosts" 
 +domain=domaine-perso.fr 
 +# Taille du cache DNS 
 +cache-size = 1000 
 +# Désactive le "cache négatif" sur réponses "no such domain" 
 +no-negcache 
 +</file> 
 + 
 +Ajout du server DNS local à la liste des serveurs DNS de systemd-resolved. 
 +Éditer /etc/systemd/resolved.conf 
 +<file> 
 +DNS=10.10.10.1 fd00:: 
 +</file> 
 + 
 +===== Relance de Dnsmasq ===== 
 +<code bash> 
 +$ systemctl restart dnsmasq.service 
 +$ systemctl enable dnsmasq.service 
 +$ systemctl restart systemd-resolved.service 
 +$ nmcli general reload 
 +</code> 
 + 
 +===== Ouvrir avec le pare feu les ports DNS pour les rendre accessibles depuis le réseau lan ===== 
 +Ouvrir le port DNS sur l'interface d'ip xxx.xxx.xxx.xxx avec UFW. Si UFW est activé, ouvrez le port DNS 53, UDP. 
 +<code bash> 
 +$ sudo ufw allow from xxx.xxx.0.0/16 to any port 53 proto udp 
 +</code> 
 + 
 +===== Tests du serveur DNS ===== 
 +Vérifier que le port 53 est utilisé par Dnsmasq 
 +<code bash> 
 +$ sudo lsof -i:53 
 +COMMAND     PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME 
 +systemd-r 53916 systemd-resolve   12u  IPv4  99537      0t0  UDP localhost:domain 
 +systemd-r 53916 systemd-resolve   13u  IPv4  99538      0t0  TCP localhost:domain (LISTEN) 
 +dnsmasq   53732         dnsmasq    4u  IPv4  95141      0t0  UDP MachineUbuntu:domain 
 +dnsmasq   53732         dnsmasq    5u  IPv4  95142      0t0  TCP MachineUbuntu:domain (LISTEN) 
 +dnsmasq   53732         dnsmasq    6u  IPv4  95151      0t0  UDP localhost:domain 
 +dnsmasq   53732         dnsmasq    7u  IPv4  95152      0t0  TCP localhost:domain (LISTEN) 
 +dnsmasq   53732         dnsmasq    8u  IPv6  95153      0t0  UDP MachineUbuntu:domain 
 +dnsmasq   53732         dnsmasq    9u  IPv6  95154      0t0  TCP MachineUbuntu:domain (LISTEN) 
 +dnsmasq   53732         dnsmasq   10u  IPv6  95155      0t0  UDP MachineUbuntu:domain 
 +dnsmasq   53732         dnsmasq   11u  IPv6  95156      0t0  TCP MachineUbuntu:domain (LISTEN) 
 +</code> 
 + 
 +Vérifier que Dnsmasq écoute les requettes DNS sur les bonnes interfaces 
 +<code bash> 
 +$ sudo netstat -alnp | grep -i :53 
 +tcp        0      0 127.0.0.53:53           0.0.0.0:              LISTEN      53916/systemd-resol 
 +tcp        0      0 127.0.0.1:53            0.0.0.0:              LISTEN      53732/dnsmasq 
 +tcp        0      0 10.10.10.1:53           0.0.0.0:              LISTEN      53732/dnsmasq 
 +tcp6            0 fd00:::53               :::                   LISTEN      53732/dnsmasq 
 +tcp6            0 fe80::b817:faff:fe21:53 :::*                    LISTEN      53732/dnsmasq 
 +udp        0      0 127.0.0.53:53           0.0.0.0:                          53916/systemd-resol 
 +udp        0      0 127.0.0.1:53            0.0.0.0:                          53732/dnsmasq 
 +udp        0      0 10.10.10.1:53           0.0.0.0:                          53732/dnsmasq 
 +udp        0      0 0.0.0.0:5353            0.0.0.0:                          772/avahi-daemon:
 +udp6            0 fd00:::53               :::                               53732/dnsmasq 
 +udp6            0 fe80::b817:faff:fe21:53 :::*                                53732/dnsmasq 
 +udp6            0 :::5353                 :::                               772/avahi-daemon:
 +</code> 
 + 
 +Vérifier que le poste de travail écoute les résolution DNS de Dnsmasq 
 +<code bash> 
 +$ resolvectl dns 
 +Global: 10.10.10.1 fd00:: 
 +Link 2 (enp0sxx): yyyy:yyyy:yyyy::yyyy yyy.yyy.yyy.yyy 
 +Link 3 (virtualeth0): 
 +Link 4 (wlx803xxxxx): yyyy:yyyy:yyyy::yyyy yyyy:yyyy:yyyy::yyyy yyyy:yyyy:yyyy::yyyy yyy.yyy.yyy.yyy 
 +Link 5 (wlox): yyy.yyy.yyy.yyy 
 +</code> 
 + 
 +Vérifier la résolution DNS 
 +<code bash> 
 +$ dig MachineUbuntu +noall +answer 
 +MachineUbuntu.                  0       IN      A       127.0.1.1 
 +</code> 
 + 
 +<code bash> 
 +$ dig MachineUbuntu.domaine-perso.fr +noall +answer 
 +MachineUbuntu.domaine-perso.fr. 0       IN      A       127.0.1.1 
 +</code> 
 + 
 +<code bash> 
 +$ dig bidon.domaine-perso.fr +noall +answer 
 + 
 +</code> 
 + 
 +<code bash> 
 +$ dig bidon +noall +answer 
 + 
 +</code> 
 + 
 +Éditer /etc/hosts pour définir les alias DNS 
 +<file> 
 +127.0.0.1 localhost 
 +127.0.1.1 MachineUbuntu 
 +… 
 +# Alias DNS 
 +10.10.10.5 courriel 
 +10.10.10.10 serveur 
 +10.10.10.20 documentation 
 +</file> 
 + 
 +Vérifier la résolution DNS ([[configuration_serveur_dns_pour_son_poste_de_travail#relance_de_dnsmasq|relancer Dnsmasq si nécessaire]]) 
 +<code bash> 
 +$ dig courriel.domaine-perso.fr +noall +answer 
 +courriel.domaine-perso.fr. 0     IN         10.10.10.5 
 +</code> 
 + 
 +<code bash> 
 +$ dig courriel +noall +answer 
 +courriel.                  0     IN         10.10.10.5 
 +</code> 
 + 
 +<code bash> 
 +$ dig serveur.domaine-perso.fr +noall +answer 
 +serveur.domaine-perso.fr. 0     IN         10.10.10.10 
 +</code> 
 + 
 +<code bash> 
 +$ dig serveur +noall +answer 
 +serveur.                  0     IN         10.10.10.10 
 +</code> 
 + 
 +<code bash> 
 +$ dig documentation.domaine-perso.fr +noall +answer 
 +documentation.domaine-perso.fr. 0     IN         10.10.10.20 
 +</code> 
 + 
 +<code bash> 
 +$ dig documentation +noall +answer 
 +documentation.                  0     IN         10.10.10.20 
 +</code> 
 + 
 +<code bash> 
 +$ dig bidon.domaine-perso.fr +noall +answer 
 + 
 +</code> 
 + 
 +<code bash> 
 +$ dig bidon +noall +answer 
 + 
 +</code> 
 + 
 +Résolution DNS externe : 
 +<code bash> 
 +$ dig google.com +noall +answer 
 +google.com.              16    IN         216.58.223.110 
 +</code>