Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

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

Lien vers cette vue comparative

logiciel:internet:dnsmasq:start [2021/02/27 11:51] adminlogiciel:internet:dnsmasq:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1
Ligne 29: Ligne 29:
  
 ===== Installation ===== ===== Installation =====
- +  ??? Cohabitation avec systemd : 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.
-??? Cohabitation avec systemd : 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.+
 !!! Nous présentons ici la méthode pour faire fonctionner les deux services ensemble. !!! Nous présentons ici la méthode pour faire fonctionner les deux services ensemble.
  
Ligne 42: Ligne 41:
 Voir : Voir :
   * [[logiciel:internet:dnsmasq:config:start]]   * [[logiciel:internet:dnsmasq:config:start]]
-  * [[logiciel:internet:dnsmasq:dnsmasq.conf]]+  * [[logiciel:internet:dnsmasq:config:start3]]
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Ligne 81: Ligne 80:
 ==== Fichier /etc/dnsmasq.d/*.conf (pour ne pas toucher à /etc/dnsmasq.conf) ==== ==== Fichier /etc/dnsmasq.d/*.conf (pour ne pas toucher à /etc/dnsmasq.conf) ====
  
-  user et group+  user et group
   : utilisateur et groupe sous lequel dnsmasq sera lancé   : utilisateur et groupe sous lequel dnsmasq sera lancé
-  addn-hosts+  addn-hosts
   : fichier de configuration différent que /etc/hosts pour la résolution des noms   : fichier de configuration différent que /etc/hosts pour la résolution des noms
-  log-queries+  log-queries
   : Journaliser les requêtes DNS (dans /var/log/messages par défaut), utile pour du debug   : Journaliser les requêtes DNS (dans /var/log/messages par défaut), utile pour du debug
 <WRAP center round help 60%> <WRAP center round help 60%>
-  domain-needed+  domain-needed
   : Ignore les requêtes sans nom de domaine complet.   : Ignore les requêtes sans nom de domaine complet.
   : Par exemple, <<machine>> ne sera pas transmis aux serveurs DNS de votre FAI,   : Par exemple, <<machine>> ne sera pas transmis aux serveurs DNS de votre FAI,
   : alors que <<machine.domain.com>> le sera.   : alors que <<machine.domain.com>> le sera.
-  bogus-priv+  bogus-priv
   : Pas de résolution inverse pour les réseaux privés.   : Pas de résolution inverse pour les réseaux privés.
   : Les requêtes pour des adresses IP privées (ie 192.168.x.x, etc…) qui ne sont pas traitées par /etc/hosts ou le fichier de baux DHCP   : Les requêtes pour des adresses IP privées (ie 192.168.x.x, etc…) qui ne sont pas traitées par /etc/hosts ou le fichier de baux DHCP
   : retournent <<no such domain>> au lieu d’être transmises aux serveurs amont.   : retournent <<no such domain>> au lieu d’être transmises aux serveurs amont.
-  filterwin2k+  filterwin2k
   : requêtes bloquées sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de type ANY avec des noms possédant des caractères souslignés (requêtes pour des serveurs LDAP).   : requêtes bloquées sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de type ANY avec des noms possédant des caractères souslignés (requêtes pour des serveurs LDAP).
-  domain=maison.lan+  domain=maison.lan
   : Domaine ajouté aux noms sans domaine pour expand-hosts.   : Domaine ajouté aux noms sans domaine pour expand-hosts.
   : Attribue également un domaine aux clients DHCP.   : Attribue également un domaine aux clients DHCP.
-  expand-hosts+  expand-hosts
   : Ajoute le nom de domaine ci-dessus aux noms simples (ne contenant pas de point dans le nom)   : Ajoute le nom de domaine ci-dessus aux noms simples (ne contenant pas de point dans le nom)
   : contenus dans le fichier /etc/hosts, de la même façon que pour le service DHCP.   : contenus dans le fichier /etc/hosts, de la même façon que pour le service DHCP.
Ligne 197: Ligne 196:
 La freebox-server est en effet configurée en IP statique sur la freebox (192.168.0.254). Elle ne lance pas de requête DHCP -> dnsmasq ne reçoit donc pas de requête DHCP de la part de la freebox. La freebox-server est en effet configurée en IP statique sur la freebox (192.168.0.254). Elle ne lance pas de requête DHCP -> dnsmasq ne reçoit donc pas de requête DHCP de la part de la freebox.
  
-De même pour le RPI qui héberge le serveur dnsmasq et est configuré en IP statique (bail statique dans la box ou fichier /etc/network/interfaces).+De même pour le Raspberry Pi qui héberge le serveur dnsmasq et est configuré en IP statique (bail statique dans la box ou fichier /etc/network/interfaces).
  
 Mais en mettant ces adresses dans /etc/hosts, dnsmasq est configuré par défaut pour les lire. Mais en mettant ces adresses dans /etc/hosts, dnsmasq est configuré par défaut pour les lire.
Ligne 281: Ligne 280:
 Cf la page officielle de man en français : [[http://www.linuxcertif.com/man/8/dnsmasq/]] Cf la page officielle de man en français : [[http://www.linuxcertif.com/man/8/dnsmasq/]]
  
-recopiée ici : [[logiciel:internet:dnsmasq:dnsmasq_conf]]+recopiée ici : [[logiciel:internet:dnsmasq:config:start4]]
  
 Les directives de configuration seront écrites dans un fichier **/etc/dnsmasq.d/local.conf** créé pour l'occasion et pris en charge automatiquement ((Par défaut, le fichier de configuration de dnsmasq est **/etc/dnsmasq.conf**, dont toutes les lignes sont commentées. En n'y touchant pas, on facilite les mises à jour.)) Les directives de configuration seront écrites dans un fichier **/etc/dnsmasq.d/local.conf** créé pour l'occasion et pris en charge automatiquement ((Par défaut, le fichier de configuration de dnsmasq est **/etc/dnsmasq.conf**, dont toutes les lignes sont commentées. En n'y touchant pas, on facilite les mises à jour.))
