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édentes Révision précédente
Prochaine révision
Révision précédente
configuration_serveur_dns_dhcp [Le 14/06/2009, 09:58]
213.95.41.13
configuration_serveur_dns_dhcp [Le 10/05/2023, 10:58] (Version actuelle)
sefran Ajout tutoriel pour poste de travail
Ligne 1: Ligne 1:
-{{tag>breezy dapper edgy jaunty ​serveur ​dns dhcp dnsmasq ​réseau}}+{{tag>​serveur réseau ​dns}}
  
 ---- ----
Ligne 9: Ligne 9:
 DnsMasq est un petit serveur DNS (cache DNS) qui intègre un serveur DHCP. Peu gourmand en ressources et très simple à configurer, il est bien adapté à une installation sur une solution embarquée telle qu’un routeur ou point d’accès wifi (sous OpenWRT par exemple ; - ) DnsMasq est un petit serveur DNS (cache DNS) qui intègre un serveur DHCP. Peu gourmand en ressources et très simple à configurer, il est bien adapté à une installation sur une solution embarquée telle qu’un routeur ou point d’accès wifi (sous OpenWRT par exemple ; - )
  
-Pour la résolution des noms, il se base sur les DNS déclarés dans la configuration réseau (/​etc/​resolv.conf) ou sur le fichier /etc/hosts. Ce qui est bien pratique pour configurer une petite zone lan : il suffit d’éditer le fichiers ​hosts comme nous le ferions pour une seule machine.+Pour la résolution des noms, il se base sur les DNS déclarés dans la configuration réseau (/​etc/​resolv.conf) ou sur le fichier /etc/hosts. Ce qui est bien pratique pour configurer une petite zone lan : il suffit d’éditer le fichier /etc/hosts comme nous le ferions pour une seule machine.
  
 Côté serveur DHCP, il nous faut faire un minimum de conf… Cela se passe dans le fichier /​etc/​dnsmasq.conf Côté serveur DHCP, il nous faut faire un minimum de conf… Cela se passe dans le fichier /​etc/​dnsmasq.conf
Ligne 17: Ligne 17:
 ===== Installation ===== ===== Installation =====
  
-On écrit dans un terminal :+On désactive la résolution DNS de //​systemd-resolved//​. Pour cela on édite avec les droits d'​administrateur le fichier **/​etc/​systemd/​resolved.conf**
  
 <​file>​ <​file>​
-sudo apt-get install dnsmasq+[Resolve] 
 +DNSStubListener=no
 </​file>​ </​file>​
  
