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/17 10:10] – ↷ Liens modifiés en raison d'un déplacement. adminlogiciel:internet:dnsmasq:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1
Ligne 24: Ligne 24:
   * **[[logiciel:internet:dnsmasq:ubuntu18.04:nwm:start]]**   * **[[logiciel:internet:dnsmasq:ubuntu18.04:nwm:start]]**
   * **[[logiciel:internet:dnsmasq:ubuntu18.04:start]]**   * **[[logiciel:internet:dnsmasq:ubuntu18.04:start]]**
-  * **[[fr:tutoriel:internet:dnsmasq:networkmanager:start]]**+  * **[[tutoriel:internet:dnsmasq:networkmanager:start]]**
  
-====== Pré-requis ======+===== Pré-requis =====
  
-====== 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 37: Ligne 36:
  
   - **Installez le paquet [[apt>dnsmasq]]** ou en ligne de commande :<cli prompt='$ '>...@...:~$ sudo apt install dnsmasq</cli>   - **Installez le paquet [[apt>dnsmasq]]** ou en ligne de commande :<cli prompt='$ '>...@...:~$ sudo apt install dnsmasq</cli>
-====== Configuration ======+ 
 +===== Configuration =====
  
 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 78: Ligne 78:
 resolv-file=/var/run/NetworkManager/resolv.conf</code> resolv-file=/var/run/NetworkManager/resolv.conf</code>
  
-===== 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 169: Ligne 169:
 cache-size=256</code> cache-size=256</code>
  
-===== Journalisation =====+==== Journalisation ====
  
 On peut activer indépendamment les traces DNS et DHCP. Un exemple avec les deux activés (commenter log-queries ou log-dhcp pour inhiber) : On peut activer indépendamment les traces DNS et DHCP. Un exemple avec les deux activés (commenter log-queries ou log-dhcp pour inhiber) :
Ligne 181: Ligne 181:
 </code> </code>
  
-===== Ensuite =====+==== Ensuite ====
  
   - **redémarrez dnsmasq** :<cli prompt='$ '>...@...:~$ sudo systemctl restart dnsmasq</cli>   - **redémarrez dnsmasq** :<cli prompt='$ '>...@...:~$ sudo systemctl restart dnsmasq</cli>
Ligne 189: Ligne 189:
  
  
-===== Fichier /etc/hosts du serveur DNS =====+==== Fichier /etc/hosts du serveur DNS ====
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Ligne 196: 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 211: Ligne 211:
 </code> </code>
  
- +==== Fichier /etc/resolv.dnsmasq (pour ne pas toucher à /etc/resolv.conf) ====
-===== Fichier /etc/resolv.dnsmasq (pour ne pas toucher à /etc/resolv.conf) =====+
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
Ligne 248: Ligne 247:
 </code> </code>
  
- +==== Les adresses IP statiques ====
-===== Les adresses IP statiques =====+
  
 Solution sur framboise : Solution sur framboise :
Ligne 261: Ligne 259:
 </WRAP> </WRAP>
  
-==== Contenu de /etc/hosts de framboise ====+=== Contenu de /etc/hosts de framboise ===
  
 On spécifie les hôtes avec une adresse IP statique, donc non allouée pas dnsmasq. On spécifie les hôtes avec une adresse IP statique, donc non allouée pas dnsmasq.
Ligne 270: Ligne 268:
 </code> </code>
  
-==== Contenu de /etc/resolv.conf de sheebian ====+=== Contenu de /etc/resolv.conf de sheebian ===
  
 Ce fichier spécifie le serveur DNS à utiliser, donc renvoie vers dnsmasq qui est installé sur cette machine. Ce fichier spécifie le serveur DNS à utiliser, donc renvoie vers dnsmasq qui est installé sur cette machine.
Ligne 278: Ligne 276:
 </code> </code>
  
-==== Contenu de /etc/resolv.dnsmasq de framboise ====+=== Contenu de /etc/resolv.dnsmasq de framboise ===
  
 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 369: 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 400: 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 435: 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 449: 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 466: Ligne 464:
 </WRAP> </WRAP>
  
-===== Un exemple =====+==== Un exemple ====
  
 Créer un petit intranet «maison» : Créer un petit intranet «maison» :
Ligne 495: Ligne 493:
 |machineX|mondomaine.lan|machineX.mondomaine.lan|192.168.0.X| |machineX|mondomaine.lan|machineX.mondomaine.lan|192.168.0.X|
  
-===== Configuration des adresses =====+==== Configuration des adresses ====
  
 Déclarer le serveur DNS d'adresse 192.168.0.1 en premier dans le fichier /etc/resolv.conf en mettant sa ligne au début. Déclarer le serveur DNS d'adresse 192.168.0.1 en premier dans le fichier /etc/resolv.conf en mettant sa ligne au début.
