Différences
Ci-dessous, les différences entre deux révisions de la page.
logiciel:internet:dnsmasq:start [2020/11/09 14:52] – [Ensuite] admin | logiciel:internet:dnsmasq:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 21: | Ligne 21: | ||
Voir aussi : | Voir aussi : | ||
- | * **[[logiciel: | + | * **[[logiciel: |
- | * **[[logiciel: | + | * **[[logiciel: |
- | * **[[logiciel: | + | * **[[logiciel: |
- | * **[[tutoriel: | + | * **[[tutoriel: |
- | ====== 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> | - **Installez le paquet [[apt> | ||
- | ====== Configuration | + | |
+ | ===== Configuration ===== | ||
Voir : | Voir : | ||
* [[logiciel: | * [[logiciel: | ||
- | * [[logiciel: | + | * [[logiciel: |
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Comme précisé dans **/ | ||
+ | |||
+ | tous les fichiers du répertoire **/ | ||
+ | |||
+ | sauf si leurs noms se terminent par " | ||
- | <WRAP center round important 60%> | + | On ne touche |
* **/ | * **/ | ||
* => remplacé par **/ | * => remplacé par **/ | ||
Ligne 71: | Ligne 78: | ||
resolv-file=/ | resolv-file=/ | ||
- | ===== Fichier / | + | ==== Fichier / |
+ | ; user et group | ||
+ | : utilisateur et groupe sous lequel dnsmasq sera lancé | ||
+ | ; addn-hosts | ||
+ | : fichier de configuration différent que /etc/hosts pour la résolution des noms | ||
+ | ; log-queries | ||
+ | : Journaliser les requêtes DNS (dans / | ||
+ | <WRAP center round help 60%> | ||
+ | ; domain-needed | ||
+ | : Ignore les requêtes sans nom de domaine complet. | ||
+ | : Par exemple, << | ||
+ | : alors que << | ||
+ | ; bogus-priv | ||
+ | : 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, | ||
+ | : retournent <<no such domain>> | ||
+ | ; 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). | ||
+ | ; domain=maison.lan | ||
+ | : Domaine ajouté aux noms sans domaine pour expand-hosts. | ||
+ | : Attribue également un domaine aux clients DHCP. | ||
+ | ; expand-hosts | ||
+ | : 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. | ||
+ | </ | ||
+ | |||
+ | - Configurez le DNS en créant avec les droits d' | ||
+ | # Ignore les requêtes sans nom de domaine complet | ||
+ | domain-needed | ||
+ | # Pas de résolution inverse pour les réseaux privés | ||
+ | bogus-priv | ||
+ | |||
+ | # Fichier définissant les serveurs (au lieu de / | ||
+ | resolv-file=/ | ||
+ | # Essayer les serveurs dans l' | ||
+ | strict-order | ||
+ | </ | ||
- **Configurez dnsmasq** en créant avec les droits d' | - **Configurez dnsmasq** en créant avec les droits d' | ||
address=/ | address=/ | ||
address=/ | address=/ | ||
address=/ | address=/ | ||
- | * basique :<code txt / | ||
- | # Pas de noms simples (sans point ni domaine) | ||
- | domain-needed | ||
- | # Pas d' | ||
- | bogus-priv</ | ||
* resolv :<code txt / | * resolv :<code txt / | ||
- | # Fichier définissant les serveurs (au lieu de / | ||
- | resolv-file=/ | ||
- | # Essayer les serveurs dans l' | ||
- | strict-order | ||
# Teste les changements du fichier resolv.dnsmasq et le relit | # Teste les changements du fichier resolv.dnsmasq et le relit | ||
no-poll</ | no-poll</ | ||
Ligne 108: | Ligne 142: | ||
# Pour que dnsmasq ne lise pas /etc/hosts | # Pour que dnsmasq ne lise pas /etc/hosts | ||
no-hosts | no-hosts | ||
- | # Ajouter automatiquement un nom de domaine aux noms simples du fichier hosts | ||
- | expand-hosts | ||
- | # Domaine pour dnsmasq | ||
- | # - Permet aux hôtes DHCP d' | ||
- | # - nom de domaine à ajouter pour expand-hosts | ||
- | domain=maison.lan | ||
</ | </ | ||
* dhcp :<code txt / | * dhcp :<code txt / | ||
Ligne 141: | Ligne 169: | ||
cache-size=256</ | cache-size=256</ | ||
- | ===== 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 153: | Ligne 181: | ||
</ | </ | ||
- | ===== Ensuite | + | ==== Ensuite ==== |
- **redémarrez dnsmasq** :<cli prompt=' | - **redémarrez dnsmasq** :<cli prompt=' | ||
Ligne 161: | 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 168: | 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 / | + | 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 / |
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 183: | Ligne 211: | ||
</ | </ | ||
- | + | ==== Fichier / | |
- | ===== Fichier / | + | |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Ligne 220: | Ligne 247: | ||
</ | </ | ||
- | + | ==== Les adresses IP statiques ==== | |
- | ===== Les adresses IP statiques | + | |
Solution sur framboise : | Solution sur framboise : | ||
Ligne 233: | Ligne 259: | ||
</ | </ | ||
- | ==== 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 242: | Ligne 268: | ||
</ | </ | ||
- | ==== Contenu de / | + | === Contenu de / |
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 250: | Ligne 276: | ||
</ | </ | ||
- | ==== Contenu de / | + | === Contenu de / |
Cf la page officielle de man en français : [[http:// | Cf la page officielle de man en français : [[http:// | ||
- | recopiée ici : [[logiciel: | + | recopiée ici : [[logiciel: |
Les directives de configuration seront écrites dans un fichier **/ | Les directives de configuration seront écrites dans un fichier **/ | ||
Ligne 341: | Ligne 367: | ||
<WRAP center round box 60%> | <WRAP center round box 60%> | ||
- | | + | |
: 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 **/ | * Si le nom n'est pas dans **/ | ||
* Avec **bogus-priv**, | * Avec **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, | : dnsmasq ne transmet pas aux serveurs DNS amont les requêtes DNS inverses pour des adresses IP privées (ie 192.168.x.x, | ||
* Il retourne dans ce cas “no such domain”. | * Il retourne dans ce cas “no such domain”. | ||
- | | + | |
: 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. | ||
- | | + | |
: 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 372: | Ligne 398: | ||
* Si la valeur fournie pour < | * Si la valeur fournie pour < | ||
* La gamme d' | * La gamme d' | ||
- | | + | |
: Ajoute le nom de domaine < | : Ajoute le nom de domaine < | ||
* contenus dans le fichier **/ | * contenus dans le fichier **/ | ||
* et pour le service DHCP | * et pour le service DHCP | ||
- | | + | |
: Lit les adresses des serveurs de nom amont dans le fichier de nom < | : Lit les adresses des serveurs de nom amont dans le fichier de nom < | ||
* 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, | * Dnsmasq peut lire plusieurs fichiers de type resolv.conf, | ||
* Seul le dernier fichier modifié sera chargé en mémoire. | * Seul le dernier fichier modifié sera chargé en mémoire. | ||
- | | + | |
: adresse IP d'un serveur de nom amont. | : adresse IP d'un serveur de nom amont. | ||
* Cette option n' | * Cette option n' | ||
Ligne 407: | Ligne 433: | ||
* si une adresse IP est donnée, alors l' | * si une adresse IP est donnée, alors l' | ||
* L' | * L' | ||
- | | + | |
- | | + | |
: 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 :< | : exemples :< | ||
Ligne 421: | Ligne 447: | ||
</ | </ | ||
- | Pour renseigner ce fichier, voir [[logiciel: | + | Pour renseigner ce fichier, voir [[logiciel: |
C'est tout. Redémarrer le service en tapant la commande :< | C'est tout. Redémarrer le service en tapant la commande :< | ||
Ligne 438: | Ligne 464: | ||
</ | </ | ||
- | ===== Un exemple | + | ==== Un exemple ==== |
Créer un petit intranet «maison» : | Créer un petit intranet «maison» : | ||
Ligne 467: | 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' | Déclarer le serveur DNS d' | ||
Ligne 473: | Ligne 499: | ||
Les adresses de DNS du fournisseur d' | Les adresses de DNS du fournisseur d' | ||
- | ==== Fixer l’adresse IP du serveur | + | === Fixer l’adresse IP du serveur === |
éditez avec les droits d' | éditez avec les droits d' | ||
Ligne 496: | Ligne 522: | ||
</ | </ | ||
- | ===== Configuration des noms d' | + | ==== Configuration des noms d' |
- | ==== Fichier / | + | === Fichier / |
éditez avec les droits d' | éditez avec les droits d' | ||
Ligne 509: | Ligne 535: | ||
* < | * < | ||
- | ==== Fichier / | + | === Fichier /etc/hosts === |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 518: | Ligne 544: | ||
</ | </ | ||
- | ==== Fichier / | + | === Fichier / |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 527: | Ligne 553: | ||
</ | </ | ||
- | ==== Fichier / | + | === Fichier / |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 537: | Ligne 563: | ||
</ | </ | ||
- | ====== Utilisation | + | ===== Utilisation ===== |
- | ===== Vérification | + | ==== Vérification ==== |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Ligne 565: | Ligne 591: | ||
- pour redonner une @ IP au client :<cli prompt=' | - pour redonner une @ IP au client :<cli prompt=' | ||
- | ===== 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 : | ||
- | | + | |
: 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) | ||
- | | + | |
: 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) | ||
- | | + | |
: 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 | ||
- | | + | |
: une réplication du serveur maître utilisé comme sauvegarde | : une réplication du serveur maître utilisé comme sauvegarde | ||
- | | + | |
: 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: |
+ | * [[tutoriel: | ||
- | * [[tutoriel: | + | ==== Questions et Réponses ==== |
- | * [[tutoriel: | + | |
- | + | ||
- | ===== 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 642: | Ligne 666: | ||
source : [[https:// | source : [[https:// | ||
- | ====== Désinstallation | + | ===== Désinstallation ===== |
Pour supprimer cette application, | Pour supprimer cette application, | ||
Ligne 650: | 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:// | * **(fr)** [[http:// |