blob: 0de43338a5784ed8e81a505c94ea312cb194b95c [file] [log] [blame]
Simon Kelley824af852008-02-12 20:43:05 +00001.TH DNSMASQ 8
2.SH NAME
3Dnsmasq \- Un serveur DHCP et cache DNS poids-plume.
4.SH SYNOPSIS
5.B dnsmasq
6.I [OPTION]...
7.SH "DESCRIPTION"
8.BR dnsmasq
Simon Kelley834f36f2013-04-17 13:52:49 +01009est un serveur à faible empreinte mémoire faisant DNS, TFTP, PXE, annonces de
10routeurs et DHCP. Il offre à la fois les services DNS et DHCP pour un réseau
11local (LAN).
Simon Kelley824af852008-02-12 20:43:05 +000012.PP
13Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache
14local, soit en effectuant une requête à un serveur DNS récursif externe (par
15exemple celui de votre fournisseur d'accès internet). Il charge le contenu du
16fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS
17globaux soient tout de même résolus, et assure également la résolution de nom
Simon Kelley834f36f2013-04-17 13:52:49 +010018pour les hôtes présents dans le service DHCP. Il peut aussi agir en temps que
19serveur DNS faisant autorité pour un ou plusieurs domaines, permettant à des
20noms locaux d'apparaitre dans le DNS global.
Simon Kelley824af852008-02-12 20:43:05 +000021.PP
Simon Kelley7622fc02009-06-04 20:32:05 +010022Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques et les
Simon Kelley834f36f2013-04-17 13:52:49 +010023réseaux multiples. Il fournit par défaut un jeu raisonnable de paramètres DHCP,
24et peut être configuré pour fournir n'importe quelle option DHCP.
Simon Kelley824af852008-02-12 20:43:05 +000025Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via
Simon Kelley834f36f2013-04-17 13:52:49 +010026le réseau/PXE de clients DHCP et supporte également le protocole BOOTP. Le
27support PXE est complet, et comprend un mode proxy permettant de fournir des
28informations PXE aux clients alors que l'allocation DHCP est effectuée par un
29autre serveur.
Simon Kelley824af852008-02-12 20:43:05 +000030.PP
Simon Kelley834f36f2013-04-17 13:52:49 +010031Le serveur DHCPv6 de dnsmasq possède non seulement les mêmes fonctionalités
32que le serveur DHCPv4, mais aussi le support des annonces de routeurs ainsi
33qu'une fonctionalité permettant l'addition de ressources AAAA pour des
34clients utilisant DHCPv4 et la configuration IPv6 sans état (stateless
35autoconfiguration).
36Il inclut le support d'allocations d'adresses (à la fois en DHCPv6 et en
37annonces de routeurs - RA) pour des sous-réseaux dynamiquement délégués via
38une délégation de préfixe DHCPv6.
39.PP
40Dnsmasq est developpé pour de petits systèmes embarqués. It tends à avoir
41l'empreinte mémoire la plus faible possible pour les fonctions supportées,
42et permet d'exclure les fonctions inutiles du binaire compilé.
Simon Kelley824af852008-02-12 20:43:05 +000043.SH OPTIONS
44Notes : Il est possible d'utiliser des options sans leur donner de paramètre.
45Dans ce cas, la fonction correspondante sera désactivée. Par exemple
46.B --pid-file=
47(sans paramètre après le =) désactive l'écriture du fichier PID.
48Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU
49getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle
50est toujours supportée dans le fichier de configuration.
51.TP
Simon Kelley7622fc02009-06-04 20:32:05 +010052.B --test
53Vérifie la syntaxe du ou des fichiers de configurations. Se termine avec le
54code de retour 0 si tout est OK, ou un code différent de 0 dans le cas
55contraire. Ne démarre pas Dnsmasq.
56.TP
Simon Kelley824af852008-02-12 20:43:05 +000057.B \-h, --no-hosts
58Ne pas charger les noms du fichier /etc/hosts.
59.TP
60.B \-H, --addn-hosts=<fichier>
61Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts.
62Si
63.B -h
64est spécifié, lire uniquement le fichier spécifié. Cette option peut être
Simon Kelley7622fc02009-06-04 20:32:05 +010065répétée afin d'ajouter d'autres fichiers. Si un répertoire est donné, lis les
66fichiers contenus dans ce répertoire.
Simon Kelley824af852008-02-12 20:43:05 +000067.TP
68.B \-E, --expand-hosts
69Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le
70nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service
Simon Kelley1f15b812009-10-13 17:49:32 +010071DHCP. Notez que cela ne s'applique pas au nom de domaine dans les CNAME, les
72enregistrements PTR, TXT, etc...
Simon Kelley824af852008-02-12 20:43:05 +000073.TP
74.B \-T, --local-ttl=<durée>
75Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou
76avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro,
77afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être
78mise dans un cache. Ceci est le comportement correct dans presque toutes les
79situations.
80Cette option permet de spécifier la valeur de time-to-live à retourner (en
81secondes). Cela permet de réduire la charge sur le serveur, mais les clients
82risquent d'utiliser des données périmées dans certains cas.
83.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +010084.B --neg-ttl=<durée>
85Les réponses négatives provenant des serveurs amonts contiennent normalement
86une information de durée de vie (time-to-live) dans les enregistrements SOA,
87information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse
88du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette
89option permet de doner une valeur de durée de vie par défaut (en secondes) que
90dnsmasq utilise pour mettre les réponses négatives dans son cache, même en
91l'absence d'enregistrement SOA.
92.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +010093.B --max-ttl=<durée>
94Définie la valeur de TTL maximum qui sera fournie aux clients. La valeur maximum
Simon Kelley834f36f2013-04-17 13:52:49 +010095de TTL spécifiée sera fournie aux clients en remplacement de la vraie valeur de
96TTL si cette dernière est supérieure. La valeur réelle de TTL est cependant
97conservée dans le cache afin d'éviter de saturer les serveurs DNS en amont.
98.TP
99.B --max-cache-ttl=<durée>
100Définie la valeur de TTL maximum pour les entrées dans le cache
101.TP
102.B --auth-ttl=<durée>
103Définie la valeur de TTL retournée pour les réponses du serveur faisant
104autorité.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100105.TP
Simon Kelley824af852008-02-12 20:43:05 +0000106.B \-k, --keep-in-foreground
107Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner
108normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools
109ou launchd.
110.TP
111.B \-d, --no-daemon
112Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de
113fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet
114du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la
115sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de
Simon Kelley834f36f2013-04-17 13:52:49 +0100116processus fils pour traiter les requêtes TCP. A noter que cette option est à
117user pour du déverminage seulement : pour empêcher dnsmasq se fonctionner en
118mode démon en production, utiliser
119.B -k.
Simon Kelley824af852008-02-12 20:43:05 +0000120.TP
121.B \-q, --log-queries
122Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier
123de traces ("logs"). Active la génération d'un état complet du cache lors de la
124réception d'un signal SIGUSR1.
125.TP
126.B \-8, --log-facility=<facility>
127Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par
128défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient
129au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100130enverra les logs dans le fichier correspondant à la place du syslog. Si la
131"facility" est '-', alors dnsmasq envoie les logs sur la sortie d'erreur
132standard stderr. (Les erreurs lors de la lecture de la configuration vont
133toujours vers le syslog, mais tous les messages postérieurs à un démarrage
134réussi seront exclusivement envoyés vers le fichier de logs).
135Lorsque Dnsmasq est configuré pour envoyer
Simon Kelley824af852008-02-12 20:43:05 +0000136ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la
137fermeture et réouverture du fichier. Cela permet la rotation de fichiers de
138traces sans nécessiter l'arrêt de Dnsmasq.
139.TP
140.B --log-async[=<lignes>]
141Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le
142nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque
143l'écriture vers le syslog est lente.
144Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de
145continuer à fonctionner sans être bloqué par le syslog, et permet à syslog
146d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage.
147Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et
148le nombre de messages perdus. La longueur par défaut de la file d'attente est de
1495 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum
150imposée de 100.
151.TP
152.B \-x, --pid-file=<chemin>
153Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur
154par défaut est /var/run/dnsmasq.pid.
155.TP
156.B \-u, --user=<nom d'utilisateur>
157Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage.
158Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"),
159mais abandonne ses privilèges après le démarrage en changeant d'identité.
160Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est
161possible d'en définir un autre par le biais de ce paramètre.
162.TP
163.B \-g, --group=<nom de groupe>
164Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du
165groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui
166n'est en général pas en lecture par tout le monde.
167.TP
168.B \-v, --version
169Imprime le numéro de version.
170.TP
171.B \-p, --port=<port>
Simon Kelley1a6bca82008-07-11 11:11:42 +0100172Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer
173cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif
174que le DHCP ou le TFTP.
Simon Kelley824af852008-02-12 20:43:05 +0000175.TP
176.B \-P, --edns-packet-max=<taille>
177Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le
Simon Kelley316e2732010-01-22 20:16:09 +0000178défaut est de 4096, qui est la valeur recommandée dans la RFC5625.
Simon Kelley824af852008-02-12 20:43:05 +0000179.TP
180.B \-Q, --query-port=<numéro de port>
181Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par
Simon Kelley1a6bca82008-07-11 11:11:42 +0100182<numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends
183dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais
184cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner
185une valeur de zéro à cette option restaure le comportement par défaut présent dans
186les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port
187alloué par le système d'exploitation.
188.TP
189.B --min-port=<port>
190Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre
191pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les
192requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours
193au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs
194garde-barrières ("firewalls").
Simon Kelley824af852008-02-12 20:43:05 +0000195.TP
196.B \-i, --interface=<nom d'interface>
197N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement
198l'interface locale ("loopback") à la liste des interfaces lorsque l'option
199.B --interface
200est utilisée.
201Si aucune option
202.B --interface
203ou
204.B --listen-address
205n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf
206celle(s) spécifiée(s) par l'option
207.B --except-interface.
208Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec
209.B --interface
210ni
211.B \--except-interface.
212Utiliser l'option
213.B --listen-address
Simon Kelley834f36f2013-04-17 13:52:49 +0100214à la place. Un simple joker, consistant d'un '*' final, peut-être utilisé dans
215les options
216.B \--interface
217et
218.B \--except-interface
Simon Kelley824af852008-02-12 20:43:05 +0000219.TP
220.B \-I, --except-interface=<interface name>
221Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les
222options
223.B \--listen-address
224,
225.B --interface
226et
227.B --except-interface
228sont fournies n'importe pas, et que l'option
229.B --except-interface
230l'emporte toujours sur les autres.
Simon Kelley834f36f2013-04-17 13:52:49 +0100231.TP
232.B --auth-server=<domaine>,<interface>|<addresse IP>
233Active le mode DNS faisant autorité pour les requêtes arrivant sur cette
234interface ou sur cette adresse. Noter que l'interface ou l'adresse n'ont
235pas besoin d'être mentionées ni dans
236.B --interface
237ni dans
238.B --listen-address
239En effet,
240.B --auth-server
241va passer outre ceux-ci et fournir un service DNS différent sur l'interface
242spécifiée. La valeur de <domaine> est l'enregistrement de type "colle"
243("glue record"). Il doit correspondre dans le service DNS global avec un
244enregistrement de type A et/ou AAAA pointant sur l'adresse sur laquelle dnsmasq
245écoute pour le mode DNS faisant autorité.
Simon Kelley824af852008-02-12 20:43:05 +0000246.TP
247.B \-2, --no-dhcp-interface=<nom d'interface>
248Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de
249même le service DNS.
250.TP
251.B \-a, --listen-address=<adresse IP>
252Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options
253.B \--interface
254et
255.B \--listen-address
256peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et
257d'adresses seront utilisées. Notez que si
258aucune option
259.B \--interface
260n'est donnée alors qu'une option
261.B \--listen-address
262l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale
263("loopback"). Pour activer l'écoute sur l'interface locale, il est alors
264nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option
265.B \--listen-address.
266.TP
267.B \-z, --bind-interfaces
268Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker
269("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par
270la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette
271situation présente l'avantage de fonctionner même lorsque les interfaces vont
272et viennent ou changent d'adresses. L'option
273.B --bind-interfaces
274force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles
275il doit écouter. L'un des seuls cas où cette option est utile est celui où un
276autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même
277machine. Utiliser cette option permet également d'avoir plusieurs instances de
278Dnsmasq fournissant un service DHCP sur la même machine.
279.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +0100280.B --bind-dynamic
281Autorise un mode réseau intermédiaire entre
282.B --bind-interfaces
283et le mode par défaut. Dnsmasq s'associe à une seule interface, ce qui permet
284plusieurs instances de dnsmasq, mais si une interface ou adresse apparaissent,
285il se mettra automatiquement à écouter sur celles-ci (les règles de contrôle
286d'accès s'appliquent).
287De fait, les interfaces créées dynamiquement fonctionnent de la même façon que
288dans le comportement par défaut. Ce fonctionnement nécessite des APIs réseau
289non standard et n'est disponible que sous Linux. Sur les autres plateformes,
290le fonctionnement est celui du mode --bind-interfaces.
291.TP
Simon Kelley824af852008-02-12 20:43:05 +0000292.B \-y, --localise-queries
293Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle
294la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans
295/etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au
296moins est dans le même sous-réseau que l'interface sur laquelle la requête a été
297reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela
298permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour
299chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur
300le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée
301à IPv4.
302.TP
303.B \-b, --bogus-priv
304Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS
305inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas
306trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées
307une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises
308aux serveurs de nom amont ("upstream server").
309.TP
Simon Kelley73a08a22009-02-05 20:28:08 +0000310.B \-V, --alias=[<ancienne IP>]|[<IP de début>-<IP de fin>],<nouvelle IP>[,<masque>]
Simon Kelley824af852008-02-12 20:43:05 +0000311Modifie les adresses IPv4 retournées par les serveurs de nom amont;
312<ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est
313fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque>
314sera réécrite. Ainsi par exemple
315.B --alias=1.2.3.0,6.7.8.0,255.255.255.0
316modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67.
317Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent
Simon Kelley73a08a22009-02-05 20:28:08 +0000318"bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnée sous la forme
319d'une gamme d'adresses, alors seules les adresses dans cette gamme seront
320réecrites, et non le sous-réseau dans son ensemble. Ainsi,
321.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
322fait correspondre 192.168.0.10->192.168.0.40 à 10.0.0.10->10.0.0.40
Simon Kelley824af852008-02-12 20:43:05 +0000323.TP
324.B \-B, --bogus-nxdomain=<adresse IP>
325Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel
326domaine" ("no such domain"). Ceci a pour but de neutraliser la modification
327sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé
328à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour
329les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN".
330Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il
331constate ce comportement. L'adresse retournée par Verisign en septembre 2003
332est 64.94.110.11.
333.TP
334.B \-f, --filterwin2k
335Les dernières versions de windows font des requêtes DNS périodiques auxquelles
336non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui,
337de surcroît, peuvent poser des problèmes en déclenchant des connexions
338intempestives pour des liens réseaux avec des connexions "à la demande". Fournir
339cette option active le filtrage des requêtes de ce type. Les requêtes bloquées
340sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de
341type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des
342serveurs LDAP).
343.TP
344.B \-r, --resolv-file=<fichier>
345Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>,
346au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le
347manuel pour
348.BR resolv.conf (5)
349les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire
350plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le
351fichier par défaut, le contenu des suivants est rajouté dans la liste des
352fichiers à consulter. Seul le fichier ayant la dernière date de modification
353sera chargé en mémoire.
354.TP
355.B \-R, --no-resolv
356Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des
357serveurs de nom amont que depuis la ligne de commande ou le fichier de
358configuration de Dnsmasq.
359.TP
Simon Kelley834f36f2013-04-17 13:52:49 +0100360.B \-1, --enable-dbus[=<nom de service>]
Simon Kelley824af852008-02-12 20:43:05 +0000361Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de
362méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de
363serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette
Simon Kelley834f36f2013-04-17 13:52:49 +0100364option nécessite que Dnsmasq soit compilé avec le support DBus. Si un nom de
365service est fourni, dnsmasq fourni un service à ce nom, plutôt qu'avec la
366valeur par défaut :
367.B uk.org.thekelleys.dnsmasq
Simon Kelley824af852008-02-12 20:43:05 +0000368.TP
369.B \-o, --strict-order
370Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts
371dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait
372fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque
373requête, les serveurs DNS dans leur ordre d'apparition dans le fichier
374/etc/resolv.conf.
375.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100376.B --all-servers
377Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie
378les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à
379effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé
380au client sera celui fournit par le premier serveur ayant répondu.
381.TP
382.B --stop-dns-rebind
383Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme
384d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les
385serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant
386à détourner de leur usage les logiciels de navigation web ('browser') en s'en
387servant pour découvrir les machines situées sur le réseau local.
388.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100389.B --rebind-localhost-ok
390Exclue 127.0.0/8 des vérifications de réassociation DNS. Cette gamme d'adresses
391est retournée par les serveurs Realtime Blackhole (RBL, utilisés dans la
392lutte contre le spam), la bloquer peut entraîner des disfonctionnements de ces
393services.
394.TP
395.B --rebind-domain-ok=[<domaine>]|[[/<domaine>/[<domaine>/]
396Ne pas détecter ni bloquer les actions de type dns-rebind pour ces domaines.
397Cette option peut prendre comme valeur soit un nom de domaine soit plusieurs
398noms de domains entourés par des '/', selon une syntaxe similaire à l'option
399--server, c-à-d :
400.B --rebind-domain-ok=/domaine1/domaine2/domaine3/
401.TP
Simon Kelley824af852008-02-12 20:43:05 +0000402.B \-n, --no-poll
403Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié.
404.TP
405.B --clear-on-reload
Gildas1f776a42013-10-25 10:05:22 +0100406Lorsque le fichier /etc/resolv.conf est relu, ou si les serveurs amonts sont
407configurés via DBus, vider le cache DNS.
Simon Kelley824af852008-02-12 20:43:05 +0000408Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données
409différentes de celles stockées dans le cache.
410.TP
411.B \-D, --domain-needed
Simon Kelley7de060b2011-08-26 17:24:52 +0100412Indique à Dnsmasq de ne jamais transmettre en amont de requêtes A ou AAAA pour
413des noms simples, c'est à dire ne comprenant ni points ni nom de domaine. Si un
414nom n'est pas dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse
415de type "non trouvé" est renvoyée.
Simon Kelley824af852008-02-12 20:43:05 +0000416.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100417.B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]
Simon Kelley824af852008-02-12 20:43:05 +0000418Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne
419supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela
420l'option
421.B -R .
422Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce
423serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute
424requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur.
425Cette option est destinée aux serveurs de nom privés : si vous avez un serveur
426de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la
427résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors
428.B -S /internal.thekelleys.org.uk/192.168.1.1
429enverra toutes les requêtes pour les machines internes vers ce serveur de nom,
430alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans
431le fichier /etc/resolv.conf. Une spécification de nom de domaine vide,
432.B //
433possède le sens particulier de "pour les noms non qualifiés uniquement",
434c'est-à-dire les noms ne possédant pas de points. Un port non standard peut être
435rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une
436option
437.B -S
438est autorisée, en répétant les domaines et adresses IP comme requis.
439
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100440Le domaine le plus spécifique l'emporte sur le domaine le moins spécifique,
441ainsi :
442.B --server=/google.com/1.2.3.4
443.B --server=/www.google.com/2.3.4.5
444enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes
445*www.google.com, qui seront envoyées à 2.3.4.5.
446
447L'adresse spéciale '#' signifie "utiliser les serveurs standards", ainsi
448.B --server=/google.com/1.2.3.4
449.B --server=/www.google.com/#
450enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes
451pour *www.google.com qui seront envoyées comme d'habitude (c-à-d aux serveurs
452définis par défaut).
453
Simon Kelley824af852008-02-12 20:43:05 +0000454Il est également permis de donner une option
455.B -S
456avec un nom de domaine mais sans
457adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre
458aux requêtes le concernant depuis les entrées contenues dans le fichier
459/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes
460aux serveurs amonts.
461.B local
462est synonyme de
463.B server
464("serveur") afin de rendre plus claire l'utilisation de cette option pour cet
465usage particulier.
466
Simon Kelley7de060b2011-08-26 17:24:52 +0100467Les adresses IPv6 peuvent inclure un identifiant de zone sous la forme
468%interface tel que par exemple
469fe80::202:a412:4512:7bbf%eth0.
470
Simon Kelley1a6bca82008-07-11 11:11:42 +0100471La chaîne de caractères optionnelle suivant le caractère @ permet de définir
472la source que Dnsmasq doit utiliser pour les réponses à ce
473serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur
Simon Kelley824af852008-02-12 20:43:05 +0000474laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera
Simon Kelley1a6bca82008-07-11 11:11:42 +0100475consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom
476d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées
477depuis cette interface; si une adresse ip est donnée, alors l'adresse source de
478la requête sera l'adresse en question. L'option query-port est ignorée pour tous
479les serveurs ayant une adresse source spécifiée, mais il est possible de la donner
480directement dans la spécification de l'adresse source. Forcer les requêtes à être
481émises depuis une interface spécifique n'est pas possible sur toutes les plateformes
482supportées par dnsmasq.
Simon Kelley824af852008-02-12 20:43:05 +0000483.TP
484.B \-A, --address=/<domaine>/[domaine/]<adresse IP>
485Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis
486en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux
487serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être
488une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse
489IPv6 pour un domaine, utiliser plusieurs options
490.B -A.
491Il faut noter que le
492contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des
493noms individuels. Une utilisation courante de cette option est de rediriger la
494totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les
495bannières publicitaires. La spécification de domaine fonctionne de la même façon
496que
497.B --server,
498avec la caractéristique supplémentaire que
499.B /#/
500coïncide avec tout domaine. Ainsi,
501.B --address=/#/1.2.3.4
502retournera 1.2.3.4 pour toute requête
503n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas
504transmise à un serveur spécifique par le biais d'une directive
505.B --server.
506.TP
Simon Kelley834f36f2013-04-17 13:52:49 +0100507.B --ipset=/<domaine>/[domaine/]<ipset>[,<ipset>]
508Obtient les adresses IP des domaines spécifiés et les place dans les groupes
509d'IP netfilter (ipset) indiqués. Domaines et sous-domaines sont résolus de la
510même façon que pour --address. Ces groupes d'IP doivent déjà exister. Voir
511ipset(8) pour plus de détails.
512.TP
Simon Kelley824af852008-02-12 20:43:05 +0000513.B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>]
514Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom
515donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans
516l'option
517.B --mx-target
518si elle est présente. Sinon retourne le nom de la machine
519sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option
520.B --mx-target
521) est utile dans un réseau local pour rediriger les courriers
522électroniques vers un serveur central. La valeur de préférence est optionnelle
523et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être
524fournie pour un hôte donné.
525.TP
526.B \-t, --mx-target=<nom d'hôte>
527Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des
528enregistrements de type MX. Voir
529.B --mx-host.
530Si
531.B --mx-target
532est donné mais pas de
533.B --mx-host,
534alors Dnsmasq retourne comme réponse un enregistrement MX
535contenant le nom d'hôte spécifié dans l'option
536.B --mx-target
537pour toute requête
538concernant le MX de la machine sur laquelle tourne Dnsmasq.
539.TP
540.B \-e, --selfmx
541Définit, pour toutes les machines locales, un MX correspondant à l'hôte
542considéré. Les machines locales sont celles définies dans le fichier /etc/hosts
543ou dans un bail DHCP.
544.TP
545.B \-L, --localmx
546Définit, pour toutes les machines locales, un enregistrement MX pointant sur
547l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les
548machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail
549DHCP.
550.TP
551.B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]]
552Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de
553détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur
554fournie dans l'option
555.B --domain.
556La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors
557que les poids et priorités par défaut sont 0. Attention lorsque vous transposez
558des valeurs issues d'une configuration BIND : les ports, poids et priorités sont
559dans un ordre différents. Pour un service/domaine donné, plus d'un
560enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont
561retournés dans la réponse.
562.TP
Simon Kelleye46164e2012-04-16 16:39:38 +0100563.B --host-record=<nom>[,<nom>....][<adresse IPv4>],[<adresse IPv6>]
564Ajoute des enregistrements A, AAAA et PTR dans le DNS. Ceci permet d'ajouter
565un ou plusieurs noms dans le DNS et de les associer à des enregistrements IPv4
566(A) ou IPv6 (AAAA). Un nom peut apparaître dans plus d'une entrée
567.B host-record
568et de fait être associé à plus d'une adresse. Seule la première entrée créée
569l'enregistrement PTR associée au nom. Ceci correspond à la même règle que celle
570utilisée lors de la lecture du fichier hosts.
571Les options
572.B host-record
573sont considérées lues avant le fichier hosts, ainsi un nom apparaissant dans
574une option host-record et dans le fichier hosts n'aura pas d'enregistrement
575PTR associé à l'entrée dans le fichier hosts. A l'inverse du fichier hosts, les
576noms ne sont pas étendus, même lorsque l'option
577.B expand-hosts
578est activée. Les noms longs et les noms courts peuvent apparaitre dans la même
579entrée
580.B host-record,
581c-à-d
582.B --host-record=laptop,laptop.thekelleys.org,192.168.0.1,1234::100
583.TP
Simon Kelley824af852008-02-12 20:43:05 +0000584.B \-Y, --txt-record=<nom>[[,<texte>],<texte>]
585Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est
586un ensemble de chaînes de caractères, donc un nombre variable de chaînes de
Simon Kelley28866e92011-02-14 20:19:14 +0000587caractères peuvent être spécifiées, séparées par des virgules. Utilisez des
588guillemets pour mettre une virgule dans une chaîne de caractères. Notez que la
589longueur maximale pour une chaîne est de 255 caractères, les chaînes plus
590longues étant découpées en morceaux de 255 caractères de longs.
Simon Kelley824af852008-02-12 20:43:05 +0000591.TP
592.B --ptr-record=<nom>[,<cible>]
593Définit un enregistrement DNS de type PTR.
594.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100595.B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>]
596Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403.
597.TP
Simon Kelley73a08a22009-02-05 20:28:08 +0000598.B --cname=<cname>,<cible>
599Retourne un enregistrement de type CNAME qui indique que <cname> est en
Gildas1f776a42013-10-25 10:05:22 +0100600réalité <cible>. Il existe des contraintes importantes sur la valeur
601cible; il doit s'agir d'un nom DNS qui est connu de dnsmasq via /etc/hosts
602(ou un fichier hôtes additionnel), via DHCP, via interface--name ou par un autre
Simon Kelleyc4c04882012-08-06 20:09:15 +0100603.B --cname.
604Si une cible ne satisfait pas ces critères, le CNAME est ignoré. Le CNAME
605doit être unique, mais il est autorisé d'avoir plus d'un CNAME pointant
606vers la même cible.
607.TP
608.B --dns-rr=<nom>,<numéro-RR>,[<données hexadécimales>]
609Retourne un enregistrement DNS arbitraire. Le numéro correspond au type
610d'enregistrement (qui est toujours de la classe C_IN). La valeur de
611l'enregistrement est donnée dans les données hexadécimales, qui peuvent
612être de la forme 01:23:45, 01 23 45,+012345 ou n'importe quelle combinaison.
Simon Kelley73a08a22009-02-05 20:28:08 +0000613.TP
Simon Kelley824af852008-02-12 20:43:05 +0000614.B --interface-name=<nom>,<interface>
615Définit un entregistrement DNS associant le nom avec l'adresse primaire sur
616l'interface donnée en argument. Cette option spécifie un enregistrement de type
617A pour le nom donné en argument de la même façon que s'il était défini par une
618ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de
619l'interface définie. Si l'interface est inactive, non existante ou non
620configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est
621également créé par cette option, associant l'adresse de l'interface avec le nom.
622Plus d'un nom peut être associé à une interface donnée en répétant cette option
623plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni
624dans la première instance de cette option.
625.TP
Gildas1f776a42013-10-25 10:05:22 +0100626.B --synth-domain=<domaine>,<plage d'adresses>[,<préfixe>]
627Créé des enregistrements A/AAAA ou PTR pour une plage d'adresses. Les
628enregistrements utilisent l'adresse ainsi que les points (ou les deux points
629dans le cas d'IPv6) remplacés par des tirets.
630
631Un exemple devrait rendre cela plus clair :
632La configuration
633.B --synth-domain=thekelleys.org.uk,192.168.0.0/24,internal-
634permet de retourner internal-192-168-0-56.thekelleys.org.uk lors d'une requête
635sur l'adresse 192.168.0.56 et vice-versa pour la requête inverse. La même
636logique s'applique pour IPv6, avec la particularité suivante : les adresses
637IPv6 pouvant commencer par '::', mais les noms DNS ne pouvant pas commencer
638par '-', si aucun préfixe n'est donné, un zéro est ajouté en début de nom.
639Ainsi, ::1 devient 0--1.
640
641La plage d'adresses peut-être de la forme
642<adresse IP>,<adresse IP> ou <adresse IP>/<masque réseau>
643.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000644.B --add-mac
645Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises aux serveurs
646amonts. Cela peut être utilisé dans un but de filtrage DNS par les serveurs
647amonts. L'adresse MAC peut uniquement être ajoutée si le requêteur est sur le
648même sous-réseau que le serveur dnsmasq. Veuillez noter que le mécanisme
649utilisé pour effectuer cela (une option EDNS0) n'est pas encore standardisée,
650aussi cette fonctionalité doit être considérée comme expérimentale. Notez
651également qu'exposer les adresses MAC de la sorte peut avoir des implications
Gildas1f776a42013-10-25 10:05:22 +0100652en termes de sécurité et de vie privée. L'avertissement donné pour --add-subnet
653s'applique également ici.
654.TP
655.B --add-subnet[[=<longueur de préfixe IPv4>],<longueur de préfixe IPv6>]
656Rajoute l'adresse de sous-réseau du requêteur aux requêtes DNS transmises
657aux serveurs amonts. La quantité d'adresses transmises dépend du paramètre
658longueur du préfixe : 32 (ou 128 dans le cas d'IPv6) transmet la totalité
659de l'adresse, 0 n'en transmet aucun mais marque néanmoins la requête ce qui
660fait qu'aucun serveur amont ne rajoutera d'adresse client. La valeur par
661défaut est zéro et pour IPv4 et pour IPv6. A noter que les serveurs amonts
662peuvent-être configurés pour retourner des valeurs différentes en fonction
663de cette information mais que le cache de dnsmasq n'en tient pas compte.
664Si une instance de dnsmasq est configurée de telle maniêre que des valeurs
665différentes pourraient-être rencontrés, alors le cache devrait être désactivé.
Simon Kelley28866e92011-02-14 20:19:14 +0000666.TP
Simon Kelley824af852008-02-12 20:43:05 +0000667.B \-c, --cache-size=<taille>
668Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms.
669Définir une valeur de zéro désactive le cache.
670.TP
671.B \-N, --no-negcache
672Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir
673des réponses de type "no such domain" fournies par les serveurs DNS en amont et
674de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs
675amont.
676.TP
677.B \-0, --dns-forward-max=<nombre de requêtes>
678Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est
679150, ce qui devrait être suffisant dans la majorité des configurations. La seule
680situation identifiée dans laquelle cette valeur nécessite d'être augmentée est
681lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de
682son journal des requêtes, ce qui peut générer un nombre important de requêtes
683simultanées.
684.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000685.B --proxy-dnssec
686Un resolveur sur une machine cliente peut effectuer la validation DNSSEC de
687deux façons : il peut effectuer lui-même les opérations de chiffrements sur
688la réponse reçue, ou il peut laisser le serveur récursif amont faire la
689validation et positionner un drapeau dans la réponse au cas où celle-ci est
690correcte. Dnsmasq n'est pas un validateur DNSSEC, aussi il ne peut effectuer
691la validation comme un serveur de nom récursif, cependant il peut retransmettre
692les résultats de validation de ses serveurs amonts. Cette option permet
693l'activation de cette fonctionalité. Vous ne devriez utiliser cela que si vous
694faites confiance aux serveurs amonts
695.I ainsi que le réseau entre vous et eux.
696Si vous utilisez le premier mode DNSSEC, la validation par le resolveur des
697clients, cette option n'est pas requise. Dnsmasq retourne toujours toutes les
698données nécessaires par un client pour effectuer la validation lui-même.
699.TP
Gildas1f776a42013-10-25 10:05:22 +0100700
701.B --auth-zone=<domaine>[,<sous-réseau>[/<longueur de préfixe>][,<sous-réseau>[/<longueur de préfixe>].....]]
Simon Kelley834f36f2013-04-17 13:52:49 +0100702Définie une zone DNS pour laquelle dnsmasq agit en temps que serveur faisant
703autorité. Les enregistrements DNS définis localement et correspondant à ce
Gildas1f776a42013-10-25 10:05:22 +0100704domaine seront fournis. Les enregistrements A et AAAA doivent se situer dans
705l'un des sous-réseaux définis, ou dans un réseau correspondant à une plage DHCP
706(ce comportement peut-être désactivé par
707.B constructor-noauth:
708). Le ou les sous-réseaux sont également utilisé(s) pour définir les domaines
709in-addr.arpa et ipv6.arpa servant à l'interrogation DNS inverse. Si la longueur
710de préfixe n'est pas spécifiée, elle sera par défaut de 24 pour IPv4 et 64 pour
711IPv6. Dans le cas d'IPv4, la longueur du masque de réseau devrait-être de 8, 16
712ou 24, sauf si en cas de mise en place d'une délégation de la zone in-addr.arpa
713conforme au RFC 2317.
Simon Kelley834f36f2013-04-17 13:52:49 +0100714.TP
715.B --auth-soa=<numéro de série>[,<mainteneur de zone (hostmaster)>[,<rafraichissement>[,<nombre de réessais>[,<expiration>]]]]
716Spécifie les champs de l'enregistrement de type SOA (Start Of Authority)
717associé à une zone pour laquelle le serveur fait autorité. A noter que cela est
718optionnel, les valeurs par défaut devant convenir à la majorité des cas.
719.TP
720.B --auth-sec-servers=<domaine>[,<domaine>[,<domaine>...]]
721Spécifie un ou plusieurs serveur de nom secondaires pour une zone pour
722laquelle dnsmasq fait autorité. Ces serveurs doivent-être configurés pour
723récupérer auprès de dnsmasq les informations liées à la zone au travers d'un
724transfert de zone, et répondre aux requêtes pour toutes les zones pour
725lesquelles dnsmasq fait autorité.
726.TP
727.B --auth-peer=<adresse IP>[,<adresse IP>[,<adresse IP>...]]
728Spécifie la ou les adresses de serveurs secondaires autorisés à initier des
729requêtes de transfert de zone (AXFR) pour les zones pour lesquelles
730dnsmasq fait autorité. Si cette option n'est pas fournie, les requêtes AXFR
731seront acceptées pour tous les serveurs secondaires.
732.TP
Simon Kelley7de060b2011-08-26 17:24:52 +0100733.B --conntrack
734Lis le marquage de suivi de connexion Linux associé aux requêtes DNS entrantes
735et positionne la même marque au trafic amont utilisé pour répondre à ces
736requétes. Cela permet au trafic généré par Dnsmasq d'étre associé aux requêtes
737l'ayant déclenché, ce qui est pratique pour la gestion de la bande passante
738(accounting) et le filtrage (firewall). Dnsmasq doit pour cela être compilé
739avec le support conntrack, le noyau doit également inclure conntrack et être
740configuré pour cela. Cette option ne peut pas être combinée avec
Simon Kelleye46164e2012-04-16 16:39:38 +0100741--query-port.
Simon Kelley7de060b2011-08-26 17:24:52 +0100742.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +0100743.B \-F, --dhcp-range=[tag:<label>[,tag:<label>],][set:<label>],]<adresse de début>[,<adresse de fin>][,<mode>][,<masque de réseau>[,<broadcast>]][,<durée de bail>]
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000744.TP
Simon Kelley834f36f2013-04-17 13:52:49 +0100745.B \-F, --dhcp-range=[tag:<label>[,tag:<label>],][set:<label>],]<addresse IPv6 de début>[,<adresse IPv6 de fin>|constructor:<interface>][,<mode>][,<longueur de préfixe>][,<durée de bail>]
746
Simon Kelley824af852008-02-12 20:43:05 +0000747Active le serveur DHCP. Les adresses seront données dans la plage comprise entre
748<adresse de début> et <adresse de fin> et à partir des adresses définies
749statiquement dans l'option
750.B dhcp-host.
751Si une durée de bail est donnée, alors les baux seront donnés pour cette
752durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m),
753en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une
Simon Kelley7622fc02009-06-04 20:32:05 +0100754durée indéterminée. Si aucune valeur n'est donnée, une durée de bail par défaut
755de une heure est appliquée. La valeur minimum pour un bail DHCP est de 2
756minutes.
Simon Kelleye46164e2012-04-16 16:39:38 +0100757
758Pour les plages IPv6, la durée de bail peut-être égale au mot-clef "deprecated"
759(obsolète); Cela positionne la durée de vie préférée envoyée dans les baux DHCP
760ou les annonces routeurs à zéro, ce qui incite les clients à utiliser d'autres
761adresses autant que possible, pour toute nouvelle connexion, en préalable à
762la renumérotation.
763
Simon Kelley1a6bca82008-07-11 11:11:42 +0100764Cette option peut être répétée, avec différentes adresses,
Simon Kelley824af852008-02-12 20:43:05 +0000765pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement
766connectés (c'est-à-dire des réseaux dans lesquels la machine sur laquelle tourne
Simon Kelley7de060b2011-08-26 17:24:52 +0100767Dnsmasq possède une interface), le masque de réseau est optionnel : Dnsmasq la
768déterminera à partir de la configuration des interfaces.
769
770Pour les réseaux pour lesquels le service DHCP se fait via un relais DHCP
771("relay agent"), Dnsmasq est incapable de déterminer le masque par lui-même,
772aussi il doit être spécifié, faute de quoi Dnsmasq essaiera de le deviner en
773fonction de la classe (A, B ou C) de l'adresse réseau. L'adresse de broadcast
774est toujours optionnelle.
Simon Kelley824af852008-02-12 20:43:05 +0000775
Simon Kelley7622fc02009-06-04 20:32:05 +0100776Il est toujours possible d'avoir plus d'une plage DHCP pour un même
777sous-réseau.
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000778
779Pour IPv6, les paramètres sont légèrement différents : au lieu d'un masque de
780réseau et d'une adresse de broadcast, il existe une longueur de préfixe
781optionnelle. Si elle est omise, la valeur par défaut est 64. À la différence
782d'IPv4, la longueur de préfixe n'est pas automatiquement déduite de la
783configuration de l'interface. La taille minimale pour la longueur de préfixe
784est 64.
785
Simon Kelley834f36f2013-04-17 13:52:49 +0100786Pour IPv6 (et IPv6 uniquement), il est possible de définir les plages d'une
787autre façon. Dans ce cas, l'adresse de départ et l'adresse de fin optionnelle
788contiennent uniquement la partie réseau (par exemple ::1) et sont suivies par
789.B constructor:<interface>.
790Cela forme un modèle décrivant comment construire la plage, à partir des
791adresses assignées à l'interface. Par exemple
792
793.B --dhcp-range=::1,::400,constructor:eth0
794
795provoque la recherche d'adresses de la forme <réseau>::1 sur eth0 et crée une
796plage allant de <réseau>::1 à <réseau>:400. Si une interface est assignée à
797plus d'un réseau, les plages correspondantes seront automatiquement créées,
798rendues obsolètes puis supprimées lorsque l'adress est rendue obsolète puis
799supprimée. Le nom de l'interface peut être spécifié avec un caractère joker '*'
800final.
801
Gildas1f776a42013-10-25 10:05:22 +0100802provoque la recherche d'adresses sur eth0 et crée une plage allant de
803<réseau>::1 à <réseau>:400. Si l'interface est assignée à
804plus d'un réseau, les plages correspondantes seront respectivement
805automatiquement créées, rendues obsolètes et supprimées lorsque l'adresse
806est rendue obsolète et supprimée. Le nom de l'interface peut être spécifié avec
807un caractère joker '*' final. Les adresses autoconfigurées, privées ou
808obsolètes ne conviennent pas.
809
810Si une plage dhcp-range est uniquement utilisée pour du DHCP sans-état
811("stateless") ou de l'autoconfiguration sans état ("SLAAC"), alors l'adresse
812peut-être indiquée sous la forme '::'
813
814.B --dhcp-range=::,constructor:eth0
815
816Il existe une variante de la syntaxe constructor: qui consiste en l'utilisation
817du mot-clef
818.B constructor-noauth.
819Voir
820.B --auth-zone
821pour des explications à ce sujet.
822
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100823L'identifiant de label optionnel
824.B set:<label>
825fournie une étiquette alphanumérique qui identifie ce réseau, afin de permettre
826la fourniture d'options DHCP spécifiques à chaque réseau.
827Lorsque préfixé par 'tag:', la signification change, et au lieu de définir un
Simon Kelley824af852008-02-12 20:43:05 +0000828label, il définit le label pour laquelle la règle s'applique. Un seul label peut-
829être défini mais plusieurs labels peuvent coïncider.
830
Simon Kelleye46164e2012-04-16 16:39:38 +0100831Le mot clef optionnel <mode> peut être égal à
Simon Kelley824af852008-02-12 20:43:05 +0000832.B static
Simon Kelleye46164e2012-04-16 16:39:38 +0100833("statique") ce qui indique à Dnsmasq d'activer le service DHCP pour le réseau
Simon Kelley7622fc02009-06-04 20:32:05 +0100834spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP : Seuls
835les hôtes possédant des adresses IP statiques fournies via
Simon Kelley824af852008-02-12 20:43:05 +0000836.B dhcp-host
Simon Kelley834f36f2013-04-17 13:52:49 +0100837ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP. Il est
838possible d'activer un mode "fourre-tout" en définissant un réseau statique
839comportant uniquement des zéros, c'est à dire :
840.B --dhcp=range=::,static
841Cela permet de retourner des réponses à tous les paquets de type
842Information-request (requête d'information) en mode DHCPv6 sans état sur le
843sous-réseau configuré.
Simon Kelley7622fc02009-06-04 20:32:05 +0100844
Simon Kelleye46164e2012-04-16 16:39:38 +0100845Pour IPv4, le <mode> peut est égal à
Simon Kelley7622fc02009-06-04 20:32:05 +0100846.B proxy
847, auquel cas Dnsmasq fournira un service de DHCP proxy pour le sous-réseau
848spécifié. (voir
849.B pxe-prompt
850et
851.B pxe-service
Simon Kelleye46164e2012-04-16 16:39:38 +0100852pour plus de détails).
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000853
Simon Kelleye46164e2012-04-16 16:39:38 +0100854Pour IPv6, le mode peut-être une combinaison des valeurs
855.B ra-only, slaac, ra-names, ra-stateless.
856
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000857.B ra-only
Simon Kelleye46164e2012-04-16 16:39:38 +0100858indique à dnsmasq de n'effectuer que des annonces de routeur (Router
859Advertisement, RA) sur ce sous-réseau, et de ne pas faire de DHCP.
860
861.B slaac
862indique à dnsmasq d'effectuer des annonces de routeur sur ce sous-réseau
863et de positionner dans celles-ci le bit A, afin que les clients utilisent
864des adresses SLAAC. Lorsqu'utilisé conjointement avec une plage DHCP ou des
865affectations statiques d'adresses DHCP, les clients disposeront à la fois
866d'adresses DHCP assignées et d'adresses SLAAC.
867
868.B ra-stateless
869indique à dnsmasq d'effectuer des annonces de routeur avec les bits 0 et A
870positionnés, et de fournir un service DHCP sans état ("stateless"). Les clients
871utiliseront des adresses SLAAC, et utiliseront DHCP pour toutes les autres
872informations de configuration.
873
874.B ra-names
875active un mode qui fourni des noms DNS aux hôtes fonctionnant en double pile
876("dual stack") et configurés pour faire du SLAAC en IPv6. Dnsmasq utilise le
877bail IPv4 de l'hôte afin de dériver le nom, le segment de réseau et l'adresse
878MAC et assume que l'hôte disposera d'une adresse IPv6 calculée via l'algorithme
879SLAAC, sur le même segment de réseau. Un ping est envoyé à l'adresse, et si une
880réponse est obtenue, un enregistrement AAAA est rajouté dans le DNS pour cette
881adresse IPv6. Veuillez-noter que cela n'arrive que pour les réseaux directement
882connectés (et non ceux pour lesquels DHCP se fait via relai), et ne
883fonctionnera pas si un hôte utilise les "extensions de vie privée"
884("privacy extensions").
885.B ra-names
886peut-être combiné avec
887.B ra-stateless
888et
889.B slaac.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100890
Simon Kelley824af852008-02-12 20:43:05 +0000891.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100892.B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,set:<label>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore]
Simon Kelley824af852008-02-12 20:43:05 +0000893Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine
894possédant une adresse matérielle spécifique de se voir toujours allouée les
895mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme
896ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est
897également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte,
898auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se
899réclamant de ce nom. Par exemple
900.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
901spécifie à Dnsmasq de fournir à la machine d'adresse matérielle
90200:20:e0:3b:13:af le nom, et un bail de durée indéterminée.
903
904.B --dhcp-host=lap,192.168.0.199
905spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100906l'adresse IP 192.168.0.199.
907
908Les adresses allouées de la sorte ne sont pas contraintes à une plage d'adresse
909spécifiée par une option --dhcp-range, mais elles se trouver dans le même
910sous-réseau qu'une plage dhcp-range valide. Pour les sous-réseaux qui n'ont pas
911besoin d'adresses dynamiquement allouées, utiliser le mot-clef "static" dans la
912déclaration de plage d'adresses dhcp-range.
913
Gildas1f776a42013-10-25 10:05:22 +0100914Il est possible d'utiliser des identifiants clients (appellé "DUID client" dans
915le monde IPv6) plutôt que des adresses matérielles pour identifier les hôtes,
916en préfixant ceux-ci par 'id:'. Ainsi,
Simon Kelley824af852008-02-12 20:43:05 +0000917.B --dhcp-host=id:01:02:03:04,.....
918réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de
919spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme
920ceci :
921.B --dhcp-host=id:identifiantclientsousformedechaine,.....
Simon Kelley73a08a22009-02-05 20:28:08 +0000922
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000923Un seul
924.B dhcp-host
925peut contenir une adresse IPv4, une adresse IPv6, ou les deux en même temps.
926Les adresses IPv6 doivent-être mises entre crochets comme suit :
927.B --dhcp-host=laptop,[1234::56]
Simon Kelley834f36f2013-04-17 13:52:49 +0100928Les adresses IPv6 peuvent ne contenir que la partie identifiant de client :
929.B --dhcp-host=laptop,[::56]
930Dans ce cas, lorsque des plages dhcp sont définies automatiquement par le biais
931de constructeurs, la partie réseau correspondante est rajoutée à l'adresse.
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000932
Gildas1f776a42013-10-25 10:05:22 +0100933A noter que pour le DHCP IPv6, l'adresse matérielle n'est pas toujours
934disponible, bien que ce soit toujours le cas pour des clients directement
935connectés (sur le même domaine de broadcast) ou pour des clients utilisant
936des relais DHCP qui supportent la RFC 6939.
937
938En DHCPv4, l'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser
Simon Kelley824af852008-02-12 20:43:05 +0000939que l'adresse matérielle". Cela est utile lorsqu'un client présente un
940identifiant client mais pas les autres.
941
942Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un
943bail DHCP mais seulement si une option
944.B --dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100945spécifiant le nom existe par ailleurs. Seul un nom d'hôte peut-être donné dans
946une option
947.B dhcp-host
948, mais les alias sont possibles au travers de l'utilisation des CNAMEs. (Voir
949.B --cname
950).
951Le mot clef "ignore" ("ignorer") indique
Simon Kelley824af852008-02-12 20:43:05 +0000952à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être
953spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte.
954Par exemple
955.B --dhcp-host=00:20:e0:3b:13:af,ignore
956Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par
Simon Kelley73a08a22009-02-05 20:28:08 +0000957certaines machines.
958
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100959Le paramètre set:<identifiant réseau> permet de définir un
Simon Kelley824af852008-02-12 20:43:05 +0000960identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100961à sélectionner des options DHCP juste pour cet hôte. Plus d'un label peut être
962fourni dans une directive dhcp-host (et dans cette seule directive). Lorsqu'une
963machine coïncide avec une directive dhcp-host (ou une impliquée par
964/etc/ethers), alors le label réservé "known" ("connu") est associé. Cela permet à
Simon Kelley824af852008-02-12 20:43:05 +0000965Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue
966 par le biais de
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100967.B --dhcp-ignore=tag:!known.
Simon Kelley824af852008-02-12 20:43:05 +0000968
969Les adresses ethernet (mais pas les identifiants clients) peuvent être définies
970avec des octets joker, ainsi par exemple
971.B --dhcp-host=00:20:e0:3b:13:*,ignore
972demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter
973que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets
974lorsque spécifié en option de ligne de commande, mais pas dans le fichier de
Simon Kelley73a08a22009-02-05 20:28:08 +0000975configuration.
976
977Les adresses matérielles coïncident en principe avec n'importe
Simon Kelley824af852008-02-12 20:43:05 +0000978quel type de réseau (ARP), mais il est possible de les limiter à un seul type
979ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi
980.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
981coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type
982ARP pour une adresse Token-Ring est 6.
Simon Kelley73a08a22009-02-05 20:28:08 +0000983
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000984Un cas spécial, pour IPv4, correspond à l'inclusion d'une ou plusieurs adresses
Simon Kelley73a08a22009-02-05 20:28:08 +0000985matérielles, c-à-d :
986.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2.
987Cela permet à une adresse IP d'être associé à plusieurs adresses
988matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP
989attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste
990demande un bail. Ceci est une opération dangereuse qui ne fonctionnera
991de manière fiable que si une adresse matérielle est active à un moment
992donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile,
993par exemple, pour allouer une adresse IP stable à un laptop qui
994aurait à la fois une connexion filaire et sans-fil.
Simon Kelley824af852008-02-12 20:43:05 +0000995.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000996.B --dhcp-hostsfile=<chemin>
997Lis les informations d'hôtes DHCP dans le fichier spécifié. Si l'argument est
998un chemin vers un répertoire, lis tous les fichiers de ce répertoire. Le
999fichier contient des informations à raison d'un hôte par ligne. Le format
1000d'une ligne est la même que le texte fourni à la droite sur caractère "=" dans
1001l'option
Simon Kelley824af852008-02-12 20:43:05 +00001002.B --dhcp-host.
1003L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est
1004que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera
1005relu lorsque Dnsmasq reçoit un signal SIGHUP.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001006.TP
Simon Kelley28866e92011-02-14 20:19:14 +00001007.B --dhcp-optsfile=<chemin>
1008Lis les informations relatives aux options DHCP dans le fichier spécifié. Si
1009l'argument est un chemin vers un répertoire, lis tous les fichiers de ce
1010répertoire. L'intérêt d'utiliser cette option est le même que pour
1011 --dhcp-hostsfile : le fichier spécifié sera rechargé à la réception par
1012dnsmasq d'un signal SIGHUP. Notez qu'il est possible d'encoder l'information
1013via
Simon Kelley1f15b812009-10-13 17:49:32 +01001014.B --dhcp-boot
1015en utilisant les noms optionnels bootfile-name, server-ip-address et
1016tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME
Simon Kelley1a6bca82008-07-11 11:11:42 +01001017.TP
Simon Kelley824af852008-02-12 20:43:05 +00001018.B \-Z, --read-ethers
1019Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de
1020/etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par
1021une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu
1022par Dnsmasq, ces lignes ont exactement le même effet que l'option
1023.B --dhcp-host
1024contenant les mêmes informations. /etc/ethers est relu à la réception d'un
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001025signal SIGHUP par Dnsmasq. Les adresses IPv6 ne sont PAS lues dans /etc/ethers.
Simon Kelley824af852008-02-12 20:43:05 +00001026.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001027.B \-O, --dhcp-option=[tag:<label>,[tag:<label>]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>|option6:<option>|option6:<nom d'option>],[<valeur>[,<valeur>]]
Simon Kelley824af852008-02-12 20:43:05 +00001028Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par
1029défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le
1030masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte
1031sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001032prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq.
1033(Des règles équivalentes s'appliquent en IPv6). Si une option de nom de domaine
1034a été définie, son contenu est transmis. Cette option de configuration permet
1035de changer toutes ces valeurs par défaut, ou de spécifier d'autres options.
1036L'option DHCP à transmettre peut être fournie sous forme d'un nombre décimal
1037ou sous la forme "option:<nom d'option>". Les nombres correspondants aux options
1038sont définis dans la RFC2132 et suivants. Les noms d'options connus par Dnsmasq
1039peuvent être obtenus via "Dnsmasq --help dhcp". Par exemple, pour définir la
1040route par défaut à 192.168.4.4, il est possible de faire
Simon Kelley824af852008-02-12 20:43:05 +00001041.B --dhcp-option=3,192.168.4.4
1042ou
1043.B --dhcp-option = option:router, 192.168.4.4
1044ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut
1045faire
1046.B --dhcp-option = 42,192.168.0.4
1047ou
1048.B --dhcp-option = option:ntp-server, 192.168.0.4
1049L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle
1050tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la
1051forme de 4 chiffres séparés par des points, un nombre décimal, une liste de
1052caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001053Si des labels optionnels sont fournis, alors cette option n'est envoyée
1054qu'aux réseaux dont tous les labels coïncident avec ceux de la requête.
Simon Kelley824af852008-02-12 20:43:05 +00001055
1056Un traitement spécial est effectué sur les chaînes de caractères fournies pour
1057l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les
1058adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments
1059de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous
1060forme de 4 chiffres séparés par des points suivies par une barre montante "/",
1061puis une taille de masque sont encodés conforméments à la RFC 3442.
1062
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001063Les options IPv6 sont fournies en utilisant le mot-clef
1064.B option6:
1065suivi par le numéro d'option ou le nom d'option. L'espace de nommage des options
1066IPv6 est disjint de l'espace de nommage des options IPv4. Les adresses IPv6
1067en option doivent être entourées de crochets, comme par exemple :
1068.B --dhcp-option=option6:ntp-server,[1234::56]
1069
Simon Kelley824af852008-02-12 20:43:05 +00001070Attention : aucun test n'étant fait pour vérifier que des données d'un type
1071adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible
1072de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation
1073incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq
1074doit déterminer la taille des données. Cela est fait en examinant le numéro de
1075l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une
1076lettre comme suit :
1077b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des
1078options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles
1079Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options
1080consistant uniquement de points et de décimaux sont interprétées par Dnsmasq
1081comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme
1082de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par
1083exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme
1084d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire
1085comme suit :
1086.B --dhcp-option=66,"1.2.3.4"
1087
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001088Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées
1089(pour IPv4 seulement) en utilisant
Simon Kelley824af852008-02-12 20:43:05 +00001090.B --dhcp-option
1091: par exemple
1092.B --dhcp-option=vendor:PXEClient,1,0.0.0.0
1093envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à
1094n'importe quel client dont la classe de vendeur correspond à "PXEClient". La
1095correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de
1096caractères (voir
1097.B --dhcp-vendorclass
1098pour plus de détails). Si une option de
1099classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé
1100pour sélectionner les options encapsulées, de préférence à toute option envoyée
1101par le client. Il est possible d'omettre complètement une classe de vendeur :
1102.B --dhcp-option=vendor:,1,0.0.0.0
1103Dans ce cas l'option encapsulée est toujours envoyée.
Simon Kelley73a08a22009-02-05 20:28:08 +00001104
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001105En IPv4, les options peuvent-être encapsulées au sein d'autres options :
Simon Kelley73a08a22009-02-05 20:28:08 +00001106par exemple
1107.B --dhcp-option=encap:175, 190, "iscsi-client0"
1108enverra l'option 175, au sein de laquelle se trouve l'option 190.
1109Plusieurs options encapsulées avec le même numéro d'option seront correctement
1110combinées au sein d'une seule option encapsulée. Il n'est pas possible de
1111spécifier encap: et vendor: au sein d'une même option dhcp.
1112
Simon Kelley316e2732010-01-22 20:16:09 +00001113La dernière variante pour les options encapsulées est "l'option de Vendeur
1114identifiant le vendeur" ("Vendor-Identifying Vendor Options") telle que
1115décrite dans le RFC3925. Celles-ci sont spécifiées comme suit :
1116.B --dhcp-option=vi-encap:2, 10, "text"
1117Le numéro dans la section vi-encap: est le numéro IANA de l'entreprise servant
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001118à identifier cette option. Cette forme d'encapsulation est également supportée
1119en IPv6.
Simon Kelley316e2732010-01-22 20:16:09 +00001120
Simon Kelley824af852008-02-12 20:43:05 +00001121L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans
Simon Kelley73a08a22009-02-05 20:28:08 +00001122une option encapsulée.
Simon Kelley824af852008-02-12 20:43:05 +00001123.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001124.B --dhcp-option-force=[tag:<label>,[tag:<label>]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]]
Simon Kelley824af852008-02-12 20:43:05 +00001125Cela fonctionne exactement de la même façon que
1126.B --dhcp-option
1127sauf que cette option sera toujours envoyée, même si le client ne la demande pas
1128dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors
1129de la fourniture d'options à PXELinux.
1130.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +01001131.B --dhcp-no-override
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001132(IPv4 seulement) Désactive la réutilisation des champs DHCP nom de serveur et
1133nom de fichier comme espace supplémentaire pour les options. Si cela est
Simon Kelley1a6bca82008-07-11 11:11:42 +01001134possible, dnsmasq déplace les informations sur le serveur de démarrage
1135et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs
1136dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est
1137alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans
1138quelques rares cas, perturber des clients vieux ou défectueux. Cette
1139option force le comportement à l'utilisation des valeurs "simples et sûres"
1140afin d'éviter des problèmes dans de tels cas.
1141.TP
Gildas1f776a42013-10-25 10:05:22 +01001142.B --dhcp-relay=<adresse locale>,<adresse de serveur>[,<interface]
1143Configure dnsmasq en temps que relais DHCP. L'adresse locale est une
1144adresse allouée à l'une interface de la machine sur laquelle tourne dnsmasq.
1145Toutes les requêtes DHCP arrivant sur cette interface seront relayées au
1146serveur DHCP distant correspondant à l'adresse de serveur indiquée. Il est
1147possible de relayer depuis une unique adresse locale vers différents serveurs
1148distant en spécifiant plusieurs fois l'option dhcp-relay avec la même adresse
1149locale et différentes adresses de serveur. L'adresse de serveur doit-être
1150sous forme numérique. Dans le cas de DHCPv6, l'adresse de serveur peut-être
1151l'adresse de multicast ff05::1:3 correspondant à tous les serveurs DHCP. Dans
1152ce cas, l'interface doit-étre spécifiée et ne peut comporter de caractère
1153joker. Elle sera utilisée pour indiquer l'interface à partir de laquelle le
1154multicast pourra atteindre le serveur DHCP.
1155
1156Le contrôle d'accès pour les clients DHCP suivent les mêmes règles que pour
1157les serveurs DHCP : voir --interface, --except-interface, etc. Le nom
1158d'interface optionel dans l'option dhcp-relay comporte une autre fonction :
1159il contrôle l'interface sur laquelle la réponse du serveur sera acceptée. Cela
1160sert par exemple dans des configurations à 3 interfaces : une à partir de
1161laquelle les requêtes sont relayées, une seconde permettant de se connecter à
1162un serveur DHCP, et une troisième reliée à un réseau non-sécurisé tel
1163qu'internet. Cela permet d'éviter l'arrivée de requêtes usurpées via cette
1164troisième interface.
1165
1166Il est permis de configurer dnsmasq pour fonctionner comme serveur DHCP sur
1167certaines interfaces et en temps que relais sur d'autres. Cependant, même s'il
1168est possible de configurer dnsmasq de telle manière qu'il soit à la fois
1169serveur et relais pour une même interface, cela n'est pas supporté et la
1170fonction de relais prendra le dessus.
1171
1172Le relais DHCPv4 et le relais DHCPv6 sont tous les deux supportés, mais il
1173n'est pas possible de relayer des requêtes DHCPv4 à un serveur DHCPv6 et
1174vice-versa.
1175.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001176.B \-U, --dhcp-vendorclass=set:<label>,[enterprise:<numéro IANA d'enterprise>,]<classe de vendeur>
1177
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001178Associe une chaîne de classe de vendeur à un label. La plupart
Simon Kelley824af852008-02-12 20:43:05 +00001179des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui
1180représente, d'une certaine façon, le type d'hôte. Cette option associe des
1181classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être
1182fournie de manière sélective aux différentes classes d'hôtes. Par exemple,
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001183.B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect
1184ou
Simon Kelley824af852008-02-12 20:43:05 +00001185.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect
1186permet de n'allouer des options qu'aux imprimantes HP de la manière suivante :
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001187.B --dhcp-option=tag:printers,3,192.168.4.4
Simon Kelley824af852008-02-12 20:43:05 +00001188La chaîne de caractères de la classe de vendeur founie en argument est cherchée
1189en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie
1190par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001191de caractères ("fuzzy matching"). Le préfixe set: est optionnel mais autorisé
1192afin de conserver une certaine homogénéité.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001193
1194Notez qu'en IPv6 (et seulement en IPv6), les noms de classes de vendeurs
1195sont dans un espace de nom associé au numéro attribué à l'entreprise par
1196l'IANA. Ce numéro est fourni par le biais du mot-clef enterprise: et seules
1197les classes de vendeurs associées au numéro spécifié seront cherchées.
Simon Kelley824af852008-02-12 20:43:05 +00001198.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001199.B \-j, --dhcp-userclass=set:<label>,<classe utilisateur>
1200Associe une chaîne de classe d'utilisateur à un label (effectue la
Simon Kelley824af852008-02-12 20:43:05 +00001201recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart
1202des clients permettent de configurer une "classe d'utilisateur". Cette option
1203associe une classe d'utilisateur à un label, de telle manière qu'il soit
1204possible de fournir des options DHCP spécifiques à différentes classes d'hôtes.
1205Il est possible, par exemple, d'utiliser ceci pour définir un serveur
1206d'impression différent pour les hôtes de la classe "comptes" et ceux de la
1207classe "ingénierie".
1208.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001209.B \-4, --dhcp-mac=set:<label>,<adresse MAC>
Gildas1f776a42013-10-25 10:05:22 +01001210Associe une adresse matérielle (MAC) à un label. L'adresse
Simon Kelley824af852008-02-12 20:43:05 +00001211matérielle peut inclure des jokers. Par exemple
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001212.B --dhcp-mac=set:3com,01:34:23:*:*:*
Simon Kelley824af852008-02-12 20:43:05 +00001213permet de définir le label "3com" pour n'importe quel hôte dont l'adresse
1214matérielle coïncide avec les critères définis.
1215.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001216.B --dhcp-circuitid=set:<label>,<identifiant de circuit>, --dhcp-remoteid=set:<label>,<identifiant distant>
1217Associe des options de relais DHCP issus de la RFC3046 à des labels.
1218Cette information peut-être fournie par des relais DHCP. L'identifiant
Simon Kelley824af852008-02-12 20:43:05 +00001219de circuit ou l'identifiant distant est normalement fourni sous la forme d'une
1220chaîne de valeurs hexadécimales séparées par des ":", mais il est également
1221possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si
1222l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001223relais DHCP, alors le label est apposé.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001224.B dhcp-remoteid
1225est supporté en IPv6 (mais non dhcp-circuitid).
Simon Kelley824af852008-02-12 20:43:05 +00001226.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001227.B --dhcp-subscrid=set:<label>,<identifiant d'abonné>
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001228(IPv4 et IPv6) Associe des options de relais DHCP issues de la RFC3993 à des
1229labels.
Simon Kelley824af852008-02-12 20:43:05 +00001230.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001231.B --dhcp-proxy[=<adresse ip>]......
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001232(IPv4 seulement) Un agent relai DHCP normal est uniquement utilisé pour faire
1233suivre les éléments initiaux de l'interaction avec le serveur DHCP. Une fois
1234que le client est configuré, il communique directement avec le serveur. Cela
1235n'est pas souhaitable si le relais rajoute des informations supplémentaires
1236aux paquets DHCP, telles que celles utilisées dans
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001237.B dhcp-circuitid
1238et
1239.B dhcp-remoteid.
1240Une implémentation complète de relai peut utiliser l'option serverid-override
1241de la RFC 5107 afin de forcer le serveur DHCP à utiliser le relai en temps que
1242proxy complet, de sorte que tous les paquets passent par le relai. Cette option
1243permet d'obtenir le même résultat pour des relais ne supportant pas la RFC
12445107. Fournie seule, elle manipule la valeur de server-id pour toutes les
1245interactions via des relais. Si une liste d'adresses IP est donnée, seules les
1246interactions avec les relais dont l'adresse est dans la liste seront affectées.
1247.TP
1248.B --dhcp-match=set:<label>,<numéro d'option>|option:<nom d'option>|vi-encap:<entreprise>[,<valeur>]
1249Si aucune valeur n'est spécifiée, associe le label si le client
Simon Kelley73a08a22009-02-05 20:28:08 +00001250envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est
1251fournie, positionne le label seulement dans le cas où l'option est fournie et
1252correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel
1253cas le début de l'option doit correspondre (en respectant les jokers). La
1254valeur peut aussi être de la même forme que dans
1255.B dhcp-option
1256, auquel cas l'option est traitée comme un tableau de valeur, et un des
1257éléments doit correspondre, ainsi
1258
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001259--dhcp-match=set:efi-ia32,option:client-arch,6
Simon Kelley73a08a22009-02-05 20:28:08 +00001260
1261spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste
1262d'architectures envoyé par le client au sein de l'option 93. (se réferer
1263au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères,
1264celle-ci est recherchée (correspondance en temps que sous-chaîne).
Simon Kelley316e2732010-01-22 20:16:09 +00001265
1266Pour la forme particulière vi-encap:<numéro d'entreprise>, la comparaison se
1267fait avec les classes de vendeur "identifiant de vendeur" ("vendor-identifying
1268vendor classes") pour l'entreprise dont le numéro est fourni en option.
1269Veuillez vous réferer à la RFC 3925 pour plus de détail.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001270.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001271.B --tag-if=set:<label>[,set:<label>[,tag:<label>[,tag:<label>]]]
1272Effectue une opération booléenne sur les labels. Si tous les labels
1273apparaissant dans la liste tag:<label> sont positionnés, alors tous les
1274la de la liste "set:<labels>" sont positionnés (ou supprimés, dans le cas
1275où "tag:!<label>" utilisé).
1276Si aucun tag:<label> n'est spécifié, alors tous les labels fournis par
1277set:<label> sont positionnés.
1278N'importe quel nombre de set: ou tag: peuvent être fournis, et l'ordre est sans
1279importance.
1280Les lignes tag-if sont executées dans l'ordre, ce qui fait que si un label dans
1281tag:<label> est un label positionné par une rêgle
1282.B tag-if,
1283la ligne qui positionne le label doit précéder celle qui le teste.
Simon Kelley824af852008-02-12 20:43:05 +00001284.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001285.B \-J, --dhcp-ignore=tag:<label>[,tag:<label>]
1286Lorsque tous les labels fournis dans l'option sont présents, ignorer l'hôte et
1287ne pas donner de bail DHCP.
1288.TP
1289.B --dhcp-ignore-names[=tag:<label>[,tag:<label>]]
1290Lorsque tous les labels fournis dans l'option sont présents, ignorer le
Simon Kelley824af852008-02-12 20:43:05 +00001291nom de machine fourni par l'hôte. Il est à noter que, à la différence de
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001292l'option "dhcp-ignore", il est permis de ne pas fournir de label.
Simon Kelley824af852008-02-12 20:43:05 +00001293Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours
1294ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la
1295configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts
1296et /etc/ethers.
1297.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001298.B --dhcp-generate-names=tag:<label>[,tag:<label>]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001299(IPv4 seulement) Générer un nom pour les clients DHCP qui autrement n'en aurait
1300pas, en utilisant l'adresse MAC sous sa forme hexadécimale, séparée par des
1301tirets.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001302Noter que si un hôte fourni un nom, celui-ci sera utilisé de préférence au nom
1303autogénéré, à moins que
1304.B --dhcp-ignore-names
1305ne soit positionné.
1306.TP
1307.B --dhcp-broadcast=[tag:<label>[,tag:<label>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001308(IPv4 seulement) Lorsque tous les labels fournis dans l'option sont présents,
1309toujours utiliser le broadcast pour communiquer avec l'hôte lorsque celui-ci
1310n'est pas configuré. Il est possible de ne spécifier aucun label, auquel cas
1311cette option s'applique inconditionnellement. La plupart des clients DHCP
1312nécessitant une réponse par le biais d'un broadcast activent une option dans
1313leur requête, ce qui fait que cela se fait automatiquement, mais ce n'est pas
1314le cas de certains vieux clients BOOTP.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001315.TP
Simon Kelley7de060b2011-08-26 17:24:52 +01001316.B \-M, --dhcp-boot=[tag:<label>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>|<nom du serveur tftp>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001317(IPv4 seulement) Spécifie les options BOOTP devant être retournées par le
1318serveur DHCP. Le nom de serveur ainsi que l'adresse sont optionnels : s'ils
1319ne sont pas fournis, le nom est laissé vide et l'adresse fournie est celle de
1320la machine sur laquelle s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir
Simon Kelley824af852008-02-12 20:43:05 +00001321.B --enable-tftp
1322), alors seul un nom de fichier est requis ici pour permettre un démarrage par
1323le réseau.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001324Si d'éventuels labels sont fournis, ils doivent coïncider avec
1325ceux du client pour que cet élement de configuration lui soit envoyé.
Simon Kelley7de060b2011-08-26 17:24:52 +01001326Une adresse de serveur TFTP peut être spécifiée à la place de l'adresse IP,
1327sous la forme d'un nom de domaine qui sera cherché dans le fichier /etc/hosts.
1328Ce nom peut être associé dans /etc/hosts avec plusieurs adresses IP, auquel cas
1329celles-ci seront utilisées tour à tour (algorithme round-robin).
1330Cela peut-être utiliser pour équilibrer la charge tftp sur plusieurs serveurs.
1331.TP
1332.B --dhcp-sequential-ip
1333Dnsmasq est conçu pour choisir l'adresse IP des clients DHCP en utilisant
1334un hachage de l'adresse MAC du client. Cela permet en général à l'adresse
1335IP du client de rester stable au fil du temps, même lorsque le client laisse
1336expirer son bail DHCP de temps en temps. Dans ce mode de fonctionnement par
1337défaut, les adresses IP sont distribuées de façon pseudo-aléatoire dans la
1338totalité de la plage d'adresses utilisable. Il existe des circonstances (par
1339exemples pour du déploiement de serveur) où il est plus pratique d'allouer les
1340adresses IP de manière séquentielle, en commençant par la plus petite adresse
1341disponible, et c'est ce mode de fonctionnement qui est permis par cette option.
1342Veuillez noter que dans ce mode séquentiel, les clients qui laissent expirer
1343leur bail ont beaucoup plus de chance de voir leur adresse IP changer, aussi
1344cette option ne devrait pas être utilisée dans un cas général.
Simon Kelley7622fc02009-06-04 20:32:05 +01001345.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001346.B --pxe-service=[tag:<label>,]<CSA>,<entrée de menu>[,<nom de fichier>|<type de service de démarrage>][,<adresse de serveur>|<nom de serveur>]
Simon Kelley7622fc02009-06-04 20:32:05 +01001347La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple
1348obtention d'une adresse IP, le téléchargement du fichier spécifié dans
1349.B dhcp-boot
1350et son exécution. Cependant, le système PXE est capable de fonctions bien plus
1351complexes pour peu que le serveur DHCP soit adapté.
1352
1353Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage
1354PXE. <CSA> est le type du système client. Seuls des types de services valides
1355apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha,
1356Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI;
1357D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le
1358paramètre après le texte correspondant à l'entrée dans le menu peut être un nom
1359de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au
1360client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur
1361(l'option
1362.B enable-tftp
1363doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001364si une adresse ou un nom de serveur est fournie.
Simon Kelley7622fc02009-06-04 20:32:05 +01001365Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE
1366et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière
1367est fournir pour le type de démarrage, en remplacement du nom de fichier, le
1368client PXE devra chercher un service de démarrage de ce type sur le réseau.
Simon Kelley316e2732010-01-22 20:16:09 +00001369Cette recherche peut être faite via broadcast ou directement auprès d'un
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001370serveur si son adresse IP ou son nom sont fournis dans l'option.
Simon Kelley316e2732010-01-22 20:16:09 +00001371Si aucun nom de fichier n'est donné ni aucune valeur de type de service de
1372démarrage n'est fournie (ou qu'une valeur de 0 est donnée pour le type de
1373service), alors l'entrée de menu provoque l'interruption du démarrage par
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001374le réseau et la poursuite du démarrage sur un média local. L'adresse de serveur
1375peut être donnée sous la forme de nom de domaine qui est recherché dans
1376/etc/hosts. Ce nom peut-être associé à plusieurs adresses IP, qui dans ce cas
1377sont utilisées à tour de rôle (en "round-robin").
Simon Kelley7622fc02009-06-04 20:32:05 +01001378.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001379.B --pxe-prompt=[tag:<label>,]<invite>[,<délai>]
Simon Kelley7622fc02009-06-04 20:32:05 +01001380Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un
1381délai est fourni, alors la première entrée du menu de démarrage sera
1382automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première
1383entrée disponible sera exécutée immédiatement. Si
1384.B pxe-prompt
1385est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs
1386entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une
1387seule entrée. Voir
1388.B pxe-service
1389pour plus de détails sur les entrées de menu.
1390
1391Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP
1392sur le réseau est responsable de l'allocation des adresses IP, auquel cas
1393Dnsmasq se contente de fournir les informations données dans les options
1394.B pxe-prompt
1395et
1396.B pxe-service
1397pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le
1398mot-clef
1399.B proxy
1400dans
1401.B dhcp-range.
1402.TP
Simon Kelley824af852008-02-12 20:43:05 +00001403.B \-X, --dhcp-lease-max=<nombre>
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001404Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 1000. Cette
Simon Kelley824af852008-02-12 20:43:05 +00001405limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes
1406créant des milliers de baux et utilisant beaucoup de mémoire dans le processus
1407Dnsmasq.
1408.TP
1409.B \-K, --dhcp-authoritative
Simon Kelley834f36f2013-04-17 13:52:49 +01001410Doit être spécifié lorsque dnsmasq est réellement le seul serveur DHCP
1411sur le réseau. Pour DHCPv4, cela change le comportement par défaut qui est
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001412celui d'un strict respect des RFC, afin que les requêtes DHCP pour des baux
1413inconnus par des hôtes inconnus ne soient pas ignorées. Cela permet à de
1414nouveaux hôtes d'obtenir des baux sans tenir compte de fastidieuses
1415temporisations ("timeout"). Cela permet également à Dnsmasq de reconstruire
1416sa base de données contenant les baux sans que les clients n'aient besoin de
1417redemander un bail, si celle-ci est perdue.
Simon Kelley834f36f2013-04-17 13:52:49 +01001418Dans le cas de DHCPv6, cela positionne la priorité des réponses à 255 (le
1419maximum) au lieu de 0 (le minimum).
Simon Kelley824af852008-02-12 20:43:05 +00001420.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +01001421.B --dhcp-alternate-port[=<port serveur>[,<port client>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001422(IPv4 seulement) Change les ports utilisés par défaut pour le DHCP. Si cette
1423option est donnée seule sans argument, alors change les ports utilisés pour le
1424DHCP de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce
Simon Kelley1a6bca82008-07-11 11:11:42 +01001425numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le
1426port client. Enfin, en fournissant deux numéros de ports, il est possible de
1427spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP.
1428.TP
Simon Kelley73a08a22009-02-05 20:28:08 +00001429.B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001430(IPv4 seulement) Permet l'allocation dynamique d'adresses IP à des clients BOOTP.
1431Utiliser cette option avec précaution, une adresse allouée à un client BOOTP
1432étant perpétuelle, et de fait n'est plus disponibles pour d'autres hôtes. Si
1433aucun argument n'est donné, alors cette option permet une allocation dynamique
1434dans tous les cas. Si des arguments sont spécifiés, alors l'allocation ne se
1435fait que lorsque tous les identifiants coïncident. Il est possible de répeter
1436cette option avec plusieurs jeux d'arguments.
Simon Kelley824af852008-02-12 20:43:05 +00001437.TP
1438.B \-5, --no-ping
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001439(IPv4 seulement) Par défaut, le serveur DHCP tente de s'assurer qu'une adresse
1440n'est pas utilisée avant de l'allouer à un hôte. Cela est fait en envoyant une
1441requête ICMP de type "echo request" (aussi connue sous le nom de "ping") à
1442l'adresse en question. Si le serveur obtient une réponse, alors l'adresse doit
1443déjà être utilisée et une autre est essayée. Cette option permet de supprimer
1444cette vérification. A utiliser avec précaution.
Simon Kelley824af852008-02-12 20:43:05 +00001445.TP
1446.B --log-dhcp
1447Traces additionnelles pour le service DHCP : enregistre toutes les options
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001448envoyées aux clients DHCP et les labels utilisés pour la
Simon Kelley824af852008-02-12 20:43:05 +00001449détermination de celles-ci.
1450.TP
Gildas1f776a42013-10-25 10:05:22 +01001451.B --quiet-dhcp, --quiet-dhcp6, --quiet-ra
1452Supprime les logs des opérations de routine des protocoles concernés. Les
1453erreurs et les problèmes seront toujours enregistrés. L'option --log-dhcp
1454prends le pas sur --quiet-dhcp et quiet-dhcp6.
1455.TP
Simon Kelley824af852008-02-12 20:43:05 +00001456.B \-l, --dhcp-leasefile=<chemin de fichier>
1457Utilise le fichier dont le chemin est fourni pour stocker les informations de
Simon Kelley73a08a22009-02-05 20:28:08 +00001458baux DHCP.
Simon Kelleye46164e2012-04-16 16:39:38 +01001459.TP
1460.B --dhcp-duid=<ID d'entreprise>,<uid>
1461(IPv6 seulement) Spécifie le numéro d'UID de serveur persistant que le serveur
1462DHCPv6 doit utiliser. Cette option n'est normalement pas requise, Dnsmasq
1463créant un DUID automatiquement lorsque cela est nécessaire. Lorsque cette
1464option est positionnée, elle fournit à Dnsmasq les données nécessaires à la
1465création d'un DUID de type DUID-EN. Veuillez noter qu'une fois créé, le DUID
1466est stocké dans la base des baux, aussi changer entre un DUID créé
1467automatiquement et un DUID-EN et vice-versa impose de réinitialiser la base de
1468baux. Le numéro d'ID d'entreprise est assigné par l'IANA, et l'uid est une
1469chaine hexadécimale unique à chaque serveur.
1470.TP
Simon Kelley824af852008-02-12 20:43:05 +00001471.B \-6 --dhcp-script=<chemin de fichier>
Simon Kelleye46164e2012-04-16 16:39:38 +01001472Lorsqu'un bail DHCP est créé, qu'un ancien est supprimé, ou qu'un transfert
1473TFTP est terminé, le fichier dont le
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001474chemin est spécifié est exécuté. Le <chemin de fichier> doit être un chemin
1475absolu, aucune recherche n'est effectuée via la variable d'environnement PATH.
1476Les arguments fournis à celui-ci sont soit
Simon Kelley824af852008-02-12 20:43:05 +00001477"add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001478MAC de l'hôte (ou le DUID pour IPv6) puis l'adresse IP et le nom d'hôte si
1479celui-ci est connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a
1480été supprimé, "old" notifie que le bail existait au lancement de Dnsmasq, ou un
1481changement d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas
1482où leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant
Simon Kelley73a08a22009-02-05 20:28:08 +00001483d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est
1484nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab"
1485pour du token ring. Le processus est exécuté en temps que super-utilisateur
1486(si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré
1487pour changer son UID pour celle d'un utilisateur non-privilégié.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001488
1489L'environnement est hérité de celui de l'invocation du processus Dnsmasq,
1490auquel se rajoute quelques unes ou toutes les variables décrites ci-dessous :
1491
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001492Pour IPv4 et IPv6 :
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001493
1494DNSMASQ_DOMAIN si le nom de domaine pleinement qualifié de l'hôte est connu, la
Simon Kelley28866e92011-02-14 20:19:14 +00001495part relative au domaine y est stockée. (Notez que le nom d'hôte transmis comme
1496argument au script n'est jamais pleinement qualifié).
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001497
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001498Si le client fournit un nom d'hôte, DNSMASQ_SUPPLIED_HOSTNAME.
1499
1500Si le client fournit des classes d'utilisateur, DNSMASQ_USER_CLASS0 à
1501DNSMASQ_USER_CLASSn.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001502
1503Si Dnsmasq a été compilé avec l'option HAVE_BROKEN_RTC ("horloge RTC
1504défectueuse"), alors la durée du bail (en secondes) est stockée dans la
1505variable DNSMASQ_LEASE_LENGTH, sinon la date d'expiration du bail est toujours
1506stocké dans la variable d'environnement DNSMASQ_LEASE_EXPIRES. Le nombre de
1507secondes avant expiration est toujours stocké dans DNSMASQ_TIME_REMAINING.
1508
1509Si un bail était associé à un nom d'hôte et
Simon Kelley1f15b812009-10-13 17:49:32 +01001510que celui-ci est supprimé, un évênement de type "old" est généré avec le
1511nouveau statut du bail, c-à-d sans nom d'hôte, et le nom initial est fourni
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001512dans la variable d'environnement DNSMASQ_OLD_HOSTNAME.
1513
1514La variable DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la
1515requête est arrivée; ceci n'est pas renseigné dans le cas des actions "old"
1516ayant lieu après un redémarrage de dnsmasq.
1517
1518La variable DNSMASQ_RELAY_ADDRESS est renseignée si le client a utilisé un
1519relai DHCP pour contacter Dnsmasq, si l'adresse IP du relai est connue.
1520
1521DNSMASQ_TAGS contient tous les labels fournis pendant la transaction DHCP,
1522séparés par des espaces.
1523
Simon Kelleye46164e2012-04-16 16:39:38 +01001524DNSMASQ_LOG_DHCP est positionné si
1525.B --log-dhcp
1526est activé.
1527
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001528Pour IPv4 seulement :
1529
1530DNSMASQ_CLIENT_ID, si l'hôte a fourni un identifiant de client.
1531
Simon Kelley834f36f2013-04-17 13:52:49 +01001532DNSMASQ_CIRCUIT_ID, DNSMASQ_SUBSCRIBER_ID, DNSMASQ_REMOTE_ID si un relai DHCP a
1533rajouté l'une de ces options.
1534
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001535Si le client fournit une information de classe de vendeur, DNSMASQ_VENDOR_CLASS.
1536
1537Pour IPv6 seulement :
1538
1539Si le client fournit une classe de vendeur (vendor-class), positionne
1540DNSMASQ_VENDOR_CLASS_ID avec comme contenu le numéro IANA de l'entreprise pour
1541la classe, et DNSMASQ_VENDOR_CLASS0..DNSMASQ_VENDOR_CLASSn pour les données.
1542
1543DNSMASQ_SERVER_DUID contient le DUID du serveur : cette valeur est la même
1544pour chaque appel au script.
1545
1546DNSMASQ_IAID contenant l'IAID pour le bail. Si le bail est une allocation
1547temporaire, cela est préfixé par le caractère 'T'.
1548
Gildas1f776a42013-10-25 10:05:22 +01001549DNSMASQ_MAC contient l'adresse MAC du client, si celle-ci est connue.
1550
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001551A noter que le nom d'hôte fourni, la classe de vendeur ou les données de classe
1552d'utilisateur sont uniquement fournies pour les actions "add" ou l'action "old"
1553lorsqu'un hôte reprend un bail existant, puisque ces informations ne sont pas
1554conservées dans la base de baux de dnsmasq.
1555
Simon Kelley824af852008-02-12 20:43:05 +00001556Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui
1557sont ouverts sur /dev/null (sauf en mode déverminage).
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001558
1559Le script n'est pas lancé de manière concurrente : au plus une instance du
1560script est executée à la fois (dnsmasq attends qu'une instance de script se
1561termine avant de lancer la suivante). Les changements dans la base des baux
1562nécessitant le lancement du script sont placé en attente dans une queue jusqu'à
1563terminaison d'une instance du script en cours. Si cette mise en queue fait que
1564plusieurs changements d'états apparaissent pour un bail donné avant que le
1565script puisse être lancé, alors les états les plus anciens sont supprimés et
1566lorsque le script sera finalement lancé, ce sera avec l'état courant du bail.
1567
Simon Kelley824af852008-02-12 20:43:05 +00001568Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001569dans le fichier des baux. Le script sera lancé avec l'action "del" pour les
1570baux expirés, et "old" pour les autres. Lorsque Dnsmasq reçoit un signal HUP,
1571le script sera invoqué avec une action "old" pour tous les baux existants.
Simon Kelleye46164e2012-04-16 16:39:38 +01001572
1573Il existe deux autres actions pouvant apparaître comme argument au script :
1574"init" et "tftp". D'autres sont susceptibles d'être rajoutées dans le futur,
1575aussi les scripts devraient-être écrits de sorte à ignorer les actions
1576inconnues. "init" est décrite ci-dessous dans
1577.B --leasefile-ro.
1578L'action "tftp" est invoquée lorsqu'un transfert de fichier TFTP s'est
1579terminé. Ses arguments sont la taille du fichier en octets, l'adresse à
1580laquelle le fichier a été envoyé, ainsi que le chemin complet du fichier.
1581
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001582.TP
1583.B --dhcp-luascript=<chemin>
1584Spécifie un script écrit en Lua, devant être exécuté lorsque des baux sont
1585créés, détruits ou modifiés. Pour utiliser cette option, dnsmasq doit être
1586compilé avec avec le support de Lua. L'interpréteur Lua est initialisé une
1587seule fois, lorsque dnsmasq démarre, ce qui fait que les variables globales
1588persistent entre les évênements liés aux baux. Le code Lua doit définir une
1589fonction
1590.B lease
1591et peut fournir des fonctions
1592.B init
1593et
1594.B shutdown
1595qui sont appellées, sans arguments, lorsque dnsmasq démarre ou s'arrête.
Simon Kelleye46164e2012-04-16 16:39:38 +01001596Il peut également fournir une fonction
1597.B tftp.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001598
Simon Kelleye46164e2012-04-16 16:39:38 +01001599La fonction
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001600.B lease
1601reçoit les informations détaillées dans
1602.B --dhcp-script.
1603Il reçoit deux arguments. Le premier spécifie l'action, qui est une chaîne de
1604caractères contenant les valeurs "add" (ajout), "old" (réactivation d'un bail
1605existant) ou "del" (suppression). Le deuxième est une table contenant des
1606paires de valeurs de labels. Les labels correspondent pour l'essentiel aux
1607valeurs d'environnement détaillées ci-dessus, ainsi le label "domain" (domaine)
1608contient les mêmes données que la variable d'environnement DNSMASQ_DOMAIN. Il
1609existe quelques labels supplémentaires contenant les données fournies comme
1610arguments à
1611.B --dhcp-script.
1612Ces labels sont
1613.B mac_address, ip_address
1614(pour respectivement l'adresse MAC et l'adresse IP)
1615et
1616.B hostname
1617(le nom d'hôte) dans le cas d'IPv4, et
1618.B client_duid, ip_address
1619(valeur DUID du client et adresse IP respectivement)
1620ainsi que
1621.B hostname
1622(le nom d'hôte) dans le cas d'IPv6.
Simon Kelleye46164e2012-04-16 16:39:38 +01001623
1624La fonction
1625.B tftp
1626est appelée de la même façon que la fonction "lease", et la table contient les
1627labels
1628.B destination_address,
1629.B file_name
1630et
1631.B file_size
1632(respectivement "adresse de destination", "nom de fichier" et "taille de fichier").
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001633.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +01001634.B --dhcp-scriptuser
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001635Spécifie l'utilisateur sous lequel le script shell lease-change ou le script
1636doivent être exécutés. La valeur par défaut correspond à l'utilisateur root
1637mais peut-être changée par le biais de cette option.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001638.TP
Simon Kelley824af852008-02-12 20:43:05 +00001639.B \-9, --leasefile-ro
1640Supprimer complètement l'usage du fichier servant de base de donnée pour les
1641baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le
1642script de changement d'état de bail est lancé (si celui-ci est fourni par le
1643biais de l'option
1644.B --dhcp-script
1645), de sorte que la base de données de baux puisse
1646être complètement gérée par le script sur un stockage externe. En addition aux
1647actions décrites dans
1648.B --dhcp-script,
1649le script de changement d'état de bail est appellé une fois, au lancement de
1650Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script
1651doit fournir l'état de la base de baux, dans le format de fichier de baux de
1652Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0.
1653Positionner cette option provoque également une invocation du script de
1654changement d'état de bail à chaque changement de l'identifiant de client, de
1655longueur de bail ou de date d'expiration.
1656.TP
1657.B --bridge-interface=<interface>,<alias>[,<alias>]
1658Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias>
1659comme si elles arrivaient de l'interface <interface>. Cette option est
Simon Kelley7622fc02009-06-04 20:32:05 +01001660nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme
1661BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont
1662pas d'adresse IP.
Simon Kelley824af852008-02-12 20:43:05 +00001663.TP
Simon Kelley28866e92011-02-14 20:19:14 +00001664.B \-s, --domain=<domaine>[,<gamme d'adresses>[,local]]
Simon Kelley73a08a22009-02-05 20:28:08 +00001665Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière
1666inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes
1667d'adresses IP limitées. Cela a deux effets; tout d'abord, le
Simon Kelley824af852008-02-12 20:43:05 +00001668serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement,
1669cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela
1670est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse
1671fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du
1672trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors
1673les noms d'hôtes avec un nom de domaine (c-à-d un point dans le nom) seront
1674interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors
1675les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de
1676domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors
1677les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le
1678suffixe fourni dans l'option
1679.B --domain.
1680Ainsi, sur mon réseau, je peux configurer
1681.B --domain=thekelleys.org.uk
1682et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette
1683machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk".
1684Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est
1685positionné à la première valeur de la directive "search" du fichier
Simon Kelley28866e92011-02-14 20:19:14 +00001686/etc/resolv.conf (ou équivalent).
1687
1688La gamme d'adresses peut être de la forme
Simon Kelley73a08a22009-02-05 20:28:08 +00001689<adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple
1690<adresse ip>. Voir
1691.B --dhcp-fqdn
1692qui peut changer le comportement de dnsmasq relatif aux domaines.
Simon Kelley28866e92011-02-14 20:19:14 +00001693
1694Si la gamme d'adresse est fournie sous la forme
1695<adresse ip>/<taille de réseau>, alors le drapeau "local" peut-être rajouté
1696qui a pour effect d'ajouter --local-declarations aux requêtes DNS directes et
1697inverses. C-à-d
1698.B --domain=thekelleys.org.uk,192.168.0.0/24,local
Simon Kelleye46164e2012-04-16 16:39:38 +01001699est identique à
Simon Kelley28866e92011-02-14 20:19:14 +00001700.B --domain=thekelleys.org.uk,192.168.0.0/24
1701--local=/thekelleys.org.uk/ --local=/0.168.192.in-addr.arpa/
1702La taille de réseau doit-être de 8, 16 ou 24 pour être valide.
Simon Kelley73a08a22009-02-05 20:28:08 +00001703.TP
1704.B --dhcp-fqdn
1705Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients
1706DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si
1707deux clients ayant le même nom sont dans deux domaines différents. Si un
1708deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant,
1709ce nom est transféré au nouveau client. Si
1710.B --dhcp-fqdn
1711est spécifié, ce comportement change : les noms non qualifiés ne sont plus
1712rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP
1713avec le même nom peuvent tous les deux garder le nom, pour peu que la partie
1714relative au domaine soit différente (c-à-d que les noms pleinements qualifiés
1715diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y
1716avoir au moins un
1717.B --domain
1718sans gamme d'adresses de spécifié lorsque l'option
1719.B --dhcp-fqdn
1720est configurée.
Simon Kelley824af852008-02-12 20:43:05 +00001721.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001722.B --dhcp-client-update
1723Normalement, lorsque dnsmasq fournit un bail DHCP, il positionne un label
1724dans l'option FQDN pour indiquer au client qu'il ne doit pas tenter de faire
1725une mise à jour DDNS avec son nom et son adresse IP. Ceci parce que la paire
1726Nom-IP est rajoutée automatiquement dans la partie DNS de dnsmasq. Cette option
1727inhibe ce comportement ce qui est utile, par exemple, pour permettre aux clients
1728Windows de la mise à jour de serveurs Active Directory. Voir la RFC 4702 pour
1729plus de détails.
1730.TP
1731.B --enable-ra
1732Active la fonctionalité d'annonces routeurs IPv6 ("IPv6 Router Advertisement").
1733DHCPv6 ne gère pas la configuration complète du réseau de la même façon que
1734DHCPv4. La découverte de routeurs et la découverte (éventuelle) de préfixes pour
1735la création autonome d'adresse sont gérées par un protocole différent.
1736Lorsque DHCP est utilisé, seul un sous-ensemble de tout ceci est nécessaire et
1737dnsmasq est à même de le gérer, en utilisant la configuration DHCP présente pour
1738fournir la majorité des données. Lorsque les annonces routeurs (RA pour "Router
1739Advertisement") sont activées, dnsmasq va annoncer un préfixe pour chaque
1740dhcp-range et, par défaut, fournir comme valeur de routeur et de DNS récursif
1741la valeur d'adresse link-local appropriée parmi celles de la machine sur
1742laquelle tourne dnsmasq.
Simon Kelleye46164e2012-04-16 16:39:38 +01001743Par défaut, les bits "managed address" sont positionnés, et le bit "use SLAAC"
1744("utiliser SLAAC") est réinitialisé. Cela peut-être changé pour des
1745sous-réseaux donnés par le biais du mot clef de mode décris dans
1746.B --dhcp-range.
1747Les paramètres DNS du RFC6106 sont inclus dans les annonces. Par défaut,
1748l'adresse link-local appropriée parmi celles de la machine sur laquelle tourne
1749dnsmasq est spécifiée comme DNS récursif. Si elles sont fournies, les
1750options dns-server et domain-search sont utilisées respectivement pour RDNSS et
1751DNSSL.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001752.TP
Gildas1f776a42013-10-25 10:05:22 +01001753.B --ra-param=<interface>,[high|low],[[<intervalle d'annonce routeur>],<durée de vie route>]
1754Configure pour une interface donnée des valeurs pour les annonces routeurs
1755différentes des valeurs par défaut. La valeur par défaut du champ priorité
1756pour le routeur peut-être changée de "medium" (moyen) à "high" (haute) ou
1757"low" (basse). Par exemple :
1758.B --ra-param=eth0,high.
1759Un intervalle (en secondes) entre les annonces routeur peut-être fourni par :
1760.B --ra-param=eth0,60.
1761La durée de vie de la route peut-être changée ou mise à zéro, auquel cas
1762le routeur peut annoncer les préfixes mais pas de route :
1763.B --ra-parm=eth0,0,0
1764(une valeur de zéro pour l'intervalle signifie qu'il garde la valeur par défaut).
1765Ces trois paramètres peuvent-être configurés en une fois :
1766.B --ra-param=low,60,1200
1767La valeur pour l'interface peut inclure un caractère joker.
1768.TP
1769.B --enable-tftp[=<interface>[,<interface>]]
Simon Kelley824af852008-02-12 20:43:05 +00001770Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux
Simon Kelley1a6bca82008-07-11 11:11:42 +01001771fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul
1772un accès en lecture est possible; les extensions tsize et blksize sont supportées
Gildas1f776a42013-10-25 10:05:22 +01001773(tsize est seulement supporté en mode octet). Sans argument optionel, le service
1774TFTP est fourni sur les mêmes interfaces que le service DHCP. Si une liste
1775d'interfaces est fournie, cela définit les interfaces sur lesquelles le
1776service TFTP sera activé.
Simon Kelley824af852008-02-12 20:43:05 +00001777.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001778.B --tftp-root=<répertoire>[,<interface>]
Simon Kelley824af852008-02-12 20:43:05 +00001779Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le
1780répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP
1781incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de
1782la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés,
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001783mais ils doivent être à la racine TFTP fournie. Si l'option interface est
1784spécifiée, le répertoire n'est utilisé que pour les requêtes TFTP reçues sur
1785cette interface.
Simon Kelley824af852008-02-12 20:43:05 +00001786.TP
1787.B --tftp-unique-root
1788Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite
1789de la racine tftp (adresse sous forme de 4 chiffres séparés par des points).
1790Uniquement valable si une racine TFTP est spécifiée et si le répertoire
1791correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le
1792client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin
1793effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou
1794"/tftp/monfichier" dans le cas contraire.
1795.TP
1796.B --tftp-secure
1797Active le mode TFTP sécurisé : sans cela, tout fichier lisible
1798par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix
1799habituelles s'appliquent). Lorsque l'option
1800.B --tftp-secure
1801est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne
1802le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que
1803super-utilisateur ("root"), des règles différentes s'appliquent :
1804.B --tftp-secure
1805n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le
1806monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous
1807l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement
1808déconseillé de le faire sans fournir l'option
1809.B --tftp-root.
1810Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le
1811droit de lecture pour tout le monde est positionné ("world-readable") devient
1812possible par n'importe quel hôte sur le réseau.
1813.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +01001814.B --tftp-lowercase
1815Converti les noms de fichiers des requêtes TFTP en minuscules. Cela est utile
1816pour les requêtes effectuées depuis les machines Windows, dont les systèmes
1817de fichiers sont insensibles à la casse et pour lesquels la détermination
1818de la casse est parfois un peu aléatoire. A noter que le serveur tftp de
1819dnsmasq converti systématiquement les "\\" en "/" dans les noms de fichiers.
1820.TP
Simon Kelley824af852008-02-12 20:43:05 +00001821.B --tftp-max=<connexions>
1822Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur
1823par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié,
1824il se peut que la limite de nombre de descripteurs de fichiers par processus
1825soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un
1826descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des
1827fichiers devant être fournis. De fait, servir le même fichier à n clients ne
1828nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des
1829fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001830Si elle est donnée, l'option
1831.B --tftp-port-range
1832peut affecter le nombre maximum de connexions concurrentes.
Simon Kelley824af852008-02-12 20:43:05 +00001833.TP
1834.B --tftp-no-blocksize
1835Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec
1836les clients. Certains clients buggés spécifient cette option mais se comportent
1837ensuite de manière incorrecte si celle-ci est accordée.
1838.TP
1839.B --tftp-port-range=<début>,<fin>
Simon Kelley1a6bca82008-07-11 11:11:42 +01001840Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour
1841l'initiation de la connexion, mais utilise également un port dynamiquement
1842alloué pour chaque connexion. Normalement, ces ports sont alloués par
1843le système d'exploitation, mais cette option permet de spécifier une gamme
1844de ports à utiliser pour les transferts TFTP. Cela peut-être utile si
1845TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur
1846de début pour la plage de port ne peut-être inférieure à 1025 sauf si
1847dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de
1848connexions TFTP concurrentes est limitée par la taille de la gamme de
1849ports ainsi spécifiée.
1850.TP
1851.B --tftp-port-range=<début>,<fin>
Simon Kelley824af852008-02-12 20:43:05 +00001852Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation
1853de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces
1854numéros de ports sont en principe alloués par le système d'exploitation, mais
1855cette option permet de spécifier une gamme de ports à utiliser pour les
1856transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un
1857dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être
1858inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que
1859super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes
1860est limitée par la taille de la plage de ports ainsi définie.
1861.TP
1862.B \-C, --conf-file=<fichier>
1863Spécifie un fichier de configuration différent. L'option "conf-file" est
1864également autorisée dans des fichiers de configuration, ce qui permet
Simon Kelley28866e92011-02-14 20:19:14 +00001865l'inclusion de multiples fichiers de configuration. L'utilisation de "-" comme
1866nom de fichier permet la lecture par dnsmasq de sa configuration sur l'entrée standard
1867stdin.
Simon Kelley824af852008-02-12 20:43:05 +00001868.TP
Simon Kelley1f15b812009-10-13 17:49:32 +01001869.B \-7, --conf-dir=<répertoire>[,<extension de fichier>...]
Simon Kelley824af852008-02-12 20:43:05 +00001870Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de
Simon Kelley1f15b812009-10-13 17:49:32 +01001871configuration. Si des extensions sont données, tout fichier finissant par ces
1872extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence
1873par ., ainsi que ceux commençant ou se terminant par # seront systématiquement
1874ignorés.
Simon Kelley824af852008-02-12 20:43:05 +00001875Cette option peut être donnée en ligne de commande ou dans un fichier de
1876configuration.
1877.SH FICHIER DE CONFIGURATION
1878Au démarrage, Dnsmasq lis
1879.I /etc/dnsmasq.conf,
1880si ce fichier existe. (Sur FreeBSD, ce fichier est
1881.I /usr/local/etc/dnsmasq.conf
1882) (voir cependant les options
1883.B \-C
1884et
1885.B \-7
1886). Le format de ce fichier consiste en une option par ligne, exactement comme
1887les options longues détaillées dans la section OPTIONS, mais sans être précédées
1888par "--". Les lignes commençant par # sont des commentaires et sont ignorées.
1889Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du
1890fichier de configuration prends le pas sur celle fournie en ligne de commande.
1891Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et
1892"#" ne soit interprêtés, et il est possible d'utiliser les séquences
Simon Kelley1a6bca82008-07-11 11:11:42 +01001893d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent
Simon Kelley824af852008-02-12 20:43:05 +00001894respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles,
Simon Kelley1a6bca82008-07-11 11:11:42 +01001895tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et
Simon Kelley824af852008-02-12 20:43:05 +00001896nouvelle ligne ("newline").
1897.SH NOTES
1898A la réception d'un signal SIGHUP,
1899.B Dnsmasq
1900vide son cache et recharge les fichiers
1901.I /etc/hosts
1902et
1903.I /etc/ethers
1904ainsi que tout autre fichier spécifié par les options
1905.B --dhcp-hostsfile
1906,
1907.B --dhcp-optsfile
1908ou
1909.B --addn-hosts.
1910Le script de changement de bail est appellé pour chaque bail DHCP existant. Si
1911l'option
1912.B --no-poll
1913est positionnée, alors le fichier
1914.I /etc/resolv.conf
1915est également rechargé.
1916SIGHUP ne provoque PAS de rechargement du fichier de configuration.
1917.PP
1918A la réception d'un signal SIGUSR1,
1919.B Dnsmasq
1920écrit des statistiques dans les traces système. Les informations fournies sont :
1921la taille du cache, le nombre de noms ayant été supprimés du cache avant
1922expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre
Simon Kelley1a6bca82008-07-11 11:11:42 +01001923total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit
1924le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une
1925erreur. Lorsque Dnsmasq a été lancé via
Simon Kelley824af852008-02-12 20:43:05 +00001926.B --no-daemon
1927ou lorsque la traçabilité maximale a été activée (
1928.B -q
1929), la totalité du contenu du
1930cache est de surcroît fournie.
1931.PP
1932A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses
1933traces dans un fichier (voir
1934.B --log-facility
1935), alors
1936.B Dnsmasq
1937ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette
1938opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un
1939fichier de traces pour la première fois, Dnsmasq change le propriétaire du
1940fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel
1941Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit
1942être configuré pour créer un nouveau fichier avec un propriétaire identique au
1943fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est
1944en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui
1945traite la requête TCP et il peut y être écrit. Il existe cependant une limite
1946de 150 secondes après laquelle tous les processus traitant des requêtes TCP
1947expirent : pour cette raison, il est préférable de ne pas configurer la
1948compression des fichiers de traces venant juste de faire l'objet d'une rotation.
1949Dans le cas de l'utilisation du logiciel logrotate, les options requises sont
1950.B create
1951et
1952.B delaycompress.
Simon Kelley824af852008-02-12 20:43:05 +00001953
1954.PP
1955Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable
1956d'effectuer une résolution de nom récursive en partant des serveurs DNS racine,
1957mais transmet de telles requêtes à un serveur DNS amont capable de telles
1958recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI.
1959Par défaut, Dnsmasq lis
1960.I /etc/resolv.conf
1961pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette
1962information est en général stockée à cet endroit. A moins que l'option
1963.B --no-poll
1964ne soit utilisée,
1965.B Dnsmasq
1966vérifie la date de modification du fichier
1967.I /etc/resolv.conf
1968(ou l'équivalent si
1969.B \--resolv-file
1970est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs
1971DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces
1972protocoles fournissent cette information.
1973L'absence du fichier
1974.I /etc/resolv.conf
1975ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant
1976qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement
1977pour voir si un fichier
1978.I /etc/resolv.conf
1979est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf.
1980Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés :
1981Dnsmasq peut alors être configuré pour lire à la fois
1982.I /etc/ppp/resolv.conf
1983et
1984.I /etc/dhcpc/resolv.conf
1985et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de
1986passer automatiquement de serveurs DNS à d'autres.
1987.PP
1988Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou
1989dans un fichier de configuration. Ces spécifications de serveurs peuvent
1990éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel
1991serveur utiliser pour trouver les noms d'un domaine donné.
1992.PP
1993Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine
1994sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier
1995.I /etc/resolv.conf
1996afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite,
1997spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq
1998via l'option
1999.B \--server
2000ou alors en mettant leurs adresses dans un autre fichier, par exemple
2001.I /etc/resolv.dnsmasq
2002et en lançant Dnsmasq avec l'option
2003.B \-r /etc/resolv.dnsmasq.
2004Cette deuxième technique permet la mise-à-jour dynamique des addresses de
2005serveurs DNS amont par le biais de PPP ou DHCP.
2006.PP
2007Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le
2008serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que
2009les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une
2010requête au serveur DNS amont retournerait une adresse différente. Il y a une
2011exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom
2012présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira
2013l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée
2014correspondant au CNAME dans /etc/hosts.
Simon Kelley824af852008-02-12 20:43:05 +00002015.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002016le système de label fonctionne comme suit : pour chaque requête DHCP, dnsmasq
2017associe un ensemble de labels obtenus à partir des lignes de la configuration
2018incluant set:<label>, y compris un pour la plage d'adresse (
Simon Kelley824af852008-02-12 20:43:05 +00002019.B dhcp-range
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002020) utilisée pour allouer l'adresse, un pour chaque entrée
Simon Kelley824af852008-02-12 20:43:05 +00002021.B dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002022associée (auquel est rajouté le mot-clef "known" si une entrée dhcp-host
2023coïncide).
2024
2025Le label "bootp" est associé aux requêtes BOOTP, un label dont le nom est le
2026nom de l'interface sur laquelle la requête est arrivée.
2027
2028Pour les lignes de configuration comportant des éléments tag:<label>,
2029seules seront valides celles pour lesquels tous les labels correspondants
2030seront présents. C'est typiquement le cas des lignes dhcp-options.
2031Un
Simon Kelley824af852008-02-12 20:43:05 +00002032.B dhcp-option
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002033possédant des labels sera utilisé de préférence à un
2034.B dhcp-option
2035sans label, pour peu que _tous_ les labels positionnés correspondent à l'ensemble
2036de labels décrit plus haut.
2037Le préfixe '!' sur un label est un indicateur de négation, ainsi
2038.B --dhcp=option=tag:!purple,3,1.2.3.4
2039n'envoie l'option que lorsque le label "purple" n'est pas dans la liste de
2040labels définis pour l'hôte considéré. (dans le cas de l'utilisation dans une
2041ligne de commande au lieu d'un fichier de configuration, ne pas oublier
2042d'échapper le caractère !, qui est un méta-caractère d'interpréteur de commande
2043shell).
Simon Kelley7de060b2011-08-26 17:24:52 +01002044
Simon Kelley7de060b2011-08-26 17:24:52 +01002045Lors de la sélection d'une option, une étiquette spécifiée par dhcp-range
2046passe après les autres étiquettes, ce qui permet de facilement remplacer des
2047option génériques pour des hôtes spécifiques, ainsi :
2048.B dhcp-range=set:interface1,......
2049.B dhcp-host=set:monhote,.....
2050.B dhcp-option=tag:interface1,option:nis-domain,"domaine1"
2051.B dhcp-option=tag:monhote,option:nis-domain,"domaine2"
2052va positionner l'option NIS-domain à domaine1 pour les hôtes dans la plage
2053d'adresse, sauf pour monhote pour lequel cette valeur sera domaine2.
2054
Simon Kelley824af852008-02-12 20:43:05 +00002055.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002056Veuillez noter que pour
2057.B dhcp-range
2058, les éléments tag:<label> et set:<label> sont tous les deux autorisés
2059pour sélectionner la plage à utiliser selon, par exemple, le dhcp-host,
2060et pour affecter l'option envoyée, sur la base de la plage sélectionnée.
2061
2062Ce système a évolué d'un système plus ancien et aux possibilités plus limitées,
2063et pour des raisons de compatibilité "net:" peut être utilisé à la place de
2064"tag:" et "set:" peut-être omis (à l'exception de
2065.B dhcp-host,
2066où "net:" peut-être utilisé à la place de "set:"). Pour les mêmes raisons, '#'
2067peut-être utilisé à la place de '!' pour indiquer la négation.
Simon Kelley824af852008-02-12 20:43:05 +00002068.PP
2069Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur
2070BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies,
2071que ce soit par le biais de l'option
2072.B dhcp-host
2073ou dans le fichier
2074.I /etc/ethers
2075, et que l'option
2076.B dhcp-range
2077soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option
2078.B --bootp-dynamic
2079supprime la nécessité des associations statiques). Le paramètre
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002080"filename" (nom de fichier) de la requête BOOTP est utilisé comme label, ainsi
2081que le label "bootp", permettant un certain contrôle sur les options retournées
Simon Kelley824af852008-02-12 20:43:05 +00002082aux différentes classes d'hôtes.
2083
Simon Kelley834f36f2013-04-17 13:52:49 +01002084
2085.SH CONFIGURATION EN TEMPS QUE SERVEUR FAISANT AUTORITÉ
2086.PP
2087Configurer dnsmasq pour agir en temps que serveur DNS faisant autorité est
2088compliqué par le fait que cela implique la configuration de serveurs DNS
2089externes pour mettre en place la délégation. Seront présentés ci-dessous trois
2090scénarios de complexité croissante. Le pré-requis pour chacun de ces scénarios
2091est l'existence d'une adresse IP globalement disponible, d'un enregistrement de
2092type A ou AAAA pointant vers cette adresse, ainsi que d'un serveur DNS externe
2093capable d'effectuer la délégation de la zone en question. Pour la première
2094partie de ces explications, nous allons appeller serveur.exemple.com
2095l'enregistrement A (ou AAAA) de l'adresse globalement accessible, et
2096notre.zone.com la zone pour laquelle dnsmasq fait autorité.
2097
2098La configuration la plus simple consiste en deux lignes de configuration,
2099sous la forme :
2100.nf
2101.B auth-server=serveur.exemple.com,eth0
2102.B auth-zone=notre.zone.com,1.2.3.0/24
2103.fi
2104
2105ainsi que deux enregistrements dans le DNS externe :
2106
2107.nf
2108serveur.exemple.com A 192.0.43.10
2109notre.zone.com NS serveur.exemple.com
2110.fi
2111
2112eth0 est l'interface réseau externe sur laquelle dnsmasq écoute, dont l'adresse
2113IP (globalement accessible) est 192.0.43.10.
2114
2115A noter que l'adresse IP externe peut parfaitement être dynamique (par exemple
2116attribuée par un FAI via DHCP ou PPP). Dans ce cas, l'enregistrement de type A
2117doit être lié à cet enregistrement dynamique par l'une ou l'autre des techniques
2118habituelles de système DNS dynamique.
2119
2120Un exemple plus complexe mais en pratique plus utile correspond au cas où
2121l'adresse IP globalement accessible se trouve dans la zone pour laquelle
2122dnsmasq fait autorité, le plus souvent à la racine. Dans ce cas nous avons :
2123
2124.nf
2125.B auth-server=notre.zone.com,eth0
2126.B auth-zone=notre.zone.com,1.2.3.0/24
2127.fi
2128
2129.nf
2130notre.zone.com A 1.2.3.4
2131notre.zone.com NS our.zone.com
2132.fi
2133
2134L'enregistrement A pour notre.zone.com est dorénavant un enregistrement "colle"
2135qui résoud le problème de poule et d'oeuf consistant à trouver l'adresse IP
2136du serveur de nom pour notre.zone.com lorsque l'enregistrement se trouve dans
2137la zone en question. Il s'agit du seul rôle de cet enregistrement : comme dnsmasq
2138fait désormais autorité pour notre.zone.com, il doit également fournir cet
2139enregistrement. Si l'adresse externe est statique, cela peut-être réalisé par
2140le biais d'une entrée dans
2141.B /etc/hosts
2142ou via un
2143.B --host-record.
2144
2145.nf
2146.B auth-server=notre.zone.com,eth0
2147.B host-record=notre.zone.com,1.2.3.4
2148.B auth-zone=notre.zone.com,1.2.3.0/24
2149.fi
2150
2151Si l'adresse externe est dynamique, l'adresse associée à notre.zone.com doit
2152être dérivée de l'interface correspondante. Cela peut être fait en utilisant
2153.B interface-name
2154Sous la forme :
2155
2156.nf
2157.B auth-server=notre.zone.com,eth0
2158.B interface-name=notre.zone.com,eth0
2159.B auth-zone=notre.zone.com,1.2.3.0/24
2160.fi
2161
2162La configuration finale rajoute à cette base un serveur DNS secondaire. Il
2163s'agit d'un autre serveur DNS qui apprend les données DNS de la zone en
2164effectuant un transfert de zone, et qui joue le rôle de serveur de secours
2165au cas où le serveur principal devenait inaccessible. La configuration
2166de ce serveur secondaire sort du cadre de cette page de manuel. Les éléments
2167de configuration à rajouter dans dnsmasq sont les simples :
2168
2169.nf
2170.B auth-sec-servers=secondaire.monfai.com
2171.fi
2172
2173et
2174
2175.nf
2176notre.zone.com NS secondaire.monfai.com
2177.fi
2178
2179L'addition d'une option auth-sec-servers active les transferts de zone dans
2180dnsmasq, ce qui permet au serveur secondaire de venir collecter les données
2181DNS. Si vous souhaitez restreindre l'accès à ces données à des hôtes
2182spécifiques, vous pouvez le faire via :
2183
2184.nf
2185.B auth-peer=<adresse IP du serveur secondaire>
2186.fi
2187
2188Dnsmasq joue le rôle de serveur faisant autorité pour les domaines in-addr.arpa
2189et ipv6.arpa associés aux sous-réseaux définis dans la déclaration de zone
2190auth-zone, ce qui fait que les requêtes DNS inversées (de l'adresse vers
2191le nom) peuvent-simplement être configurées avec un enregistrement NS
2192adéquat. Par exemple, comme nous définissons plus haut les adresses
21931.2.3.0/24 :
2194.nf
2195 3.2.1.in-addr.arpa NS notre.zone.com
2196.fi
2197
2198Veuillez noter que pour l'instant, les zones inverses ne sont pas
2199disponibles dans les transferts de zone, donc il est inutile de configurer
2200de serveur secondaire pour la résolution inverse.
2201
2202.PP
2203Lorsque dnsmasq est configuré en temps que serveur faisant autorité,
2204les données suivantes sont utilisées pour peupler la zone considérée :
2205.PP
2206.B --mx-host, --srv-host, --dns-rr, --txt-record, --naptr-record
2207, pour autant que les noms des enregistrements se trouvent dans la zone en
2208question.
2209.PP
2210.B --cname
2211pour peu que le nom soit dans le domaine. Si la cible du CNAME n'est
2212pas pleinement qualifiée, alors elle est qualifiée avec le nom de la
2213zone pour laquelle le serveur fait autorité.
2214.PP
2215Les adresses IPv4 et IPv6 extraites de /etc/hosts (et
2216.B --addn-hosts
2217) ainsi que les options
2218.B --host-record
2219fournissant des adresses situées dans l'un des sous-réseaux spécifiés dans
2220.B --auth-zone.
2221.PP
2222Adresses spécifiées par
2223.B --interface-name.
2224Dans ce cas, l'adresse n'est pas limitée à l'un des sous-réseaux donné dans
2225.B --auth-zone.
2226
2227.PP
2228Les adresses de baux DHCP, si l'adresse est située dans l'un des sous-réseaux de
2229.B --auth-zone
2230OU dans une plage DHCP construite. Dans le mode par défaut, où le bail
2231DHCP a un nom non qualifié, et éventuellement pour un nom qualifié construit
2232via
2233.B --domain
2234, alors le nom dans la zone faisant autorité est construit à partir du nom
2235non qualifié et du nom de domaine de la zone. Cela peut on non être égal
2236celui fourni par
2237.B --domain.
2238Si l'option
2239.B --dhcp-fqdn
2240est fournie, alors les noms pleinemenet qualifiés associés aux baux DHCP
2241sont utilisés, dès lors qu'ils correspondent au nom de domaine associé
2242à la zone.
2243
2244
Simon Kelley824af852008-02-12 20:43:05 +00002245.SH CODES DE SORTIE
2246.PP
22470 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est
2248correctement terminé si le lancement en tâche de fond n'a pas été activé.
2249.PP
22501 - Un problème de configuration a été détecté.
2251.PP
22522 - Un problème est survenu avec un accès réseau (adresse déjà utilisée,
2253tentative d'utiliser un port privilégié sans les permissions nécessaires).
2254.PP
22553 - Un problème est survenu avec une opération sur un système de fichier
2256(fichier ou répertoire manquant, permissions).
2257.PP
22584 - Impossibilité d'allouer de la mémoire.
2259.PP
22605 - Autre problème.
2261.PP
226211 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au
2263processus "init" du script des bails. Le code de retour de Dnsmasq correspond
2264au code de retour du script plus 10.
2265
2266.SH LIMITES
2267Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général
2268conservatrices et appropriées pour des utilisations embarquées sur des machines
2269de type routeur ayant des processeurs lents et une mémoire limitée. Sur du
2270matériel plus performant, il est possible d'augmenter les limites et de gérer
2271plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et
2272ultérieur : les versions précédentes ne montaient pas en charge aussi bien.
2273
2274.PP
2275Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01002276Pour cela, la durée des bail ne doit pas être très courte (moins d'une heure).
2277La valeur de
Simon Kelley824af852008-02-12 20:43:05 +00002278.B --dns-forward-max
2279peut-être augmentée : commencer par la rendre égale au nombre de clients et
2280l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends
2281également de la performance des serveurs amonts. La taille du cache DNS peut-
2282être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut
2283(150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des
2284informations utiles pour paramétrer la taille de cache. Voir la section
2285.B NOTES
2286pour plus de détails.
2287.PP
2288Le serveur TFTP intégré est capable de plusieurs transferts de fichiers
2289simultanés : La limite absolue est liée au nombre maximal de descripteurs de
2290fichiers alloué à un processus et à la capacité de l'appel système select() à
2291gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par
2292le biais de
2293.B --tftp-max
2294elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut
2295noter que plus de transferts sont possible lorsque le même fichier est transmis
2296au lieu d'avoir un fichier différent pour chaque transfert.
2297
2298.PP
2299Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile
2300en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou
23010.0.0.0 par le biais du fichier
2302.B /etc/hosts
2303ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq
2304ayant été testé avec succès avec un million de noms. Cette taille de fichier
2305nécessite un processeur à 1 Ghz et environ 60 Mo de RAM.
2306
Simon Kelley316e2732010-01-22 20:16:09 +00002307.SH INTERNATIONALISATION
2308Dnsmasq peut être compilé pour supporter l'internationalisation. Pour cela,
2309les cibles "all-i18n" et "install-i18n" doivent être données à make, en lieu
2310et place des cibles standards "all" et "install". Lorsque compilé avec le
2311support de l'internationalisation, dnsmasq supporte les noms de domaines
2312internationalisés ("internationalised domain names" ou IDN), et les messages de
2313traces ("logs") sont écrits dans la langue locale. Les noms de domaines dans
2314/etc/hosts, /etc/ethers et /etc/dnsmasq.conf contenant des caractères
2315non-ASCII seront transformés selon la représentation punycode interne
2316aux DNS. Veuillez noter que dnsmasq détermine la langue pour les messages
2317ainsi que le jeu de caractères susceptible d'être utilisé dans les fichiers
2318de configuration à partir de la variable d'environnement LANG. Ceci devrait
2319être configuré à la valeur par défaut du système par les scripts démarrant
2320dnsmasq. Lorsque les fichiers de configuration sont édités, veuillez faire
2321attention à le faire en utilisant la valeur de locale par défaut du système
2322et non une valeur spécifique à l'utilisateur, puisque dnsmasq n'a aucun
2323moyen de déterminer directement la valeur de jeu de caractère utilisé,
2324et assume de ce fait qu'il s'agit de la valeur par défaut du système.
2325
Simon Kelley824af852008-02-12 20:43:05 +00002326.SH FICHIERS
2327.IR /etc/dnsmasq.conf
2328
2329.IR /usr/local/etc/dnsmasq.conf
Simon Kelley28866e92011-02-14 20:19:14 +00002330.IR /var/run/dnsmasq/resolv.conf
2331.IR /etc/ppp/resolv.conf
2332.IR /etc/dhcpc/resolv.conf
Simon Kelley824af852008-02-12 20:43:05 +00002333
2334.IR /etc/resolv.conf
2335
2336.IR /etc/hosts
2337
2338.IR /etc/ethers
2339
2340.IR /var/lib/misc/dnsmasq.leases
2341
2342.IR /var/db/dnsmasq.leases
2343
2344.IR /var/run/dnsmasq.pid
2345.SH VOIR AUSSI
2346.BR hosts (5),
2347.BR resolver (5)
2348.SH AUTEUR
2349Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>.
2350
2351La traduction dans un français bancal a été commise par Gildas Le Nadan
2352<3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger
2353orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la
2354bienvenue!