Ligne 501: Ligne 499:
 Les adresses de DNS du fournisseur d'accès sont spécifiées dans le fichier /etc/named.conf par l'instruction forwarders. Les adresses de DNS du fournisseur d'accès sont spécifiées dans le fichier /etc/named.conf par l'instruction forwarders.
  
-==== Fixer l’adresse IP du serveur ====+=== Fixer l’adresse IP du serveur ===
  
 éditez avec les droits d'administration le fichier **/etc/network/interfaces** pour le modifier comme ceci : éditez avec les droits d'administration le fichier **/etc/network/interfaces** pour le modifier comme ceci :
Ligne 524: Ligne 522:
 </file> </file>
  
-===== Configuration des noms d'hôte =====+==== Configuration des noms d'hôte ====
  
-==== Fichier /etc/hostname ====+=== Fichier /etc/hostname ===
  
 éditez avec les droits d'administration le fichier **/etc/hostname** pour renseigner le nom du serveur DNS comme ceci : éditez avec les droits d'administration le fichier **/etc/hostname** pour renseigner le nom du serveur DNS comme ceci :
Ligne 537: Ligne 535:
   * <code>/etc/init.d/hostname.sh start</code>   * <code>/etc/init.d/hostname.sh start</code>
  
-==== Fichier /etc/hosts ====+=== Fichier /etc/hosts ===
  
 Éditez avec les droits d'administration le fichier **/etc/hosts** pour y inscrire le nom du serveur et son adresse IP : Éditez avec les droits d'administration le fichier **/etc/hosts** pour y inscrire le nom du serveur et son adresse IP :
Ligne 546: Ligne 544:
 </file> </file>
  
-==== Fichier /etc/host.conf (vérification) ====+=== Fichier /etc/host.conf (vérification) ===
  
 Éditez avec les droits d'administration le fichier **/etc/host.conf** pour y insérer les paramètres suivants (normalement c'est déjà fait par l'installation de bind9) : Éditez avec les droits d'administration le fichier **/etc/host.conf** pour y insérer les paramètres suivants (normalement c'est déjà fait par l'installation de bind9) :
Ligne 555: Ligne 553:
 </file> </file>
  
-==== Fichier /etc/resolv.conf ====+=== Fichier /etc/resolv.conf ===
  
 Éditez avec les droits d'administration le fichier **/etc/resolv.conf** pour y entrer le domaine, la zone de recherche et le nom du serveur DNS : Éditez avec les droits d'administration le fichier **/etc/resolv.conf** pour y entrer le domaine, la zone de recherche et le nom du serveur DNS :
Ligne 565: Ligne 563:
 </file> </file>
  
-====== Utilisation ======+===== Utilisation =====
  
-===== Vérification =====+==== Vérification ====
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
Ligne 593: Ligne 591:
   - pour redonner une @ IP au client :<cli prompt='$ '>...@...:~$ dhclient eth0</cli>   - pour redonner une @ IP au client :<cli prompt='$ '>...@...:~$ dhclient eth0</cli>
  
-===== Pour aller plus loin =====+==== Pour aller plus loin ====
  
 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
  
 Maintenant vous disposez d’un serveur DNS digne de ce nom (sans faire de jeu de mots). Le DNS est important surtout si vous souhaitez installer d’autres services comme la messagerie par exemple. Maintenant vous disposez d’un serveur DNS digne de ce nom (sans faire de jeu de mots). Le DNS est important surtout si vous souhaitez installer d’autres services comme la messagerie par exemple.
  
 +==== Problèmes rencontrés ====
  
-===== Problèmes rencontrés =====+  * [[tutoriel:internet:dnsmasq:systemd:start1]] 
 +  * [[tutoriel:internet:dnsmasq:networkmanager:start]]
  
-  * [[fr:tutoriel:internet:dnsmasq:systemd:start1]] +==== Questions et Réponses ====
-  * [[fr:tutoriel:internet:dnsmasq:networkmanager:start]] +
- +
-===== Questions et Réponses =====+
  
 ~~FAQ~~ ~~FAQ~~
  
-=?== 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**.
  
Ligne 670: Ligne 666:
 source : [[https://it.izero.fr/linux-remplacer-resolver-dns-systemd-resolved-par-dnsmasq/]] source : [[https://it.izero.fr/linux-remplacer-resolver-dns-systemd-resolved-par-dnsmasq/]]
  
-====== Désinstallation ======+===== Désinstallation =====
  
 Pour supprimer cette application, il suffit de supprimer son paquet. Pour supprimer cette application, il suffit de supprimer son paquet.
Ligne 678: Ligne 674:
 Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
  
-====== Voir aussi ======+===== Voir aussi =====
  
   * **(fr)** [[http://irp.nain-t.net/doku.php/160dns:30_construire_un_dns]] et le reste du site   * **(fr)** [[http://irp.nain-t.net/doku.php/160dns:30_construire_un_dns]] et le reste du site