Différences
Ci-dessous, les différences entre deux révisions de la page.
logiciel:internet:dnsmasq:start [2020/11/10 10:15] – [depuis Ubuntu 18.04] 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%> | <WRAP center round important 60%> | ||
Ligne 78: | Ligne 78: | ||
resolv-file=/ | resolv-file=/ | ||
- | ===== Fichier / | + | ==== Fichier / |
- | | + | |
: utilisateur et groupe sous lequel dnsmasq sera lancé | : utilisateur et groupe sous lequel dnsmasq sera lancé | ||
- | | + | |
: 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 | ||
- | | + | |
: Journaliser les requêtes DNS (dans / | : Journaliser les requêtes DNS (dans / | ||
<WRAP center round help 60%> | <WRAP center round help 60%> | ||
- | | + | |
: Ignore les requêtes sans nom de domaine complet. | : Ignore les requêtes sans nom de domaine complet. | ||
: Par exemple, << | : Par exemple, << | ||
: alors que << | : alors que << | ||
- | | + | |
: 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, | : Les requêtes pour des adresses IP privées (ie 192.168.x.x, | ||
: retournent <<no such domain>> | : retournent <<no such domain>> | ||
- | | + | |
: 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). | ||
- | | + | |
: 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. | ||
- | | + | |
: 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</ | 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 181: | Ligne 181: | ||
</ | </ | ||
- | ===== Ensuite | + | ==== Ensuite ==== |
- **redémarrez dnsmasq** :<cli prompt=' | - **redémarrez dnsmasq** :<cli prompt=' | ||
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 / | + | 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 211: | Ligne 211: | ||
</ | </ | ||
- | + | ==== Fichier / | |
- | ===== Fichier / | + | |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Ligne 248: | Ligne 247: | ||
</ | </ | ||
- | + | ==== Les adresses IP statiques ==== | |
- | ===== Les adresses IP statiques | + | |
Solution sur framboise : | Solution sur framboise : | ||
Ligne 261: | 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 270: | 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 278: | 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 369: | 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 400: | 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 435: | 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 449: | 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 466: | Ligne 464: | ||
</ | </ | ||
- | ===== 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' | Déclarer le serveur DNS d' | ||
Ligne 501: | 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 524: | Ligne 522: | ||
</ | </ | ||
- | ===== Configuration des noms d' | + | ==== Configuration des noms d' |
- | ==== Fichier / | + | === Fichier / |
éditez avec les droits d' | éditez avec les droits d' | ||
Ligne 537: | Ligne 535: | ||
* < | * < | ||
- | ==== Fichier / | + | === Fichier /etc/hosts === |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 546: | Ligne 544: | ||
</ | </ | ||
- | ==== Fichier / | + | === Fichier / |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 555: | Ligne 553: | ||
</ | </ | ||
- | ==== Fichier / | + | === Fichier / |
Éditez avec les droits d' | Éditez avec les droits d' | ||
Ligne 565: | Ligne 563: | ||
</ | </ | ||
- | ====== 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=' | - 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 669: | Ligne 665: | ||
source : [[https:// | source : [[https:// | ||
- | ??? Quelles sont ces étranges options " | ||
- | !!! Dnsmasq peut fonctionner dans l'un des trois "modes réseau" | ||
- | |||
- | En mode " | ||
- | |||
- | En mode " | ||
- | In " | ||
- | |||
- | In " | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | bound automatically without having to restart dnsmasq. | ||
- | |||
- | The mode chosen has four different effects: co-existence with other | ||
- | | ||
- | | ||
- | | ||
- | |||
- | A dnsmasq instance running in wildcard mode precludes a machine from | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | The semantics of --interface varies subtly between wildcard or | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | a request will be ignored, in bind-interfaces mode, it will be | ||
- | | ||
- | |||
- | The creation of new network interfaces after dnsmasq starts is ignored | ||
- | by dnsmasq when in --bind-interfaces mode. In wildcard or bind-dynamic | ||
- | mode, such interfaces are handled normally. | ||
- | An --interface specification for a non-existent interface is a fatal | + | ===== Désinstallation ===== |
- | error at start-up when in --bind-interfaces mode, by just generates a | + | |
- | | + | |
- | ====== Désinstallation | + | |
Pour supprimer cette application, | Pour supprimer cette application, | ||
Ligne 719: | 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:// |