Ligne 368: Ligne 367:
  
 <WRAP center round box 60%> <WRAP center round box 60%>
-  domain-needed+  domain-needed
   : Interdit à Dnsmasq de transmettre en amont les requêtes de noms simples (sans point ni nom de domaine).   : Interdit à Dnsmasq de transmettre en amont les requêtes de noms simples (sans point ni nom de domaine).
   * Si le nom n'est pas dans **/etc/hosts** ou dans la liste des baux DHCP, dnsmasq répond “non trouvé”.    * Si le nom n'est pas dans **/etc/hosts** ou dans la liste des baux DHCP, dnsmasq répond “non trouvé”. 
   * Avec **bogus-priv**, cela évite de faire sortir les requêtes de domaines locaux   * Avec **bogus-priv**, cela évite de faire sortir les requêtes de domaines locaux
-  bogus-priv+  bogus-priv
   : dnsmasq ne transmet pas aux serveurs DNS amont les requêtes DNS inverses pour des adresses IP privées (ie 192.168.x.x, etc…) qui ne sont ni dans **/etc/hosts** ni dans les baux DHCP.   : dnsmasq ne transmet pas aux serveurs DNS amont les requêtes DNS inverses pour des adresses IP privées (ie 192.168.x.x, etc…) qui ne sont ni dans **/etc/hosts** ni dans les baux DHCP.
   * Il retourne dans ce cas “no such domain”.   * Il retourne dans ce cas “no such domain”.
-  cache-size=<taille>+  cache-size=<taille>
   : taille du cache de Dnsmasq   : taille du cache de Dnsmasq
   * valeur par défaut : 150 noms.   * valeur par défaut : 150 noms.
   * une valeur de zéro désactive le cache.   * une valeur de zéro désactive le cache.
-  domain=<domaine>[,<gamme d'adresses>]+  domain=<domaine>[,<gamme d'adresses>]
   : domaine du serveur DHCP.   : domaine du serveur DHCP.
   * Ce domaine local sera ajouté aux noms des machines assignées par le DHCP   * Ce domaine local sera ajouté aux noms des machines assignées par le DHCP
Ligne 399: Ligne 398:
   * Si la valeur fournie pour <domaine> est ”#”, le nom de domaine est positionné à la première valeur de la directive “search” du fichier **/etc/resolv.conf** (ou équivalent).   * Si la valeur fournie pour <domaine> est ”#”, le nom de domaine est positionné à la première valeur de la directive “search” du fichier **/etc/resolv.conf** (ou équivalent).
   * La gamme d'adresses est de la forme **<adresse ip>,<adresse ip>** ou **<adresse ip>/<masque de réseau>** voire une simple <adresse ip>.   * La gamme d'adresses est de la forme **<adresse ip>,<adresse ip>** ou **<adresse ip>/<masque de réseau>** voire une simple <adresse ip>.
-  expand-hosts+  expand-hosts
   : Ajoute le nom de domaine <domaine> défini par **domain=<domaine>** aux noms simples (dont le nom ne contient pas de point) :   : Ajoute le nom de domaine <domaine> défini par **domain=<domaine>** aux noms simples (dont le nom ne contient pas de point) :
     * contenus dans le fichier **/etc/hosts**     * contenus dans le fichier **/etc/hosts**
     * et pour le service DHCP     * et pour le service DHCP