-Ou on clique ici : [[apt://dnsmasq]]+Puis on relance le service systemd-resolved ​: 
 + 
 +<​code>​ 
 +sudo systemctl restart systemd-resolved 
 +</code> 
 + 
 +Pour installer Dnsmasq on écrit dans un terminal : 
 + 
 +<​code>​ 
 +sudo apt-get install ​dnsmasq 
 +</​code>​
  
 +Ou on clique ici : **[[apt>​dnsmasq]]**
 ===== Configuration ===== ===== Configuration =====
  
Ligne 39: Ligne 51:
 localise-queries localise-queries
 local=/lan/ local=/lan/
-domain=linet.jopa.fr+domain=local.lan
 expand-hosts expand-hosts
 no-negcache no-negcache
Ligne 65: Ligne 77:
 # Où les clients doivent chercher les pc sur le réseau local # Où les clients doivent chercher les pc sur le réseau local
 search local.lan search local.lan
-# Serveur dns primaire ​fournit ​par mon provideur+# Serveur dns primaire ​fourni ​par mon provideur
 nameserver 195.238.2.21 nameserver 195.238.2.21
-# Serveur dns secondaire ​fournit ​par mon provideur+# Serveur dns secondaire ​fourni ​par mon provideur
 nameserver 195.238.2.22 nameserver 195.238.2.22
 </​file>​ </​file>​
Ligne 82: Ligne 94:
 </​file>​ </​file>​
  
-Dans l'​exemple ci-dessus,​l'​ordinateur sur le réseau local 192.168.1.1 aura comme nom dns mail et mail.local.lan.+Dans l'​exemple ci-dessus, l'​ordinateur sur le réseau local 192.168.1.1 aura comme nom dns mail et mail.local.lan.
 Pas besoin d'​ajouter tous les ordinateurs,​ ceux ayant fait une demande dhcp auront leur nom dns directement configuré. Pas besoin d'​ajouter tous les ordinateurs,​ ceux ayant fait une demande dhcp auront leur nom dns directement configuré.
 +
  
  
Ligne 90: Ligne 103:
 On tape dans un terminal : On tape dans un terminal :
  
-<file+<code
-sudo /etc.init.d/​dnsmasq restart +sudo /etc/init.d/​dnsmasq restart 
-</file> +</code>
 ===== Plus d'info sur le fichier : /​etc/​dnsmasq.conf ===== ===== Plus d'info sur le fichier : /​etc/​dnsmasq.conf =====
  
Ligne 102: Ligne 114:
 **bogus-priv** : Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS inverses pour des adresses IP privées (ie 192.168.x.x,​ etc…) qui ne sont pas trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées une réponse “pas de tel domaine” (”no such domain”) au lieu d’être transmises aux serveurs de nom amont (”upstream server”). **bogus-priv** : Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS inverses pour des adresses IP privées (ie 192.168.x.x,​ etc…) qui ne sont pas trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées une réponse “pas de tel domaine” (”no such domain”) au lieu d’être transmises aux serveurs de nom amont (”upstream server”).
  
-**filter-win2k** : Les dernières versions de windows font des requêtes DNS périodiques auxquelles non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui, de surcroît, peuvent poser des problèmes en déclenchant des connexions intempestives pour des liens réseaux avec des connexions “à la demande”. Fournir cette option active le filtrage des requêtes de ce type. Les 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 sous-lignés (requêtes pour des serveurs LDAP).+**filterwin2k** : Les dernières versions de windows font des requêtes DNS périodiques auxquelles non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui, de surcroît, peuvent poser des problèmes en déclenchant des connexions intempestives pour des liens réseaux avec des connexions “à la demande”. Fournir cette option active le filtrage des requêtes de ce type. Les 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 sous-lignés (requêtes pour des serveurs LDAP).
  
-**localise-query** : Retourne des réponses aux requêtes DNS dépendantes de l’interface sur laquelle la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans /etc/hosts a plus d’une adresse associée avec lui, et qu’une des adresses au moins est dans le même sous-réseau que l’interface sur laquelle la requête a été reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela permet d’avoir dans /etc/hosts un serveur avec de multiples adresses, une pour chacune de ses interfaces, et de fournir aux hôtes l’adresse correcte (basée sur le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée à IPv4.+**localise-queries** : Retourne des réponses aux requêtes DNS dépendantes de l’interface sur laquelle la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans /etc/hosts a plus d’une adresse associée avec lui, et qu’une des adresses au moins est dans le même sous-réseau que l’interface sur laquelle la requête a été reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela permet d’avoir dans /etc/hosts un serveur avec de multiples adresses, une pour chacune de ses interfaces, et de fournir aux hôtes l’adresse correcte (basée sur le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée à IPv4.
  
 **domain** : Spécifie le domaine utilisé pour étendre la recherche de noms sans domaine. Utilisé également pour attribuer un domaine de recherche au clients DHCP. **domain** : Spécifie le domaine utilisé pour étendre la recherche de noms sans domaine. Utilisé également pour attribuer un domaine de recherche au clients DHCP.
Ligne 122: Ligne 134:
 **read-ethers** : Lis les informations d’hôtes DHCP dans le fichier /​etc/​ethers. Le format de /etc/ethers est une adresse matérielle suivie, soit par un nom d’hôte, soit par une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu par Dnsmasq, ces lignes ont exactement le même effet que l’option dhcp-host contenant les mêmes informations. /etc/ethers est relu à la réception d’un signal SIGHUP par Dnsmasq. **read-ethers** : Lis les informations d’hôtes DHCP dans le fichier /​etc/​ethers. Le format de /etc/ethers est une adresse matérielle suivie, soit par un nom d’hôte, soit par une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu par Dnsmasq, ces lignes ont exactement le même effet que l’option dhcp-host contenant les mêmes informations. /etc/ethers est relu à la réception d’un signal SIGHUP par Dnsmasq.
  
-**dhcp-range=adresse de début,​adresse de fin,durée de bail par défaut** : Active le serveur DHCP. Les adresses seront données dans la plage comprise entre //adresse de début// et //adresse de fin// et à partir des adresses définies statiquement dans l’option dhcp-host.DHCP sur plus d’un réseau. Pour des réseaux directement connectés (c’est-à-dire des réseaux dans lesquels la machine sur laquelle tourne Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par contre requis pour les réseaux pour lesquels le service DHCP se fait via un relais DHCP (”relay agent”).Si une durée de bail est donnée, alors les baux seront donnés pour cette durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m), en heures (exemple : 1h) ou être la chaine de caractère “infinite” pour une durée indéterminée. Cette option peut être répétée, avec différentes adresses, pour activer le service. ​+**dhcp-range=adresse de début,​adresse de fin,durée de bail par défaut** : Active le serveur DHCP. Les adresses seront données dans la plage comprise entre //adresse de début// et //adresse de fin// et à partir des adresses définies statiquement dans l’option dhcp-host.DHCP sur plus d’un réseau. Pour des réseaux directement connectés (c’est-à-dire des réseaux dans lesquels la machine sur laquelle tourne Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par contre requis pour les réseaux pour lesquels le service DHCP se fait via un relais DHCP (”relay agent”).Si une durée de bail est donnée, alors les baux seront donnés pour cette durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m), en heures (exemple : 1h) ou être la chaine de caractère “infinite” pour une durée indéterminée. Cette option peut être répétée, avec différentes adresses, pour activer le service.
  
 **dhcp-option=[<​identifiant_de_réseau>,​[<​identifiant_de_réseau>,​]][vendor:​[<​classe_vendeur>​],​][<​opt>​|option:<​nom d'​option>​],​[<​valeur>​[,<​valeur>​]]** : Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par défaut, Dnsmasq envoie un ensemble standard d’options aux clients DHCP : le masque de réseau et l’adresse de broadcast sont les mêmes que pour l’hôte sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut prennent comme valeur l’adresse de la machine sur laquelle tourne Dnsmasq. Si une option de nom de domaine a été définie, son contenu est transmis. Cette option de configuration permet de changer toutes ces valeurs par défaut, ou de spécifier d’autres options. L’option DHCP à transmettre peut être fournie sous forme d’un nombre décimal ou sous la forme “option:<​nom d’option>​”. Les nombres correspondants aux options sont définis dans la RFC2132 et suivants. Les noms d’options connus par Dnsmasq peuvent être obtenus via “Dnsmasq –help dhcp”. Par exemple, pour définir la route par défaut à 192.168.4.4,​ il est possible de faire –dhcp-option=3,​192.168.4.4–dhcp-option = option:​router,​ 192.168.4.4 ou encore, pour positionner l’adresse du serveur–dhcp-option = 42,​192.168.0.4 ou –dhcp-option = option:​ntp-server,​ 192.168.0.4 L’adresse 0.0.0.0 prends ici le sens “d’adresse de la machine sur laquelle tourne Dnsmasq”. Les types de données autorisées sont des adresses IP sous la forme de 4 chiffres séparés par des points, un nombre décimal, une liste de caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères. Si des identifiants de réseaux sont fournis, alors cette option n’est envoyée qu’aux réseaux dont tous les identifiants coïncident. **dhcp-option=[<​identifiant_de_réseau>,​[<​identifiant_de_réseau>,​]][vendor:​[<​classe_vendeur>​],​][<​opt>​|option:<​nom d'​option>​],​[<​valeur>​[,<​valeur>​]]** : Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par défaut, Dnsmasq envoie un ensemble standard d’options aux clients DHCP : le masque de réseau et l’adresse de broadcast sont les mêmes que pour l’hôte sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut prennent comme valeur l’adresse de la machine sur laquelle tourne Dnsmasq. Si une option de nom de domaine a été définie, son contenu est transmis. Cette option de configuration permet de changer toutes ces valeurs par défaut, ou de spécifier d’autres options. L’option DHCP à transmettre peut être fournie sous forme d’un nombre décimal ou sous la forme “option:<​nom d’option>​”. Les nombres correspondants aux options sont définis dans la RFC2132 et suivants. Les noms d’options connus par Dnsmasq peuvent être obtenus via “Dnsmasq –help dhcp”. Par exemple, pour définir la route par défaut à 192.168.4.4,​ il est possible de faire –dhcp-option=3,​192.168.4.4–dhcp-option = option:​router,​ 192.168.4.4 ou encore, pour positionner l’adresse du serveur–dhcp-option = 42,​192.168.0.4 ou –dhcp-option = option:​ntp-server,​ 192.168.0.4 L’adresse 0.0.0.0 prends ici le sens “d’adresse de la machine sur laquelle tourne Dnsmasq”. Les types de données autorisées sont des adresses IP sous la forme de 4 chiffres séparés par des points, un nombre décimal, une liste de caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères. Si des identifiants de réseaux sont fournis, alors cette option n’est envoyée qu’aux réseaux dont tous les identifiants coïncident.
Ligne 188: Ligne 200:
 Dans le cas présent, je fixe l'​adresse ip 192.168.1.2 pour l'​ordinateur ayant la mac adresse 00:​16:​d4:​f5:​5d:​64. Par souci de simplicité,​ j'​attribue toujours les adresses ip fixes en dehors de mon dhcp-range. Dans le cas présent, je fixe l'​adresse ip 192.168.1.2 pour l'​ordinateur ayant la mac adresse 00:​16:​d4:​f5:​5d:​64. Par souci de simplicité,​ j'​attribue toujours les adresses ip fixes en dehors de mon dhcp-range.
  
 +===== Configuration du cache DNS =====
 +Pour configurer dnsmasq comme un démon de mise en cache DNS sur une seul ordinateur éditez ''/​etc/​dnsmasq.conf''​ et décommentez la directive ''​listen-address'',​ en ajoutant l'​adresse IP localhost:
 +<​file>​listen-address=127.0.0.1</​file>​
 +Pour utiliser cet ordinateur pour écouter son adresse IP LAN pour d'​autres ordinateurs sur le réseau:
 +<​file>​listen-address=192.168.1.1 ​   # IP Example</​file>​
 +<note tip>Il est recommandé d'​utiliser une IP LAN statique dans ce cas.</​note>​
 +Pour plusieurs adresse IP séparez-les d'une virgule:
 +<​file>​listen-address=127.0.0.1,​192.168.1.1</​file>​
 +
 +===== Bloquer un domaine avec DNSMASQ =====
 +Si vous souhaitez bloquer un domaine ou sous-domaine,​ dnsmasq permet cela simplement:​\\
 +Éditez
 +<file - /​etc/​NetworkManager/​dnsmasq.d/​local>​
 +#modèle:
 +address=/​sousdomaine.domaine/​127.0.0.1
 +#exemple:
 +# bloque tous le domaine io
 +address=/​.io/​127.0.0.1
 +# bloque un site à éviter parmi tant d'​autres
 +address=/​facebook.com/​127.0.0.1
 +</​file>​
 +source [[https://​askubuntu.com/​questions/​150135/​how-to-block-specific-domains-in-hosts-file|sur askubuntu (en)]]
 ===== Liens et ressources complémentaires ===== ===== Liens et ressources complémentaires =====
  
  
-Cet article est une copie et une adaptation de : [[http://​www.jopa.fr/​index.php/​2008/​10/​30/​dnsmasq-dns-cache-et-dhcp/​|http://​www.jopa.fr/​index.php/​2008/​10/​30/​dnsmasq-dns-cache-et-dhcp/​]]+<del>Cet article est une copie et une adaptation de : [[http://​www.jopa.fr/​index.php/​2008/​10/​30/​dnsmasq-dns-cache-et-dhcp/​|http://​www.jopa.fr/​index.php/​2008/​10/​30/​dnsmasq-dns-cache-et-dhcp/​]]</​del>​ 
 + 
 +<​del>​Explication très détaillée des dhcp-options en anglais : [[http://​www.networksorcery.com/​enp/​protocol/​bootp/​options.htm]]</​del>​
  
-Explication trés détaillée des dhcp-options en anglais : [[http://​www.networksorcery.com/​enp/​protocol/​bootp/​options.htm]]+[[configuration_serveur_dns_pour_son_poste_de_travail|Configurer un serveur DNS pour son poste de travail avec Dnsmasq]]
  
-Site officiel de DnsMasq : [[ http://​www.thekelleys.org.uk/​dnsmasq/​doc.html]]+Site officiel de DnsMasq : [[http://​www.thekelleys.org.uk/​dnsmasq/​doc.html]]
  
 ---- ----
 //​Contributeurs : Rédigée et maintenue par [[utilisateurs/​RedLemon]]//​ //​Contributeurs : Rédigée et maintenue par [[utilisateurs/​RedLemon]]//​
  • configuration_serveur_dns_dhcp.1244966282.txt.gz
  • Dernière modification: Le 14/06/2009, 09:58
  • par 213.95.41.13