-  resolv-file=<fichier>+  resolv-file=<fichier>
   : Lit les adresses des serveurs de nom amont dans le fichier de nom <fichier>, au lieu du fichier **/etc/resolv.conf**.   : Lit les adresses des serveurs de nom amont dans le fichier de nom <fichier>, au lieu du fichier **/etc/resolv.conf**.
   * Pour le format de ce fichier, voir dans le manuel pour resolv.conf(5) les entrées correspondant aux serveurs de noms (nameserver).   * Pour le format de ce fichier, voir dans le manuel pour resolv.conf(5) les entrées correspondant aux serveurs de noms (nameserver).
   * Dnsmasq peut lire plusieurs fichiers de type resolv.conf, le premier remplace le fichier par défaut, le contenu des suivants est rajouté dans la liste des fichiers à consulter.   * Dnsmasq peut lire plusieurs fichiers de type resolv.conf, le premier remplace le fichier par défaut, le contenu des suivants est rajouté dans la liste des fichiers à consulter.
   * Seul le dernier fichier modifié sera chargé en mémoire.    * Seul le dernier fichier modifié sera chargé en mémoire. 
-  server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]+  server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]
   : adresse IP d'un serveur de nom amont.   : adresse IP d'un serveur de nom amont.
   * Cette option n'empêche pas la lecture du fichier **/etc/resolv.conf**.   * Cette option n'empêche pas la lecture du fichier **/etc/resolv.conf**.
Ligne 434: Ligne 433:
     * si une adresse IP est donnée, alors l'adresse source de la requête sera l'adresse en question.     * si une adresse IP est donnée, alors l'adresse source de la requête sera l'adresse en question.
   * L'option **query-port** est ignorée pour tous les serveurs dont l'adresse source est spécifiée, mais il est possible de la donner directement dans la spécification de l'adresse source.   * L'option **query-port** est ignorée pour tous les serveurs dont l'adresse source est spécifiée, mais il est possible de la donner directement dans la spécification de l'adresse source.
-  address=/nom_machine/adresse_ip +  address=/nom_machine/adresse_ip 
-  dhcp-host=nom_machine,adresse_ip+  dhcp-host=nom_machine,adresse_ip
   : définit une adresse IP pour la machine nom_machine ;  on peut mettre plusieurs lignes.   : définit une adresse IP pour la machine nom_machine ;  on peut mettre plusieurs lignes.
   : exemples :<code>address=/zinc/192.168.1.30   : exemples :<code>address=/zinc/192.168.1.30
Ligne 448: Ligne 447:
 </WRAP> </WRAP>
  
-Pour renseigner ce fichier, voir [[logiciel:internet:dnsmasq:dnsmasq_conf]]+Pour renseigner ce fichier, voir [[logiciel:internet:dnsmasq:config:start4]]
  
 C'est tout. Redémarrer le service en tapant la commande :<cli>$ sudo service dnsmasq restart</cli> C'est tout. Redémarrer le service en tapant la commande :<cli>$ sudo service dnsmasq restart</cli>
Ligne 596: Ligne 595:
 Voici quelques définitions utiles à la compréhension et au paramétrage du DNS : Voici quelques définitions utiles à la compréhension et au paramétrage du DNS :
  
-  serveur maître+  serveur maître
   : s’occupe des enregistrements DNS d’un domaine enregistré ou non (par exemple pour le cas d’un réseau local fermé comme celui de notre tuto maison.lan)   : s’occupe des enregistrements DNS d’un domaine enregistré ou non (par exemple pour le cas d’un réseau local fermé comme celui de notre tuto maison.lan)
-  une zone+  une zone
   : ensemble des enregistrements DNS pour un nom de domaine. Il existe une zone de recherche directe (correspondance entre le nom d’hôte et l’adresse IP) et une zone de recherche inverse (correspondance entre l’adresse IP et le nom d’hôte)   : ensemble des enregistrements DNS pour un nom de domaine. Il existe une zone de recherche directe (correspondance entre le nom d’hôte et l’adresse IP) et une zone de recherche inverse (correspondance entre l’adresse IP et le nom d’hôte)
-  serveur secondaire+  serveur secondaire
   : assure la redondance du serveur maître et prend le relais de celui-ci en cas de panne   : assure la redondance du serveur maître et prend le relais de celui-ci en cas de panne
-  serveur esclave+  serveur esclave
   : une réplication du serveur maître utilisé comme sauvegarde   : une réplication du serveur maître utilisé comme sauvegarde
-  serveur cache+  serveur cache
   : stocke les requêtes déjà résolues ce qui permet d’économiser la bande passante et de réduire le temps de latence   : stocke les requêtes déjà résolues ce qui permet d’économiser la bande passante et de réduire le temps de latence
  
Ligne 619: Ligne 618:
  
 =?= depuis Ubuntu 18.04 === =?= depuis Ubuntu 18.04 ===
- +  ??? Cohabitation avec systemd : depuis Ubuntu 18.04, dnsmasq ne fait plus de résolution DNS
-??? Cohabitation avec systemd : depuis Ubuntu 18.04, dnsmasq ne fait plus de résolution DNS+
 !!! Solution de contournement : désactiver le resolver natif **systemd-resolved.service** et utiliser **dnsmasq**. !!! Solution de contournement : désactiver le resolver natif **systemd-resolved.service** et utiliser **dnsmasq**.