blob: 32982f86d09396204fde2288a87dfe4a2e4dc8b9 [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
9est un serveur DHCP et DNS à faible empreinte mémoire. Il offre à la fois les
10services DNS et DHCP pour un réseau local (LAN).
11.PP
12Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache
13local, soit en effectuant une requête à un serveur DNS récursif externe (par
14exemple celui de votre fournisseur d'accès internet). Il charge le contenu du
15fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS
16globaux soient tout de même résolus, et assure également la résolution de nom
17pour les hôtes présents dans le service DHCP.
18.PP
Simon Kelley7622fc02009-06-04 20:32:05 +010019Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques et les
20réseaux multiples. Il envoie par défaut un jeu raisonnable de paramètres DHCP, et
Simon Kelley824af852008-02-12 20:43:05 +000021peut être configuré pour envoyer n'importe quel option DHCP.
22Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via
23le réseau/PXE de clients DHCP et supporte également le protocole BOOTP.
24.PP
Simon Kelleye46164e2012-04-16 16:39:38 +010025Dnsmasq supporte IPv6 et contient un démon minimaliste capable de faire des
26annonces routeurs ("router-advertisements").
Simon Kelley824af852008-02-12 20:43:05 +000027.SH OPTIONS
28Notes : Il est possible d'utiliser des options sans leur donner de paramètre.
29Dans ce cas, la fonction correspondante sera désactivée. Par exemple
30.B --pid-file=
31(sans paramètre après le =) désactive l'écriture du fichier PID.
32Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU
33getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle
34est toujours supportée dans le fichier de configuration.
35.TP
Simon Kelley7622fc02009-06-04 20:32:05 +010036.B --test
37Vérifie la syntaxe du ou des fichiers de configurations. Se termine avec le
38code de retour 0 si tout est OK, ou un code différent de 0 dans le cas
39contraire. Ne démarre pas Dnsmasq.
40.TP
Simon Kelley824af852008-02-12 20:43:05 +000041.B \-h, --no-hosts
42Ne pas charger les noms du fichier /etc/hosts.
43.TP
44.B \-H, --addn-hosts=<fichier>
45Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts.
46Si
47.B -h
48est spécifié, lire uniquement le fichier spécifié. Cette option peut être
Simon Kelley7622fc02009-06-04 20:32:05 +010049répétée afin d'ajouter d'autres fichiers. Si un répertoire est donné, lis les
50fichiers contenus dans ce répertoire.
Simon Kelley824af852008-02-12 20:43:05 +000051.TP
52.B \-E, --expand-hosts
53Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le
54nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service
Simon Kelley1f15b812009-10-13 17:49:32 +010055DHCP. Notez que cela ne s'applique pas au nom de domaine dans les CNAME, les
56enregistrements PTR, TXT, etc...
Simon Kelley824af852008-02-12 20:43:05 +000057.TP
58.B \-T, --local-ttl=<durée>
59Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou
60avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro,
61afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être
62mise dans un cache. Ceci est le comportement correct dans presque toutes les
63situations.
64Cette option permet de spécifier la valeur de time-to-live à retourner (en
65secondes). Cela permet de réduire la charge sur le serveur, mais les clients
66risquent d'utiliser des données périmées dans certains cas.
67.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +010068.B --neg-ttl=<durée>
69Les réponses négatives provenant des serveurs amonts contiennent normalement
70une information de durée de vie (time-to-live) dans les enregistrements SOA,
71information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse
72du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette
73option permet de doner une valeur de durée de vie par défaut (en secondes) que
74dnsmasq utilise pour mettre les réponses négatives dans son cache, même en
75l'absence d'enregistrement SOA.
76.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +010077.B --max-ttl=<durée>
78Définie la valeur de TTL maximum qui sera fournie aux clients. La valeur maximum
79de TTL spécifiée sera fournie aux clients en remplacement de la vraie valeur de TTL
80si cette dernière est supérieure. La valeur réelle de TTL est cependant conservée dans
81le cache afin d'éviter de saturer les serveurs DNS en amont.
82.TP
Simon Kelley824af852008-02-12 20:43:05 +000083.B \-k, --keep-in-foreground
84Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner
85normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools
86ou launchd.
87.TP
88.B \-d, --no-daemon
89Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de
90fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet
91du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la
92sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de
93processus fils pour traiter les requêtes TCP.
94.TP
95.B \-q, --log-queries
96Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier
97de traces ("logs"). Active la génération d'un état complet du cache lors de la
98réception d'un signal SIGUSR1.
99.TP
100.B \-8, --log-facility=<facility>
101Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par
102défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient
103au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100104enverra les logs dans le fichier correspondant à la place du syslog. Si la
105"facility" est '-', alors dnsmasq envoie les logs sur la sortie d'erreur
106standard stderr. (Les erreurs lors de la lecture de la configuration vont
107toujours vers le syslog, mais tous les messages postérieurs à un démarrage
108réussi seront exclusivement envoyés vers le fichier de logs).
109Lorsque Dnsmasq est configuré pour envoyer
Simon Kelley824af852008-02-12 20:43:05 +0000110ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la
111fermeture et réouverture du fichier. Cela permet la rotation de fichiers de
112traces sans nécessiter l'arrêt de Dnsmasq.
113.TP
114.B --log-async[=<lignes>]
115Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le
116nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque
117l'écriture vers le syslog est lente.
118Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de
119continuer à fonctionner sans être bloqué par le syslog, et permet à syslog
120d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage.
121Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et
122le nombre de messages perdus. La longueur par défaut de la file d'attente est de
1235 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum
124imposée de 100.
125.TP
126.B \-x, --pid-file=<chemin>
127Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur
128par défaut est /var/run/dnsmasq.pid.
129.TP
130.B \-u, --user=<nom d'utilisateur>
131Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage.
132Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"),
133mais abandonne ses privilèges après le démarrage en changeant d'identité.
134Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est
135possible d'en définir un autre par le biais de ce paramètre.
136.TP
137.B \-g, --group=<nom de groupe>
138Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du
139groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui
140n'est en général pas en lecture par tout le monde.
141.TP
142.B \-v, --version
143Imprime le numéro de version.
144.TP
145.B \-p, --port=<port>
Simon Kelley1a6bca82008-07-11 11:11:42 +0100146Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer
147cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif
148que le DHCP ou le TFTP.
Simon Kelley824af852008-02-12 20:43:05 +0000149.TP
150.B \-P, --edns-packet-max=<taille>
151Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le
Simon Kelley316e2732010-01-22 20:16:09 +0000152défaut est de 4096, qui est la valeur recommandée dans la RFC5625.
Simon Kelley824af852008-02-12 20:43:05 +0000153.TP
154.B \-Q, --query-port=<numéro de port>
155Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par
Simon Kelley1a6bca82008-07-11 11:11:42 +0100156<numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends
157dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais
158cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner
159une valeur de zéro à cette option restaure le comportement par défaut présent dans
160les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port
161alloué par le système d'exploitation.
162.TP
163.B --min-port=<port>
164Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre
165pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les
166requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours
167au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs
168garde-barrières ("firewalls").
Simon Kelley824af852008-02-12 20:43:05 +0000169.TP
170.B \-i, --interface=<nom d'interface>
171N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement
172l'interface locale ("loopback") à la liste des interfaces lorsque l'option
173.B --interface
174est utilisée.
175Si aucune option
176.B --interface
177ou
178.B --listen-address
179n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf
180celle(s) spécifiée(s) par l'option
181.B --except-interface.
182Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec
183.B --interface
184ni
185.B \--except-interface.
186Utiliser l'option
187.B --listen-address
188à la place.
189.TP
190.B \-I, --except-interface=<interface name>
191Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les
192options
193.B \--listen-address
194,
195.B --interface
196et
197.B --except-interface
198sont fournies n'importe pas, et que l'option
199.B --except-interface
200l'emporte toujours sur les autres.
201.TP
202.B \-2, --no-dhcp-interface=<nom d'interface>
203Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de
204même le service DNS.
205.TP
206.B \-a, --listen-address=<adresse IP>
207Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options
208.B \--interface
209et
210.B \--listen-address
211peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et
212d'adresses seront utilisées. Notez que si
213aucune option
214.B \--interface
215n'est donnée alors qu'une option
216.B \--listen-address
217l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale
218("loopback"). Pour activer l'écoute sur l'interface locale, il est alors
219nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option
220.B \--listen-address.
221.TP
222.B \-z, --bind-interfaces
223Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker
224("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par
225la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette
226situation présente l'avantage de fonctionner même lorsque les interfaces vont
227et viennent ou changent d'adresses. L'option
228.B --bind-interfaces
229force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles
230il doit écouter. L'un des seuls cas où cette option est utile est celui où un
231autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même
232machine. Utiliser cette option permet également d'avoir plusieurs instances de
233Dnsmasq fournissant un service DHCP sur la même machine.
234.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +0100235.B --bind-dynamic
236Autorise un mode réseau intermédiaire entre
237.B --bind-interfaces
238et le mode par défaut. Dnsmasq s'associe à une seule interface, ce qui permet
239plusieurs instances de dnsmasq, mais si une interface ou adresse apparaissent,
240il se mettra automatiquement à écouter sur celles-ci (les règles de contrôle
241d'accès s'appliquent).
242De fait, les interfaces créées dynamiquement fonctionnent de la même façon que
243dans le comportement par défaut. Ce fonctionnement nécessite des APIs réseau
244non standard et n'est disponible que sous Linux. Sur les autres plateformes,
245le fonctionnement est celui du mode --bind-interfaces.
246.TP
Simon Kelley824af852008-02-12 20:43:05 +0000247.B \-y, --localise-queries
248Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle
249la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans
250/etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au
251moins est dans le même sous-réseau que l'interface sur laquelle la requête a été
252reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela
253permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour
254chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur
255le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée
256à IPv4.
257.TP
258.B \-b, --bogus-priv
259Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS
260inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas
261trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées
262une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises
263aux serveurs de nom amont ("upstream server").
264.TP
Simon Kelley73a08a22009-02-05 20:28:08 +0000265.B \-V, --alias=[<ancienne IP>]|[<IP de début>-<IP de fin>],<nouvelle IP>[,<masque>]
Simon Kelley824af852008-02-12 20:43:05 +0000266Modifie les adresses IPv4 retournées par les serveurs de nom amont;
267<ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est
268fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque>
269sera réécrite. Ainsi par exemple
270.B --alias=1.2.3.0,6.7.8.0,255.255.255.0
271modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67.
272Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent
Simon Kelley73a08a22009-02-05 20:28:08 +0000273"bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnée sous la forme
274d'une gamme d'adresses, alors seules les adresses dans cette gamme seront
275réecrites, et non le sous-réseau dans son ensemble. Ainsi,
276.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
277fait correspondre 192.168.0.10->192.168.0.40 à 10.0.0.10->10.0.0.40
Simon Kelley824af852008-02-12 20:43:05 +0000278.TP
279.B \-B, --bogus-nxdomain=<adresse IP>
280Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel
281domaine" ("no such domain"). Ceci a pour but de neutraliser la modification
282sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé
283à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour
284les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN".
285Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il
286constate ce comportement. L'adresse retournée par Verisign en septembre 2003
287est 64.94.110.11.
288.TP
289.B \-f, --filterwin2k
290Les dernières versions de windows font des requêtes DNS périodiques auxquelles
291non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui,
292de surcroît, peuvent poser des problèmes en déclenchant des connexions
293intempestives pour des liens réseaux avec des connexions "à la demande". Fournir
294cette option active le filtrage des requêtes de ce type. Les requêtes bloquées
295sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de
296type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des
297serveurs LDAP).
298.TP
299.B \-r, --resolv-file=<fichier>
300Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>,
301au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le
302manuel pour
303.BR resolv.conf (5)
304les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire
305plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le
306fichier par défaut, le contenu des suivants est rajouté dans la liste des
307fichiers à consulter. Seul le fichier ayant la dernière date de modification
308sera chargé en mémoire.
309.TP
310.B \-R, --no-resolv
311Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des
312serveurs de nom amont que depuis la ligne de commande ou le fichier de
313configuration de Dnsmasq.
314.TP
315.B \-1, --enable-dbus
316Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de
317méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de
318serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette
319option nécessite que Dnsmasq soit compilé avec le support DBus.
320.TP
321.B \-o, --strict-order
322Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts
323dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait
324fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque
325requête, les serveurs DNS dans leur ordre d'apparition dans le fichier
326/etc/resolv.conf.
327.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100328.B --all-servers
329Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie
330les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à
331effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé
332au client sera celui fournit par le premier serveur ayant répondu.
333.TP
334.B --stop-dns-rebind
335Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme
336d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les
337serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant
338à détourner de leur usage les logiciels de navigation web ('browser') en s'en
339servant pour découvrir les machines situées sur le réseau local.
340.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100341.B --rebind-localhost-ok
342Exclue 127.0.0/8 des vérifications de réassociation DNS. Cette gamme d'adresses
343est retournée par les serveurs Realtime Blackhole (RBL, utilisés dans la
344lutte contre le spam), la bloquer peut entraîner des disfonctionnements de ces
345services.
346.TP
347.B --rebind-domain-ok=[<domaine>]|[[/<domaine>/[<domaine>/]
348Ne pas détecter ni bloquer les actions de type dns-rebind pour ces domaines.
349Cette option peut prendre comme valeur soit un nom de domaine soit plusieurs
350noms de domains entourés par des '/', selon une syntaxe similaire à l'option
351--server, c-à-d :
352.B --rebind-domain-ok=/domaine1/domaine2/domaine3/
353.TP
Simon Kelley824af852008-02-12 20:43:05 +0000354.B \-n, --no-poll
355Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié.
356.TP
357.B --clear-on-reload
358Lorsque le fichier /etc/resolv.conf est relu, vider le cache DNS.
359Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données
360différentes de celles stockées dans le cache.
361.TP
362.B \-D, --domain-needed
Simon Kelley7de060b2011-08-26 17:24:52 +0100363Indique à Dnsmasq de ne jamais transmettre en amont de requêtes A ou AAAA pour
364des noms simples, c'est à dire ne comprenant ni points ni nom de domaine. Si un
365nom n'est pas dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse
366de type "non trouvé" est renvoyée.
Simon Kelley824af852008-02-12 20:43:05 +0000367.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100368.B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]
Simon Kelley824af852008-02-12 20:43:05 +0000369Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne
370supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela
371l'option
372.B -R .
373Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce
374serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute
375requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur.
376Cette option est destinée aux serveurs de nom privés : si vous avez un serveur
377de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la
378résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors
379.B -S /internal.thekelleys.org.uk/192.168.1.1
380enverra toutes les requêtes pour les machines internes vers ce serveur de nom,
381alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans
382le fichier /etc/resolv.conf. Une spécification de nom de domaine vide,
383.B //
384possède le sens particulier de "pour les noms non qualifiés uniquement",
385c'est-à-dire les noms ne possédant pas de points. Un port non standard peut être
386rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une
387option
388.B -S
389est autorisée, en répétant les domaines et adresses IP comme requis.
390
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100391Le domaine le plus spécifique l'emporte sur le domaine le moins spécifique,
392ainsi :
393.B --server=/google.com/1.2.3.4
394.B --server=/www.google.com/2.3.4.5
395enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes
396*www.google.com, qui seront envoyées à 2.3.4.5.
397
398L'adresse spéciale '#' signifie "utiliser les serveurs standards", ainsi
399.B --server=/google.com/1.2.3.4
400.B --server=/www.google.com/#
401enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes
402pour *www.google.com qui seront envoyées comme d'habitude (c-à-d aux serveurs
403définis par défaut).
404
Simon Kelley824af852008-02-12 20:43:05 +0000405Il est également permis de donner une option
406.B -S
407avec un nom de domaine mais sans
408adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre
409aux requêtes le concernant depuis les entrées contenues dans le fichier
410/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes
411aux serveurs amonts.
412.B local
413est synonyme de
414.B server
415("serveur") afin de rendre plus claire l'utilisation de cette option pour cet
416usage particulier.
417
Simon Kelley7de060b2011-08-26 17:24:52 +0100418Les adresses IPv6 peuvent inclure un identifiant de zone sous la forme
419%interface tel que par exemple
420fe80::202:a412:4512:7bbf%eth0.
421
Simon Kelley1a6bca82008-07-11 11:11:42 +0100422La chaîne de caractères optionnelle suivant le caractère @ permet de définir
423la source que Dnsmasq doit utiliser pour les réponses à ce
424serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur
Simon Kelley824af852008-02-12 20:43:05 +0000425laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera
Simon Kelley1a6bca82008-07-11 11:11:42 +0100426consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom
427d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées
428depuis cette interface; si une adresse ip est donnée, alors l'adresse source de
429la requête sera l'adresse en question. L'option query-port est ignorée pour tous
430les serveurs ayant une adresse source spécifiée, mais il est possible de la donner
431directement dans la spécification de l'adresse source. Forcer les requêtes à être
432émises depuis une interface spécifique n'est pas possible sur toutes les plateformes
433supportées par dnsmasq.
Simon Kelley824af852008-02-12 20:43:05 +0000434.TP
435.B \-A, --address=/<domaine>/[domaine/]<adresse IP>
436Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis
437en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux
438serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être
439une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse
440IPv6 pour un domaine, utiliser plusieurs options
441.B -A.
442Il faut noter que le
443contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des
444noms individuels. Une utilisation courante de cette option est de rediriger la
445totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les
446bannières publicitaires. La spécification de domaine fonctionne de la même façon
447que
448.B --server,
449avec la caractéristique supplémentaire que
450.B /#/
451coïncide avec tout domaine. Ainsi,
452.B --address=/#/1.2.3.4
453retournera 1.2.3.4 pour toute requête
454n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas
455transmise à un serveur spécifique par le biais d'une directive
456.B --server.
457.TP
458.B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>]
459Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom
460donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans
461l'option
462.B --mx-target
463si elle est présente. Sinon retourne le nom de la machine
464sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option
465.B --mx-target
466) est utile dans un réseau local pour rediriger les courriers
467électroniques vers un serveur central. La valeur de préférence est optionnelle
468et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être
469fournie pour un hôte donné.
470.TP
471.B \-t, --mx-target=<nom d'hôte>
472Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des
473enregistrements de type MX. Voir
474.B --mx-host.
475Si
476.B --mx-target
477est donné mais pas de
478.B --mx-host,
479alors Dnsmasq retourne comme réponse un enregistrement MX
480contenant le nom d'hôte spécifié dans l'option
481.B --mx-target
482pour toute requête
483concernant le MX de la machine sur laquelle tourne Dnsmasq.
484.TP
485.B \-e, --selfmx
486Définit, pour toutes les machines locales, un MX correspondant à l'hôte
487considéré. Les machines locales sont celles définies dans le fichier /etc/hosts
488ou dans un bail DHCP.
489.TP
490.B \-L, --localmx
491Définit, pour toutes les machines locales, un enregistrement MX pointant sur
492l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les
493machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail
494DHCP.
495.TP
496.B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]]
497Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de
498détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur
499fournie dans l'option
500.B --domain.
501La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors
502que les poids et priorités par défaut sont 0. Attention lorsque vous transposez
503des valeurs issues d'une configuration BIND : les ports, poids et priorités sont
504dans un ordre différents. Pour un service/domaine donné, plus d'un
505enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont
506retournés dans la réponse.
507.TP
Simon Kelleye46164e2012-04-16 16:39:38 +0100508.B --host-record=<nom>[,<nom>....][<adresse IPv4>],[<adresse IPv6>]
509Ajoute des enregistrements A, AAAA et PTR dans le DNS. Ceci permet d'ajouter
510un ou plusieurs noms dans le DNS et de les associer à des enregistrements IPv4
511(A) ou IPv6 (AAAA). Un nom peut apparaître dans plus d'une entrée
512.B host-record
513et de fait être associé à plus d'une adresse. Seule la première entrée créée
514l'enregistrement PTR associée au nom. Ceci correspond à la même règle que celle
515utilisée lors de la lecture du fichier hosts.
516Les options
517.B host-record
518sont considérées lues avant le fichier hosts, ainsi un nom apparaissant dans
519une option host-record et dans le fichier hosts n'aura pas d'enregistrement
520PTR associé à l'entrée dans le fichier hosts. A l'inverse du fichier hosts, les
521noms ne sont pas étendus, même lorsque l'option
522.B expand-hosts
523est activée. Les noms longs et les noms courts peuvent apparaitre dans la même
524entrée
525.B host-record,
526c-à-d
527.B --host-record=laptop,laptop.thekelleys.org,192.168.0.1,1234::100
528.TP
Simon Kelley824af852008-02-12 20:43:05 +0000529.B \-Y, --txt-record=<nom>[[,<texte>],<texte>]
530Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est
531un ensemble de chaînes de caractères, donc un nombre variable de chaînes de
Simon Kelley28866e92011-02-14 20:19:14 +0000532caractères peuvent être spécifiées, séparées par des virgules. Utilisez des
533guillemets pour mettre une virgule dans une chaîne de caractères. Notez que la
534longueur maximale pour une chaîne est de 255 caractères, les chaînes plus
535longues étant découpées en morceaux de 255 caractères de longs.
Simon Kelley824af852008-02-12 20:43:05 +0000536.TP
537.B --ptr-record=<nom>[,<cible>]
538Définit un enregistrement DNS de type PTR.
539.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100540.B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>]
541Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403.
542.TP
Simon Kelley73a08a22009-02-05 20:28:08 +0000543.B --cname=<cname>,<cible>
544Retourne un enregistrement de type CNAME qui indique que <cname> est en
545réalité <cible>. Il existe des contraintes significatives sur la valeur
546de cible; il doit s'agir d'un nom DNS qui est connu de dnsmasq via /etc/hosts
Simon Kelleyc4c04882012-08-06 20:09:15 +0100547(ou un fichier hôtes additionnel), ou via DHCP, ou par un autre
548.B --cname.
549Si une cible ne satisfait pas ces critères, le CNAME est ignoré. Le CNAME
550doit être unique, mais il est autorisé d'avoir plus d'un CNAME pointant
551vers la même cible.
552.TP
553.B --dns-rr=<nom>,<numéro-RR>,[<données hexadécimales>]
554Retourne un enregistrement DNS arbitraire. Le numéro correspond au type
555d'enregistrement (qui est toujours de la classe C_IN). La valeur de
556l'enregistrement est donnée dans les données hexadécimales, qui peuvent
557être de la forme 01:23:45, 01 23 45,+012345 ou n'importe quelle combinaison.
Simon Kelley73a08a22009-02-05 20:28:08 +0000558.TP
Simon Kelley824af852008-02-12 20:43:05 +0000559.B --interface-name=<nom>,<interface>
560Définit un entregistrement DNS associant le nom avec l'adresse primaire sur
561l'interface donnée en argument. Cette option spécifie un enregistrement de type
562A pour le nom donné en argument de la même façon que s'il était défini par une
563ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de
564l'interface définie. Si l'interface est inactive, non existante ou non
565configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est
566également créé par cette option, associant l'adresse de l'interface avec le nom.
567Plus d'un nom peut être associé à une interface donnée en répétant cette option
568plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni
569dans la première instance de cette option.
570.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000571.B --add-mac
572Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises aux serveurs
573amonts. Cela peut être utilisé dans un but de filtrage DNS par les serveurs
574amonts. L'adresse MAC peut uniquement être ajoutée si le requêteur est sur le
575même sous-réseau que le serveur dnsmasq. Veuillez noter que le mécanisme
576utilisé pour effectuer cela (une option EDNS0) n'est pas encore standardisée,
577aussi cette fonctionalité doit être considérée comme expérimentale. Notez
578également qu'exposer les adresses MAC de la sorte peut avoir des implications
579en termes de sécurité et de vie privée.
580.TP
Simon Kelley824af852008-02-12 20:43:05 +0000581.B \-c, --cache-size=<taille>
582Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms.
583Définir une valeur de zéro désactive le cache.
584.TP
585.B \-N, --no-negcache
586Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir
587des réponses de type "no such domain" fournies par les serveurs DNS en amont et
588de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs
589amont.
590.TP
591.B \-0, --dns-forward-max=<nombre de requêtes>
592Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est
593150, ce qui devrait être suffisant dans la majorité des configurations. La seule
594situation identifiée dans laquelle cette valeur nécessite d'être augmentée est
595lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de
596son journal des requêtes, ce qui peut générer un nombre important de requêtes
597simultanées.
598.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000599.B --proxy-dnssec
600Un resolveur sur une machine cliente peut effectuer la validation DNSSEC de
601deux façons : il peut effectuer lui-même les opérations de chiffrements sur
602la réponse reçue, ou il peut laisser le serveur récursif amont faire la
603validation et positionner un drapeau dans la réponse au cas où celle-ci est
604correcte. Dnsmasq n'est pas un validateur DNSSEC, aussi il ne peut effectuer
605la validation comme un serveur de nom récursif, cependant il peut retransmettre
606les résultats de validation de ses serveurs amonts. Cette option permet
607l'activation de cette fonctionalité. Vous ne devriez utiliser cela que si vous
608faites confiance aux serveurs amonts
609.I ainsi que le réseau entre vous et eux.
610Si vous utilisez le premier mode DNSSEC, la validation par le resolveur des
611clients, cette option n'est pas requise. Dnsmasq retourne toujours toutes les
612données nécessaires par un client pour effectuer la validation lui-même.
613.TP
Simon Kelley7de060b2011-08-26 17:24:52 +0100614.B --conntrack
615Lis le marquage de suivi de connexion Linux associé aux requêtes DNS entrantes
616et positionne la même marque au trafic amont utilisé pour répondre à ces
617requétes. Cela permet au trafic généré par Dnsmasq d'étre associé aux requêtes
618l'ayant déclenché, ce qui est pratique pour la gestion de la bande passante
619(accounting) et le filtrage (firewall). Dnsmasq doit pour cela être compilé
620avec le support conntrack, le noyau doit également inclure conntrack et être
621configuré pour cela. Cette option ne peut pas être combinée avec
Simon Kelleye46164e2012-04-16 16:39:38 +0100622--query-port.
Simon Kelley7de060b2011-08-26 17:24:52 +0100623.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +0100624.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 +0000625.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +0100626.B \-F, --dhcp-range=[tag:<label>[,tag:<label>],][set:<label>],]<addresse IPv6 de début>[,<adresse IPv6 de fin>][,<mode>][,<longueur de préfixe>][,<durée de bail>]
Simon Kelley824af852008-02-12 20:43:05 +0000627Active le serveur DHCP. Les adresses seront données dans la plage comprise entre
628<adresse de début> et <adresse de fin> et à partir des adresses définies
629statiquement dans l'option
630.B dhcp-host.
631Si une durée de bail est donnée, alors les baux seront donnés pour cette
632durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m),
633en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une
Simon Kelley7622fc02009-06-04 20:32:05 +0100634durée indéterminée. Si aucune valeur n'est donnée, une durée de bail par défaut
635de une heure est appliquée. La valeur minimum pour un bail DHCP est de 2
636minutes.
Simon Kelleye46164e2012-04-16 16:39:38 +0100637
638Pour les plages IPv6, la durée de bail peut-être égale au mot-clef "deprecated"
639(obsolète); Cela positionne la durée de vie préférée envoyée dans les baux DHCP
640ou les annonces routeurs à zéro, ce qui incite les clients à utiliser d'autres
641adresses autant que possible, pour toute nouvelle connexion, en préalable à
642la renumérotation.
643
Simon Kelley1a6bca82008-07-11 11:11:42 +0100644Cette option peut être répétée, avec différentes adresses,
Simon Kelley824af852008-02-12 20:43:05 +0000645pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement
646connectés (c'est-à-dire des réseaux dans lesquels la machine sur laquelle tourne
Simon Kelley7de060b2011-08-26 17:24:52 +0100647Dnsmasq possède une interface), le masque de réseau est optionnel : Dnsmasq la
648déterminera à partir de la configuration des interfaces.
649
650Pour les réseaux pour lesquels le service DHCP se fait via un relais DHCP
651("relay agent"), Dnsmasq est incapable de déterminer le masque par lui-même,
652aussi il doit être spécifié, faute de quoi Dnsmasq essaiera de le deviner en
653fonction de la classe (A, B ou C) de l'adresse réseau. L'adresse de broadcast
654est toujours optionnelle.
Simon Kelley824af852008-02-12 20:43:05 +0000655
Simon Kelley7622fc02009-06-04 20:32:05 +0100656Il est toujours possible d'avoir plus d'une plage DHCP pour un même
657sous-réseau.
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000658
659Pour IPv6, les paramètres sont légèrement différents : au lieu d'un masque de
660réseau et d'une adresse de broadcast, il existe une longueur de préfixe
661optionnelle. Si elle est omise, la valeur par défaut est 64. À la différence
662d'IPv4, la longueur de préfixe n'est pas automatiquement déduite de la
663configuration de l'interface. La taille minimale pour la longueur de préfixe
664est 64.
665
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100666L'identifiant de label optionnel
667.B set:<label>
668fournie une étiquette alphanumérique qui identifie ce réseau, afin de permettre
669la fourniture d'options DHCP spécifiques à chaque réseau.
670Lorsque préfixé par 'tag:', la signification change, et au lieu de définir un
Simon Kelley824af852008-02-12 20:43:05 +0000671label, il définit le label pour laquelle la règle s'applique. Un seul label peut-
672être défini mais plusieurs labels peuvent coïncider.
673
Simon Kelleye46164e2012-04-16 16:39:38 +0100674Le mot clef optionnel <mode> peut être égal à
Simon Kelley824af852008-02-12 20:43:05 +0000675.B static
Simon Kelleye46164e2012-04-16 16:39:38 +0100676("statique") ce qui indique à Dnsmasq d'activer le service DHCP pour le réseau
Simon Kelley7622fc02009-06-04 20:32:05 +0100677spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP : Seuls
678les hôtes possédant des adresses IP statiques fournies via
Simon Kelley824af852008-02-12 20:43:05 +0000679.B dhcp-host
680ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP.
Simon Kelley7622fc02009-06-04 20:32:05 +0100681
Simon Kelleye46164e2012-04-16 16:39:38 +0100682Pour IPv4, le <mode> peut est égal à
Simon Kelley7622fc02009-06-04 20:32:05 +0100683.B proxy
684, auquel cas Dnsmasq fournira un service de DHCP proxy pour le sous-réseau
685spécifié. (voir
686.B pxe-prompt
687et
688.B pxe-service
Simon Kelleye46164e2012-04-16 16:39:38 +0100689pour plus de détails).
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000690
Simon Kelleye46164e2012-04-16 16:39:38 +0100691Pour IPv6, le mode peut-être une combinaison des valeurs
692.B ra-only, slaac, ra-names, ra-stateless.
693
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000694.B ra-only
Simon Kelleye46164e2012-04-16 16:39:38 +0100695indique à dnsmasq de n'effectuer que des annonces de routeur (Router
696Advertisement, RA) sur ce sous-réseau, et de ne pas faire de DHCP.
697
698.B slaac
699indique à dnsmasq d'effectuer des annonces de routeur sur ce sous-réseau
700et de positionner dans celles-ci le bit A, afin que les clients utilisent
701des adresses SLAAC. Lorsqu'utilisé conjointement avec une plage DHCP ou des
702affectations statiques d'adresses DHCP, les clients disposeront à la fois
703d'adresses DHCP assignées et d'adresses SLAAC.
704
705.B ra-stateless
706indique à dnsmasq d'effectuer des annonces de routeur avec les bits 0 et A
707positionnés, et de fournir un service DHCP sans état ("stateless"). Les clients
708utiliseront des adresses SLAAC, et utiliseront DHCP pour toutes les autres
709informations de configuration.
710
711.B ra-names
712active un mode qui fourni des noms DNS aux hôtes fonctionnant en double pile
713("dual stack") et configurés pour faire du SLAAC en IPv6. Dnsmasq utilise le
714bail IPv4 de l'hôte afin de dériver le nom, le segment de réseau et l'adresse
715MAC et assume que l'hôte disposera d'une adresse IPv6 calculée via l'algorithme
716SLAAC, sur le même segment de réseau. Un ping est envoyé à l'adresse, et si une
717réponse est obtenue, un enregistrement AAAA est rajouté dans le DNS pour cette
718adresse IPv6. Veuillez-noter que cela n'arrive que pour les réseaux directement
719connectés (et non ceux pour lesquels DHCP se fait via relai), et ne
720fonctionnera pas si un hôte utilise les "extensions de vie privée"
721("privacy extensions").
722.B ra-names
723peut-être combiné avec
724.B ra-stateless
725et
726.B slaac.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100727
Simon Kelley824af852008-02-12 20:43:05 +0000728.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100729.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 +0000730Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine
731possédant une adresse matérielle spécifique de se voir toujours allouée les
732mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme
733ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est
734également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte,
735auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se
736réclamant de ce nom. Par exemple
737.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
738spécifie à Dnsmasq de fournir à la machine d'adresse matérielle
73900:20:e0:3b:13:af le nom, et un bail de durée indéterminée.
740
741.B --dhcp-host=lap,192.168.0.199
742spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100743l'adresse IP 192.168.0.199.
744
745Les adresses allouées de la sorte ne sont pas contraintes à une plage d'adresse
746spécifiée par une option --dhcp-range, mais elles se trouver dans le même
747sous-réseau qu'une plage dhcp-range valide. Pour les sous-réseaux qui n'ont pas
748besoin d'adresses dynamiquement allouées, utiliser le mot-clef "static" dans la
749déclaration de plage d'adresses dhcp-range.
750
751Il est possible
Simon Kelley824af852008-02-12 20:43:05 +0000752d'utiliser des identifiants clients plutôt que des adresses matérielles pour
753identifier les hôtes, en préfixant par ceux-ci par 'id:'. Ainsi,
754.B --dhcp-host=id:01:02:03:04,.....
755réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de
756spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme
757ceci :
758.B --dhcp-host=id:identifiantclientsousformedechaine,.....
Simon Kelley73a08a22009-02-05 20:28:08 +0000759
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000760Un seul
761.B dhcp-host
762peut contenir une adresse IPv4, une adresse IPv6, ou les deux en même temps.
763Les adresses IPv6 doivent-être mises entre crochets comme suit :
764.B --dhcp-host=laptop,[1234::56]
765A noter que pour le DHCP IPv6, l'adresse matérielle n'est en principe pas
766disponible, aussi un client doit-être identifié par un identifiant de client
767(appellé "DUID client") ou un nom d'hôte.
768
Simon Kelley824af852008-02-12 20:43:05 +0000769L'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser
770que l'adresse matérielle". Cela est utile lorsqu'un client présente un
771identifiant client mais pas les autres.
772
773Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un
774bail DHCP mais seulement si une option
775.B --dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100776spécifiant le nom existe par ailleurs. Seul un nom d'hôte peut-être donné dans
777une option
778.B dhcp-host
779, mais les alias sont possibles au travers de l'utilisation des CNAMEs. (Voir
780.B --cname
781).
782Le mot clef "ignore" ("ignorer") indique
Simon Kelley824af852008-02-12 20:43:05 +0000783à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être
784spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte.
785Par exemple
786.B --dhcp-host=00:20:e0:3b:13:af,ignore
787Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par
Simon Kelley73a08a22009-02-05 20:28:08 +0000788certaines machines.
789
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100790Le paramètre set:<identifiant réseau> permet de définir un
Simon Kelley824af852008-02-12 20:43:05 +0000791identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100792à sélectionner des options DHCP juste pour cet hôte. Plus d'un label peut être
793fourni dans une directive dhcp-host (et dans cette seule directive). Lorsqu'une
794machine coïncide avec une directive dhcp-host (ou une impliquée par
795/etc/ethers), alors le label réservé "known" ("connu") est associé. Cela permet à
Simon Kelley824af852008-02-12 20:43:05 +0000796Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue
797 par le biais de
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100798.B --dhcp-ignore=tag:!known.
Simon Kelley824af852008-02-12 20:43:05 +0000799
800Les adresses ethernet (mais pas les identifiants clients) peuvent être définies
801avec des octets joker, ainsi par exemple
802.B --dhcp-host=00:20:e0:3b:13:*,ignore
803demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter
804que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets
805lorsque spécifié en option de ligne de commande, mais pas dans le fichier de
Simon Kelley73a08a22009-02-05 20:28:08 +0000806configuration.
807
808Les adresses matérielles coïncident en principe avec n'importe
Simon Kelley824af852008-02-12 20:43:05 +0000809quel type de réseau (ARP), mais il est possible de les limiter à un seul type
810ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi
811.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
812coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type
813ARP pour une adresse Token-Ring est 6.
Simon Kelley73a08a22009-02-05 20:28:08 +0000814
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000815Un cas spécial, pour IPv4, correspond à l'inclusion d'une ou plusieurs adresses
Simon Kelley73a08a22009-02-05 20:28:08 +0000816matérielles, c-à-d :
817.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2.
818Cela permet à une adresse IP d'être associé à plusieurs adresses
819matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP
820attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste
821demande un bail. Ceci est une opération dangereuse qui ne fonctionnera
822de manière fiable que si une adresse matérielle est active à un moment
823donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile,
824par exemple, pour allouer une adresse IP stable à un laptop qui
825aurait à la fois une connexion filaire et sans-fil.
Simon Kelley824af852008-02-12 20:43:05 +0000826.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000827.B --dhcp-hostsfile=<chemin>
828Lis les informations d'hôtes DHCP dans le fichier spécifié. Si l'argument est
829un chemin vers un répertoire, lis tous les fichiers de ce répertoire. Le
830fichier contient des informations à raison d'un hôte par ligne. Le format
831d'une ligne est la même que le texte fourni à la droite sur caractère "=" dans
832l'option
Simon Kelley824af852008-02-12 20:43:05 +0000833.B --dhcp-host.
834L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est
835que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera
836relu lorsque Dnsmasq reçoit un signal SIGHUP.
Simon Kelley1a6bca82008-07-11 11:11:42 +0100837.TP
Simon Kelley28866e92011-02-14 20:19:14 +0000838.B --dhcp-optsfile=<chemin>
839Lis les informations relatives aux options DHCP dans le fichier spécifié. Si
840l'argument est un chemin vers un répertoire, lis tous les fichiers de ce
841répertoire. L'intérêt d'utiliser cette option est le même que pour
842 --dhcp-hostsfile : le fichier spécifié sera rechargé à la réception par
843dnsmasq d'un signal SIGHUP. Notez qu'il est possible d'encoder l'information
844via
Simon Kelley1f15b812009-10-13 17:49:32 +0100845.B --dhcp-boot
846en utilisant les noms optionnels bootfile-name, server-ip-address et
847tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME
Simon Kelley1a6bca82008-07-11 11:11:42 +0100848.TP
Simon Kelley824af852008-02-12 20:43:05 +0000849.B \-Z, --read-ethers
850Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de
851/etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par
852une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu
853par Dnsmasq, ces lignes ont exactement le même effet que l'option
854.B --dhcp-host
855contenant les mêmes informations. /etc/ethers est relu à la réception d'un
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000856signal SIGHUP par Dnsmasq. Les adresses IPv6 ne sont PAS lues dans /etc/ethers.
Simon Kelley824af852008-02-12 20:43:05 +0000857.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000858.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 +0000859Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par
860défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le
861masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte
862sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000863prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq.
864(Des règles équivalentes s'appliquent en IPv6). Si une option de nom de domaine
865a été définie, son contenu est transmis. Cette option de configuration permet
866de changer toutes ces valeurs par défaut, ou de spécifier d'autres options.
867L'option DHCP à transmettre peut être fournie sous forme d'un nombre décimal
868ou sous la forme "option:<nom d'option>". Les nombres correspondants aux options
869sont définis dans la RFC2132 et suivants. Les noms d'options connus par Dnsmasq
870peuvent être obtenus via "Dnsmasq --help dhcp". Par exemple, pour définir la
871route par défaut à 192.168.4.4, il est possible de faire
Simon Kelley824af852008-02-12 20:43:05 +0000872.B --dhcp-option=3,192.168.4.4
873ou
874.B --dhcp-option = option:router, 192.168.4.4
875ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut
876faire
877.B --dhcp-option = 42,192.168.0.4
878ou
879.B --dhcp-option = option:ntp-server, 192.168.0.4
880L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle
881tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la
882forme de 4 chiffres séparés par des points, un nombre décimal, une liste de
883caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100884Si des labels optionnels sont fournis, alors cette option n'est envoyée
885qu'aux réseaux dont tous les labels coïncident avec ceux de la requête.
Simon Kelley824af852008-02-12 20:43:05 +0000886
887Un traitement spécial est effectué sur les chaînes de caractères fournies pour
888l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les
889adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments
890de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous
891forme de 4 chiffres séparés par des points suivies par une barre montante "/",
892puis une taille de masque sont encodés conforméments à la RFC 3442.
893
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000894Les options IPv6 sont fournies en utilisant le mot-clef
895.B option6:
896suivi par le numéro d'option ou le nom d'option. L'espace de nommage des options
897IPv6 est disjint de l'espace de nommage des options IPv4. Les adresses IPv6
898en option doivent être entourées de crochets, comme par exemple :
899.B --dhcp-option=option6:ntp-server,[1234::56]
900
Simon Kelley824af852008-02-12 20:43:05 +0000901Attention : aucun test n'étant fait pour vérifier que des données d'un type
902adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible
903de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation
904incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq
905doit déterminer la taille des données. Cela est fait en examinant le numéro de
906l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une
907lettre comme suit :
908b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des
909options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles
910Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options
911consistant uniquement de points et de décimaux sont interprétées par Dnsmasq
912comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme
913de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par
914exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme
915d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire
916comme suit :
917.B --dhcp-option=66,"1.2.3.4"
918
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000919Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées
920(pour IPv4 seulement) en utilisant
Simon Kelley824af852008-02-12 20:43:05 +0000921.B --dhcp-option
922: par exemple
923.B --dhcp-option=vendor:PXEClient,1,0.0.0.0
924envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à
925n'importe quel client dont la classe de vendeur correspond à "PXEClient". La
926correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de
927caractères (voir
928.B --dhcp-vendorclass
929pour plus de détails). Si une option de
930classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé
931pour sélectionner les options encapsulées, de préférence à toute option envoyée
932par le client. Il est possible d'omettre complètement une classe de vendeur :
933.B --dhcp-option=vendor:,1,0.0.0.0
934Dans ce cas l'option encapsulée est toujours envoyée.
Simon Kelley73a08a22009-02-05 20:28:08 +0000935
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000936En IPv4, les options peuvent-être encapsulées au sein d'autres options :
Simon Kelley73a08a22009-02-05 20:28:08 +0000937par exemple
938.B --dhcp-option=encap:175, 190, "iscsi-client0"
939enverra l'option 175, au sein de laquelle se trouve l'option 190.
940Plusieurs options encapsulées avec le même numéro d'option seront correctement
941combinées au sein d'une seule option encapsulée. Il n'est pas possible de
942spécifier encap: et vendor: au sein d'une même option dhcp.
943
Simon Kelley316e2732010-01-22 20:16:09 +0000944La dernière variante pour les options encapsulées est "l'option de Vendeur
945identifiant le vendeur" ("Vendor-Identifying Vendor Options") telle que
946décrite dans le RFC3925. Celles-ci sont spécifiées comme suit :
947.B --dhcp-option=vi-encap:2, 10, "text"
948Le numéro dans la section vi-encap: est le numéro IANA de l'entreprise servant
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000949à identifier cette option. Cette forme d'encapsulation est également supportée
950en IPv6.
Simon Kelley316e2732010-01-22 20:16:09 +0000951
Simon Kelley824af852008-02-12 20:43:05 +0000952L'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 +0000953une option encapsulée.
Simon Kelley824af852008-02-12 20:43:05 +0000954.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100955.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 +0000956Cela fonctionne exactement de la même façon que
957.B --dhcp-option
958sauf que cette option sera toujours envoyée, même si le client ne la demande pas
959dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors
960de la fourniture d'options à PXELinux.
961.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +0100962.B --dhcp-no-override
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000963(IPv4 seulement) Désactive la réutilisation des champs DHCP nom de serveur et
964nom de fichier comme espace supplémentaire pour les options. Si cela est
Simon Kelley1a6bca82008-07-11 11:11:42 +0100965possible, dnsmasq déplace les informations sur le serveur de démarrage
966et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs
967dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est
968alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans
969quelques rares cas, perturber des clients vieux ou défectueux. Cette
970option force le comportement à l'utilisation des valeurs "simples et sûres"
971afin d'éviter des problèmes dans de tels cas.
972.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000973.B \-U, --dhcp-vendorclass=set:<label>,[enterprise:<numéro IANA d'enterprise>,]<classe de vendeur>
974
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100975Associe une chaîne de classe de vendeur à un label. La plupart
Simon Kelley824af852008-02-12 20:43:05 +0000976des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui
977représente, d'une certaine façon, le type d'hôte. Cette option associe des
978classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être
979fournie de manière sélective aux différentes classes d'hôtes. Par exemple,
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100980.B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect
981ou
Simon Kelley824af852008-02-12 20:43:05 +0000982.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect
983permet de n'allouer des options qu'aux imprimantes HP de la manière suivante :
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100984.B --dhcp-option=tag:printers,3,192.168.4.4
Simon Kelley824af852008-02-12 20:43:05 +0000985La chaîne de caractères de la classe de vendeur founie en argument est cherchée
986en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie
987par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100988de caractères ("fuzzy matching"). Le préfixe set: est optionnel mais autorisé
989afin de conserver une certaine homogénéité.
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000990
991Notez qu'en IPv6 (et seulement en IPv6), les noms de classes de vendeurs
992sont dans un espace de nom associé au numéro attribué à l'entreprise par
993l'IANA. Ce numéro est fourni par le biais du mot-clef enterprise: et seules
994les classes de vendeurs associées au numéro spécifié seront cherchées.
Simon Kelley824af852008-02-12 20:43:05 +0000995.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100996.B \-j, --dhcp-userclass=set:<label>,<classe utilisateur>
997Associe une chaîne de classe d'utilisateur à un label (effectue la
Simon Kelley824af852008-02-12 20:43:05 +0000998recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart
999des clients permettent de configurer une "classe d'utilisateur". Cette option
1000associe une classe d'utilisateur à un label, de telle manière qu'il soit
1001possible de fournir des options DHCP spécifiques à différentes classes d'hôtes.
1002Il est possible, par exemple, d'utiliser ceci pour définir un serveur
1003d'impression différent pour les hôtes de la classe "comptes" et ceux de la
1004classe "ingénierie".
1005.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001006.B \-4, --dhcp-mac=set:<label>,<adresse MAC>
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001007(IPv4 uniquement) Associe une adresse matérielle (MAC) à un label. L'adresse
Simon Kelley824af852008-02-12 20:43:05 +00001008matérielle peut inclure des jokers. Par exemple
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001009.B --dhcp-mac=set:3com,01:34:23:*:*:*
Simon Kelley824af852008-02-12 20:43:05 +00001010permet de définir le label "3com" pour n'importe quel hôte dont l'adresse
1011matérielle coïncide avec les critères définis.
1012.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001013.B --dhcp-circuitid=set:<label>,<identifiant de circuit>, --dhcp-remoteid=set:<label>,<identifiant distant>
1014Associe des options de relais DHCP issus de la RFC3046 à des labels.
1015Cette information peut-être fournie par des relais DHCP. L'identifiant
Simon Kelley824af852008-02-12 20:43:05 +00001016de circuit ou l'identifiant distant est normalement fourni sous la forme d'une
1017chaîne de valeurs hexadécimales séparées par des ":", mais il est également
1018possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si
1019l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001020relais DHCP, alors le label est apposé.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001021.B dhcp-remoteid
1022est supporté en IPv6 (mais non dhcp-circuitid).
Simon Kelley824af852008-02-12 20:43:05 +00001023.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001024.B --dhcp-subscrid=set:<label>,<identifiant d'abonné>
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001025(IPv4 et IPv6) Associe des options de relais DHCP issues de la RFC3993 à des
1026labels.
Simon Kelley824af852008-02-12 20:43:05 +00001027.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001028.B --dhcp-proxy[=<adresse ip>]......
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001029(IPv4 seulement) Un agent relai DHCP normal est uniquement utilisé pour faire
1030suivre les éléments initiaux de l'interaction avec le serveur DHCP. Une fois
1031que le client est configuré, il communique directement avec le serveur. Cela
1032n'est pas souhaitable si le relais rajoute des informations supplémentaires
1033aux paquets DHCP, telles que celles utilisées dans
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001034.B dhcp-circuitid
1035et
1036.B dhcp-remoteid.
1037Une implémentation complète de relai peut utiliser l'option serverid-override
1038de la RFC 5107 afin de forcer le serveur DHCP à utiliser le relai en temps que
1039proxy complet, de sorte que tous les paquets passent par le relai. Cette option
1040permet d'obtenir le même résultat pour des relais ne supportant pas la RFC
10415107. Fournie seule, elle manipule la valeur de server-id pour toutes les
1042interactions via des relais. Si une liste d'adresses IP est donnée, seules les
1043interactions avec les relais dont l'adresse est dans la liste seront affectées.
1044.TP
1045.B --dhcp-match=set:<label>,<numéro d'option>|option:<nom d'option>|vi-encap:<entreprise>[,<valeur>]
1046Si aucune valeur n'est spécifiée, associe le label si le client
Simon Kelley73a08a22009-02-05 20:28:08 +00001047envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est
1048fournie, positionne le label seulement dans le cas où l'option est fournie et
1049correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel
1050cas le début de l'option doit correspondre (en respectant les jokers). La
1051valeur peut aussi être de la même forme que dans
1052.B dhcp-option
1053, auquel cas l'option est traitée comme un tableau de valeur, et un des
1054éléments doit correspondre, ainsi
1055
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001056--dhcp-match=set:efi-ia32,option:client-arch,6
Simon Kelley73a08a22009-02-05 20:28:08 +00001057
1058spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste
1059d'architectures envoyé par le client au sein de l'option 93. (se réferer
1060au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères,
1061celle-ci est recherchée (correspondance en temps que sous-chaîne).
Simon Kelley316e2732010-01-22 20:16:09 +00001062
1063Pour la forme particulière vi-encap:<numéro d'entreprise>, la comparaison se
1064fait avec les classes de vendeur "identifiant de vendeur" ("vendor-identifying
1065vendor classes") pour l'entreprise dont le numéro est fourni en option.
1066Veuillez vous réferer à la RFC 3925 pour plus de détail.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001067.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001068.B --tag-if=set:<label>[,set:<label>[,tag:<label>[,tag:<label>]]]
1069Effectue une opération booléenne sur les labels. Si tous les labels
1070apparaissant dans la liste tag:<label> sont positionnés, alors tous les
1071la de la liste "set:<labels>" sont positionnés (ou supprimés, dans le cas
1072où "tag:!<label>" utilisé).
1073Si aucun tag:<label> n'est spécifié, alors tous les labels fournis par
1074set:<label> sont positionnés.
1075N'importe quel nombre de set: ou tag: peuvent être fournis, et l'ordre est sans
1076importance.
1077Les lignes tag-if sont executées dans l'ordre, ce qui fait que si un label dans
1078tag:<label> est un label positionné par une rêgle
1079.B tag-if,
1080la ligne qui positionne le label doit précéder celle qui le teste.
Simon Kelley824af852008-02-12 20:43:05 +00001081.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001082.B \-J, --dhcp-ignore=tag:<label>[,tag:<label>]
1083Lorsque tous les labels fournis dans l'option sont présents, ignorer l'hôte et
1084ne pas donner de bail DHCP.
1085.TP
1086.B --dhcp-ignore-names[=tag:<label>[,tag:<label>]]
1087Lorsque tous les labels fournis dans l'option sont présents, ignorer le
Simon Kelley824af852008-02-12 20:43:05 +00001088nom de machine fourni par l'hôte. Il est à noter que, à la différence de
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001089l'option "dhcp-ignore", il est permis de ne pas fournir de label.
Simon Kelley824af852008-02-12 20:43:05 +00001090Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours
1091ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la
1092configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts
1093et /etc/ethers.
1094.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001095.B --dhcp-generate-names=tag:<label>[,tag:<label>]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001096(IPv4 seulement) Générer un nom pour les clients DHCP qui autrement n'en aurait
1097pas, en utilisant l'adresse MAC sous sa forme hexadécimale, séparée par des
1098tirets.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001099Noter que si un hôte fourni un nom, celui-ci sera utilisé de préférence au nom
1100autogénéré, à moins que
1101.B --dhcp-ignore-names
1102ne soit positionné.
1103.TP
1104.B --dhcp-broadcast=[tag:<label>[,tag:<label>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001105(IPv4 seulement) Lorsque tous les labels fournis dans l'option sont présents,
1106toujours utiliser le broadcast pour communiquer avec l'hôte lorsque celui-ci
1107n'est pas configuré. Il est possible de ne spécifier aucun label, auquel cas
1108cette option s'applique inconditionnellement. La plupart des clients DHCP
1109nécessitant une réponse par le biais d'un broadcast activent une option dans
1110leur requête, ce qui fait que cela se fait automatiquement, mais ce n'est pas
1111le cas de certains vieux clients BOOTP.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001112.TP
Simon Kelley7de060b2011-08-26 17:24:52 +01001113.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 +00001114(IPv4 seulement) Spécifie les options BOOTP devant être retournées par le
1115serveur DHCP. Le nom de serveur ainsi que l'adresse sont optionnels : s'ils
1116ne sont pas fournis, le nom est laissé vide et l'adresse fournie est celle de
1117la machine sur laquelle s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir
Simon Kelley824af852008-02-12 20:43:05 +00001118.B --enable-tftp
1119), alors seul un nom de fichier est requis ici pour permettre un démarrage par
1120le réseau.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001121Si d'éventuels labels sont fournis, ils doivent coïncider avec
1122ceux du client pour que cet élement de configuration lui soit envoyé.
Simon Kelley7de060b2011-08-26 17:24:52 +01001123Une adresse de serveur TFTP peut être spécifiée à la place de l'adresse IP,
1124sous la forme d'un nom de domaine qui sera cherché dans le fichier /etc/hosts.
1125Ce nom peut être associé dans /etc/hosts avec plusieurs adresses IP, auquel cas
1126celles-ci seront utilisées tour à tour (algorithme round-robin).
1127Cela peut-être utiliser pour équilibrer la charge tftp sur plusieurs serveurs.
1128.TP
1129.B --dhcp-sequential-ip
1130Dnsmasq est conçu pour choisir l'adresse IP des clients DHCP en utilisant
1131un hachage de l'adresse MAC du client. Cela permet en général à l'adresse
1132IP du client de rester stable au fil du temps, même lorsque le client laisse
1133expirer son bail DHCP de temps en temps. Dans ce mode de fonctionnement par
1134défaut, les adresses IP sont distribuées de façon pseudo-aléatoire dans la
1135totalité de la plage d'adresses utilisable. Il existe des circonstances (par
1136exemples pour du déploiement de serveur) où il est plus pratique d'allouer les
1137adresses IP de manière séquentielle, en commençant par la plus petite adresse
1138disponible, et c'est ce mode de fonctionnement qui est permis par cette option.
1139Veuillez noter que dans ce mode séquentiel, les clients qui laissent expirer
1140leur bail ont beaucoup plus de chance de voir leur adresse IP changer, aussi
1141cette option ne devrait pas être utilisée dans un cas général.
Simon Kelley7622fc02009-06-04 20:32:05 +01001142.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001143.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 +01001144La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple
1145obtention d'une adresse IP, le téléchargement du fichier spécifié dans
1146.B dhcp-boot
1147et son exécution. Cependant, le système PXE est capable de fonctions bien plus
1148complexes pour peu que le serveur DHCP soit adapté.
1149
1150Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage
1151PXE. <CSA> est le type du système client. Seuls des types de services valides
1152apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha,
1153Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI;
1154D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le
1155paramètre après le texte correspondant à l'entrée dans le menu peut être un nom
1156de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au
1157client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur
1158(l'option
1159.B enable-tftp
1160doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001161si une adresse ou un nom de serveur est fournie.
Simon Kelley7622fc02009-06-04 20:32:05 +01001162Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE
1163et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière
1164est fournir pour le type de démarrage, en remplacement du nom de fichier, le
1165client PXE devra chercher un service de démarrage de ce type sur le réseau.
Simon Kelley316e2732010-01-22 20:16:09 +00001166Cette recherche peut être faite via broadcast ou directement auprès d'un
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001167serveur si son adresse IP ou son nom sont fournis dans l'option.
Simon Kelley316e2732010-01-22 20:16:09 +00001168Si aucun nom de fichier n'est donné ni aucune valeur de type de service de
1169démarrage n'est fournie (ou qu'une valeur de 0 est donnée pour le type de
1170service), alors l'entrée de menu provoque l'interruption du démarrage par
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001171le réseau et la poursuite du démarrage sur un média local. L'adresse de serveur
1172peut être donnée sous la forme de nom de domaine qui est recherché dans
1173/etc/hosts. Ce nom peut-être associé à plusieurs adresses IP, qui dans ce cas
1174sont utilisées à tour de rôle (en "round-robin").
Simon Kelley7622fc02009-06-04 20:32:05 +01001175.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001176.B --pxe-prompt=[tag:<label>,]<invite>[,<délai>]
Simon Kelley7622fc02009-06-04 20:32:05 +01001177Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un
1178délai est fourni, alors la première entrée du menu de démarrage sera
1179automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première
1180entrée disponible sera exécutée immédiatement. Si
1181.B pxe-prompt
1182est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs
1183entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une
1184seule entrée. Voir
1185.B pxe-service
1186pour plus de détails sur les entrées de menu.
1187
1188Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP
1189sur le réseau est responsable de l'allocation des adresses IP, auquel cas
1190Dnsmasq se contente de fournir les informations données dans les options
1191.B pxe-prompt
1192et
1193.B pxe-service
1194pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le
1195mot-clef
1196.B proxy
1197dans
1198.B dhcp-range.
1199.TP
Simon Kelley824af852008-02-12 20:43:05 +00001200.B \-X, --dhcp-lease-max=<nombre>
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001201Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 1000. Cette
Simon Kelley824af852008-02-12 20:43:05 +00001202limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes
1203créant des milliers de baux et utilisant beaucoup de mémoire dans le processus
1204Dnsmasq.
1205.TP
1206.B \-K, --dhcp-authoritative
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001207(IPv4 seulement) Cette option doit être donnée lorsque Dnsmasq est le seul
1208serveur DHCP sur le réseau. Cela change le comportement par défaut qui est
1209celui d'un strict respect des RFC, afin que les requêtes DHCP pour des baux
1210inconnus par des hôtes inconnus ne soient pas ignorées. Cela permet à de
1211nouveaux hôtes d'obtenir des baux sans tenir compte de fastidieuses
1212temporisations ("timeout"). Cela permet également à Dnsmasq de reconstruire
1213sa base de données contenant les baux sans que les clients n'aient besoin de
1214redemander un bail, si celle-ci est perdue.
Simon Kelley824af852008-02-12 20:43:05 +00001215.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +01001216.B --dhcp-alternate-port[=<port serveur>[,<port client>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001217(IPv4 seulement) Change les ports utilisés par défaut pour le DHCP. Si cette
1218option est donnée seule sans argument, alors change les ports utilisés pour le
1219DHCP de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce
Simon Kelley1a6bca82008-07-11 11:11:42 +01001220numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le
1221port client. Enfin, en fournissant deux numéros de ports, il est possible de
1222spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP.
1223.TP
Simon Kelley73a08a22009-02-05 20:28:08 +00001224.B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]]
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001225(IPv4 seulement) Permet l'allocation dynamique d'adresses IP à des clients BOOTP.
1226Utiliser cette option avec précaution, une adresse allouée à un client BOOTP
1227étant perpétuelle, et de fait n'est plus disponibles pour d'autres hôtes. Si
1228aucun argument n'est donné, alors cette option permet une allocation dynamique
1229dans tous les cas. Si des arguments sont spécifiés, alors l'allocation ne se
1230fait que lorsque tous les identifiants coïncident. Il est possible de répeter
1231cette option avec plusieurs jeux d'arguments.
Simon Kelley824af852008-02-12 20:43:05 +00001232.TP
1233.B \-5, --no-ping
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001234(IPv4 seulement) Par défaut, le serveur DHCP tente de s'assurer qu'une adresse
1235n'est pas utilisée avant de l'allouer à un hôte. Cela est fait en envoyant une
1236requête ICMP de type "echo request" (aussi connue sous le nom de "ping") à
1237l'adresse en question. Si le serveur obtient une réponse, alors l'adresse doit
1238déjà être utilisée et une autre est essayée. Cette option permet de supprimer
1239cette vérification. A utiliser avec précaution.
Simon Kelley824af852008-02-12 20:43:05 +00001240.TP
1241.B --log-dhcp
1242Traces additionnelles pour le service DHCP : enregistre toutes les options
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001243envoyées aux clients DHCP et les labels utilisés pour la
Simon Kelley824af852008-02-12 20:43:05 +00001244détermination de celles-ci.
1245.TP
1246.B \-l, --dhcp-leasefile=<chemin de fichier>
1247Utilise le fichier dont le chemin est fourni pour stocker les informations de
Simon Kelley73a08a22009-02-05 20:28:08 +00001248baux DHCP.
Simon Kelleye46164e2012-04-16 16:39:38 +01001249.TP
1250.B --dhcp-duid=<ID d'entreprise>,<uid>
1251(IPv6 seulement) Spécifie le numéro d'UID de serveur persistant que le serveur
1252DHCPv6 doit utiliser. Cette option n'est normalement pas requise, Dnsmasq
1253créant un DUID automatiquement lorsque cela est nécessaire. Lorsque cette
1254option est positionnée, elle fournit à Dnsmasq les données nécessaires à la
1255création d'un DUID de type DUID-EN. Veuillez noter qu'une fois créé, le DUID
1256est stocké dans la base des baux, aussi changer entre un DUID créé
1257automatiquement et un DUID-EN et vice-versa impose de réinitialiser la base de
1258baux. Le numéro d'ID d'entreprise est assigné par l'IANA, et l'uid est une
1259chaine hexadécimale unique à chaque serveur.
1260.TP
Simon Kelley824af852008-02-12 20:43:05 +00001261.B \-6 --dhcp-script=<chemin de fichier>
Simon Kelleye46164e2012-04-16 16:39:38 +01001262Lorsqu'un bail DHCP est créé, qu'un ancien est supprimé, ou qu'un transfert
1263TFTP est terminé, le fichier dont le
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001264chemin est spécifié est exécuté. Le <chemin de fichier> doit être un chemin
1265absolu, aucune recherche n'est effectuée via la variable d'environnement PATH.
1266Les arguments fournis à celui-ci sont soit
Simon Kelley824af852008-02-12 20:43:05 +00001267"add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001268MAC de l'hôte (ou le DUID pour IPv6) puis l'adresse IP et le nom d'hôte si
1269celui-ci est connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a
1270été supprimé, "old" notifie que le bail existait au lancement de Dnsmasq, ou un
1271changement d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas
1272où leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant
Simon Kelley73a08a22009-02-05 20:28:08 +00001273d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est
1274nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab"
1275pour du token ring. Le processus est exécuté en temps que super-utilisateur
1276(si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré
1277pour changer son UID pour celle d'un utilisateur non-privilégié.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001278
1279L'environnement est hérité de celui de l'invocation du processus Dnsmasq,
1280auquel se rajoute quelques unes ou toutes les variables décrites ci-dessous :
1281
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001282Pour IPv4 et IPv6 :
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001283
1284DNSMASQ_DOMAIN si le nom de domaine pleinement qualifié de l'hôte est connu, la
Simon Kelley28866e92011-02-14 20:19:14 +00001285part relative au domaine y est stockée. (Notez que le nom d'hôte transmis comme
1286argument au script n'est jamais pleinement qualifié).
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001287
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001288Si le client fournit un nom d'hôte, DNSMASQ_SUPPLIED_HOSTNAME.
1289
1290Si le client fournit des classes d'utilisateur, DNSMASQ_USER_CLASS0 à
1291DNSMASQ_USER_CLASSn.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001292
1293Si Dnsmasq a été compilé avec l'option HAVE_BROKEN_RTC ("horloge RTC
1294défectueuse"), alors la durée du bail (en secondes) est stockée dans la
1295variable DNSMASQ_LEASE_LENGTH, sinon la date d'expiration du bail est toujours
1296stocké dans la variable d'environnement DNSMASQ_LEASE_EXPIRES. Le nombre de
1297secondes avant expiration est toujours stocké dans DNSMASQ_TIME_REMAINING.
1298
1299Si un bail était associé à un nom d'hôte et
Simon Kelley1f15b812009-10-13 17:49:32 +01001300que celui-ci est supprimé, un évênement de type "old" est généré avec le
1301nouveau statut du bail, c-à-d sans nom d'hôte, et le nom initial est fourni
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001302dans la variable d'environnement DNSMASQ_OLD_HOSTNAME.
1303
1304La variable DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la
1305requête est arrivée; ceci n'est pas renseigné dans le cas des actions "old"
1306ayant lieu après un redémarrage de dnsmasq.
1307
1308La variable DNSMASQ_RELAY_ADDRESS est renseignée si le client a utilisé un
1309relai DHCP pour contacter Dnsmasq, si l'adresse IP du relai est connue.
1310
1311DNSMASQ_TAGS contient tous les labels fournis pendant la transaction DHCP,
1312séparés par des espaces.
1313
Simon Kelleye46164e2012-04-16 16:39:38 +01001314DNSMASQ_LOG_DHCP est positionné si
1315.B --log-dhcp
1316est activé.
1317
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001318Pour IPv4 seulement :
1319
1320DNSMASQ_CLIENT_ID, si l'hôte a fourni un identifiant de client.
1321
1322Si le client fournit une information de classe de vendeur, DNSMASQ_VENDOR_CLASS.
1323
1324Pour IPv6 seulement :
1325
1326Si le client fournit une classe de vendeur (vendor-class), positionne
1327DNSMASQ_VENDOR_CLASS_ID avec comme contenu le numéro IANA de l'entreprise pour
1328la classe, et DNSMASQ_VENDOR_CLASS0..DNSMASQ_VENDOR_CLASSn pour les données.
1329
1330DNSMASQ_SERVER_DUID contient le DUID du serveur : cette valeur est la même
1331pour chaque appel au script.
1332
1333DNSMASQ_IAID contenant l'IAID pour le bail. Si le bail est une allocation
1334temporaire, cela est préfixé par le caractère 'T'.
1335
1336A noter que le nom d'hôte fourni, la classe de vendeur ou les données de classe
1337d'utilisateur sont uniquement fournies pour les actions "add" ou l'action "old"
1338lorsqu'un hôte reprend un bail existant, puisque ces informations ne sont pas
1339conservées dans la base de baux de dnsmasq.
1340
Simon Kelley824af852008-02-12 20:43:05 +00001341Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui
1342sont ouverts sur /dev/null (sauf en mode déverminage).
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001343
1344Le script n'est pas lancé de manière concurrente : au plus une instance du
1345script est executée à la fois (dnsmasq attends qu'une instance de script se
1346termine avant de lancer la suivante). Les changements dans la base des baux
1347nécessitant le lancement du script sont placé en attente dans une queue jusqu'à
1348terminaison d'une instance du script en cours. Si cette mise en queue fait que
1349plusieurs changements d'états apparaissent pour un bail donné avant que le
1350script puisse être lancé, alors les états les plus anciens sont supprimés et
1351lorsque le script sera finalement lancé, ce sera avec l'état courant du bail.
1352
Simon Kelley824af852008-02-12 20:43:05 +00001353Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001354dans le fichier des baux. Le script sera lancé avec l'action "del" pour les
1355baux expirés, et "old" pour les autres. Lorsque Dnsmasq reçoit un signal HUP,
1356le script sera invoqué avec une action "old" pour tous les baux existants.
Simon Kelleye46164e2012-04-16 16:39:38 +01001357
1358Il existe deux autres actions pouvant apparaître comme argument au script :
1359"init" et "tftp". D'autres sont susceptibles d'être rajoutées dans le futur,
1360aussi les scripts devraient-être écrits de sorte à ignorer les actions
1361inconnues. "init" est décrite ci-dessous dans
1362.B --leasefile-ro.
1363L'action "tftp" est invoquée lorsqu'un transfert de fichier TFTP s'est
1364terminé. Ses arguments sont la taille du fichier en octets, l'adresse à
1365laquelle le fichier a été envoyé, ainsi que le chemin complet du fichier.
1366
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001367.TP
1368.B --dhcp-luascript=<chemin>
1369Spécifie un script écrit en Lua, devant être exécuté lorsque des baux sont
1370créés, détruits ou modifiés. Pour utiliser cette option, dnsmasq doit être
1371compilé avec avec le support de Lua. L'interpréteur Lua est initialisé une
1372seule fois, lorsque dnsmasq démarre, ce qui fait que les variables globales
1373persistent entre les évênements liés aux baux. Le code Lua doit définir une
1374fonction
1375.B lease
1376et peut fournir des fonctions
1377.B init
1378et
1379.B shutdown
1380qui sont appellées, sans arguments, lorsque dnsmasq démarre ou s'arrête.
Simon Kelleye46164e2012-04-16 16:39:38 +01001381Il peut également fournir une fonction
1382.B tftp.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001383
Simon Kelleye46164e2012-04-16 16:39:38 +01001384La fonction
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001385.B lease
1386reçoit les informations détaillées dans
1387.B --dhcp-script.
1388Il reçoit deux arguments. Le premier spécifie l'action, qui est une chaîne de
1389caractères contenant les valeurs "add" (ajout), "old" (réactivation d'un bail
1390existant) ou "del" (suppression). Le deuxième est une table contenant des
1391paires de valeurs de labels. Les labels correspondent pour l'essentiel aux
1392valeurs d'environnement détaillées ci-dessus, ainsi le label "domain" (domaine)
1393contient les mêmes données que la variable d'environnement DNSMASQ_DOMAIN. Il
1394existe quelques labels supplémentaires contenant les données fournies comme
1395arguments à
1396.B --dhcp-script.
1397Ces labels sont
1398.B mac_address, ip_address
1399(pour respectivement l'adresse MAC et l'adresse IP)
1400et
1401.B hostname
1402(le nom d'hôte) dans le cas d'IPv4, et
1403.B client_duid, ip_address
1404(valeur DUID du client et adresse IP respectivement)
1405ainsi que
1406.B hostname
1407(le nom d'hôte) dans le cas d'IPv6.
Simon Kelleye46164e2012-04-16 16:39:38 +01001408
1409La fonction
1410.B tftp
1411est appelée de la même façon que la fonction "lease", et la table contient les
1412labels
1413.B destination_address,
1414.B file_name
1415et
1416.B file_size
1417(respectivement "adresse de destination", "nom de fichier" et "taille de fichier").
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001418.TP
Simon Kelley1a6bca82008-07-11 11:11:42 +01001419.B --dhcp-scriptuser
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001420Spécifie l'utilisateur sous lequel le script shell lease-change ou le script
1421doivent être exécutés. La valeur par défaut correspond à l'utilisateur root
1422mais peut-être changée par le biais de cette option.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001423.TP
Simon Kelley824af852008-02-12 20:43:05 +00001424.B \-9, --leasefile-ro
1425Supprimer complètement l'usage du fichier servant de base de donnée pour les
1426baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le
1427script de changement d'état de bail est lancé (si celui-ci est fourni par le
1428biais de l'option
1429.B --dhcp-script
1430), de sorte que la base de données de baux puisse
1431être complètement gérée par le script sur un stockage externe. En addition aux
1432actions décrites dans
1433.B --dhcp-script,
1434le script de changement d'état de bail est appellé une fois, au lancement de
1435Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script
1436doit fournir l'état de la base de baux, dans le format de fichier de baux de
1437Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0.
1438Positionner cette option provoque également une invocation du script de
1439changement d'état de bail à chaque changement de l'identifiant de client, de
1440longueur de bail ou de date d'expiration.
1441.TP
1442.B --bridge-interface=<interface>,<alias>[,<alias>]
1443Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias>
1444comme si elles arrivaient de l'interface <interface>. Cette option est
Simon Kelley7622fc02009-06-04 20:32:05 +01001445nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme
1446BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont
1447pas d'adresse IP.
Simon Kelley824af852008-02-12 20:43:05 +00001448.TP
Simon Kelley28866e92011-02-14 20:19:14 +00001449.B \-s, --domain=<domaine>[,<gamme d'adresses>[,local]]
Simon Kelley73a08a22009-02-05 20:28:08 +00001450Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière
1451inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes
1452d'adresses IP limitées. Cela a deux effets; tout d'abord, le
Simon Kelley824af852008-02-12 20:43:05 +00001453serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement,
1454cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela
1455est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse
1456fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du
1457trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors
1458les noms d'hôtes avec un nom de domaine (c-à-d un point dans le nom) seront
1459interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors
1460les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de
1461domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors
1462les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le
1463suffixe fourni dans l'option
1464.B --domain.
1465Ainsi, sur mon réseau, je peux configurer
1466.B --domain=thekelleys.org.uk
1467et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette
1468machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk".
1469Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est
1470positionné à la première valeur de la directive "search" du fichier
Simon Kelley28866e92011-02-14 20:19:14 +00001471/etc/resolv.conf (ou équivalent).
1472
1473La gamme d'adresses peut être de la forme
Simon Kelley73a08a22009-02-05 20:28:08 +00001474<adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple
1475<adresse ip>. Voir
1476.B --dhcp-fqdn
1477qui peut changer le comportement de dnsmasq relatif aux domaines.
Simon Kelley28866e92011-02-14 20:19:14 +00001478
1479Si la gamme d'adresse est fournie sous la forme
1480<adresse ip>/<taille de réseau>, alors le drapeau "local" peut-être rajouté
1481qui a pour effect d'ajouter --local-declarations aux requêtes DNS directes et
1482inverses. C-à-d
1483.B --domain=thekelleys.org.uk,192.168.0.0/24,local
Simon Kelleye46164e2012-04-16 16:39:38 +01001484est identique à
Simon Kelley28866e92011-02-14 20:19:14 +00001485.B --domain=thekelleys.org.uk,192.168.0.0/24
1486--local=/thekelleys.org.uk/ --local=/0.168.192.in-addr.arpa/
1487La taille de réseau doit-être de 8, 16 ou 24 pour être valide.
Simon Kelley73a08a22009-02-05 20:28:08 +00001488.TP
1489.B --dhcp-fqdn
1490Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients
1491DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si
1492deux clients ayant le même nom sont dans deux domaines différents. Si un
1493deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant,
1494ce nom est transféré au nouveau client. Si
1495.B --dhcp-fqdn
1496est spécifié, ce comportement change : les noms non qualifiés ne sont plus
1497rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP
1498avec le même nom peuvent tous les deux garder le nom, pour peu que la partie
1499relative au domaine soit différente (c-à-d que les noms pleinements qualifiés
1500diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y
1501avoir au moins un
1502.B --domain
1503sans gamme d'adresses de spécifié lorsque l'option
1504.B --dhcp-fqdn
1505est configurée.
Simon Kelley824af852008-02-12 20:43:05 +00001506.TP
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001507.B --dhcp-client-update
1508Normalement, lorsque dnsmasq fournit un bail DHCP, il positionne un label
1509dans l'option FQDN pour indiquer au client qu'il ne doit pas tenter de faire
1510une mise à jour DDNS avec son nom et son adresse IP. Ceci parce que la paire
1511Nom-IP est rajoutée automatiquement dans la partie DNS de dnsmasq. Cette option
1512inhibe ce comportement ce qui est utile, par exemple, pour permettre aux clients
1513Windows de la mise à jour de serveurs Active Directory. Voir la RFC 4702 pour
1514plus de détails.
1515.TP
1516.B --enable-ra
1517Active la fonctionalité d'annonces routeurs IPv6 ("IPv6 Router Advertisement").
1518DHCPv6 ne gère pas la configuration complète du réseau de la même façon que
1519DHCPv4. La découverte de routeurs et la découverte (éventuelle) de préfixes pour
1520la création autonome d'adresse sont gérées par un protocole différent.
1521Lorsque DHCP est utilisé, seul un sous-ensemble de tout ceci est nécessaire et
1522dnsmasq est à même de le gérer, en utilisant la configuration DHCP présente pour
1523fournir la majorité des données. Lorsque les annonces routeurs (RA pour "Router
1524Advertisement") sont activées, dnsmasq va annoncer un préfixe pour chaque
1525dhcp-range et, par défaut, fournir comme valeur de routeur et de DNS récursif
1526la valeur d'adresse link-local appropriée parmi celles de la machine sur
1527laquelle tourne dnsmasq.
Simon Kelleye46164e2012-04-16 16:39:38 +01001528Par défaut, les bits "managed address" sont positionnés, et le bit "use SLAAC"
1529("utiliser SLAAC") est réinitialisé. Cela peut-être changé pour des
1530sous-réseaux donnés par le biais du mot clef de mode décris dans
1531.B --dhcp-range.
1532Les paramètres DNS du RFC6106 sont inclus dans les annonces. Par défaut,
1533l'adresse link-local appropriée parmi celles de la machine sur laquelle tourne
1534dnsmasq est spécifiée comme DNS récursif. Si elles sont fournies, les
1535options dns-server et domain-search sont utilisées respectivement pour RDNSS et
1536DNSSL.
Simon Kelley71ee7ee2012-03-03 18:06:49 +00001537.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +01001538.B --enable-tftp
Simon Kelley824af852008-02-12 20:43:05 +00001539Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux
Simon Kelley1a6bca82008-07-11 11:11:42 +01001540fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul
1541un accès en lecture est possible; les extensions tsize et blksize sont supportées
Simon Kelleyc4c04882012-08-06 20:09:15 +01001542(tsize est seulement supporté en mode octet).
Simon Kelley824af852008-02-12 20:43:05 +00001543.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001544.B --tftp-root=<répertoire>[,<interface>]
Simon Kelley824af852008-02-12 20:43:05 +00001545Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le
1546répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP
1547incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de
1548la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés,
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001549mais ils doivent être à la racine TFTP fournie. Si l'option interface est
1550spécifiée, le répertoire n'est utilisé que pour les requêtes TFTP reçues sur
1551cette interface.
Simon Kelley824af852008-02-12 20:43:05 +00001552.TP
1553.B --tftp-unique-root
1554Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite
1555de la racine tftp (adresse sous forme de 4 chiffres séparés par des points).
1556Uniquement valable si une racine TFTP est spécifiée et si le répertoire
1557correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le
1558client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin
1559effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou
1560"/tftp/monfichier" dans le cas contraire.
1561.TP
1562.B --tftp-secure
1563Active le mode TFTP sécurisé : sans cela, tout fichier lisible
1564par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix
1565habituelles s'appliquent). Lorsque l'option
1566.B --tftp-secure
1567est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne
1568le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que
1569super-utilisateur ("root"), des règles différentes s'appliquent :
1570.B --tftp-secure
1571n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le
1572monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous
1573l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement
1574déconseillé de le faire sans fournir l'option
1575.B --tftp-root.
1576Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le
1577droit de lecture pour tout le monde est positionné ("world-readable") devient
1578possible par n'importe quel hôte sur le réseau.
1579.TP
Simon Kelleyc4c04882012-08-06 20:09:15 +01001580.B --tftp-lowercase
1581Converti les noms de fichiers des requêtes TFTP en minuscules. Cela est utile
1582pour les requêtes effectuées depuis les machines Windows, dont les systèmes
1583de fichiers sont insensibles à la casse et pour lesquels la détermination
1584de la casse est parfois un peu aléatoire. A noter que le serveur tftp de
1585dnsmasq converti systématiquement les "\\" en "/" dans les noms de fichiers.
1586.TP
Simon Kelley824af852008-02-12 20:43:05 +00001587.B --tftp-max=<connexions>
1588Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur
1589par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié,
1590il se peut que la limite de nombre de descripteurs de fichiers par processus
1591soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un
1592descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des
1593fichiers devant être fournis. De fait, servir le même fichier à n clients ne
1594nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des
1595fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs.
Simon Kelley1a6bca82008-07-11 11:11:42 +01001596Si elle est donnée, l'option
1597.B --tftp-port-range
1598peut affecter le nombre maximum de connexions concurrentes.
Simon Kelley824af852008-02-12 20:43:05 +00001599.TP
1600.B --tftp-no-blocksize
1601Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec
1602les clients. Certains clients buggés spécifient cette option mais se comportent
1603ensuite de manière incorrecte si celle-ci est accordée.
1604.TP
1605.B --tftp-port-range=<début>,<fin>
Simon Kelley1a6bca82008-07-11 11:11:42 +01001606Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour
1607l'initiation de la connexion, mais utilise également un port dynamiquement
1608alloué pour chaque connexion. Normalement, ces ports sont alloués par
1609le système d'exploitation, mais cette option permet de spécifier une gamme
1610de ports à utiliser pour les transferts TFTP. Cela peut-être utile si
1611TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur
1612de début pour la plage de port ne peut-être inférieure à 1025 sauf si
1613dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de
1614connexions TFTP concurrentes est limitée par la taille de la gamme de
1615ports ainsi spécifiée.
1616.TP
1617.B --tftp-port-range=<début>,<fin>
Simon Kelley824af852008-02-12 20:43:05 +00001618Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation
1619de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces
1620numéros de ports sont en principe alloués par le système d'exploitation, mais
1621cette option permet de spécifier une gamme de ports à utiliser pour les
1622transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un
1623dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être
1624inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que
1625super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes
1626est limitée par la taille de la plage de ports ainsi définie.
1627.TP
1628.B \-C, --conf-file=<fichier>
1629Spécifie un fichier de configuration différent. L'option "conf-file" est
1630également autorisée dans des fichiers de configuration, ce qui permet
Simon Kelley28866e92011-02-14 20:19:14 +00001631l'inclusion de multiples fichiers de configuration. L'utilisation de "-" comme
1632nom de fichier permet la lecture par dnsmasq de sa configuration sur l'entrée standard
1633stdin.
Simon Kelley824af852008-02-12 20:43:05 +00001634.TP
Simon Kelley1f15b812009-10-13 17:49:32 +01001635.B \-7, --conf-dir=<répertoire>[,<extension de fichier>...]
Simon Kelley824af852008-02-12 20:43:05 +00001636Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de
Simon Kelley1f15b812009-10-13 17:49:32 +01001637configuration. Si des extensions sont données, tout fichier finissant par ces
1638extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence
1639par ., ainsi que ceux commençant ou se terminant par # seront systématiquement
1640ignorés.
Simon Kelley824af852008-02-12 20:43:05 +00001641Cette option peut être donnée en ligne de commande ou dans un fichier de
1642configuration.
1643.SH FICHIER DE CONFIGURATION
1644Au démarrage, Dnsmasq lis
1645.I /etc/dnsmasq.conf,
1646si ce fichier existe. (Sur FreeBSD, ce fichier est
1647.I /usr/local/etc/dnsmasq.conf
1648) (voir cependant les options
1649.B \-C
1650et
1651.B \-7
1652). Le format de ce fichier consiste en une option par ligne, exactement comme
1653les options longues détaillées dans la section OPTIONS, mais sans être précédées
1654par "--". Les lignes commençant par # sont des commentaires et sont ignorées.
1655Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du
1656fichier de configuration prends le pas sur celle fournie en ligne de commande.
1657Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et
1658"#" ne soit interprêtés, et il est possible d'utiliser les séquences
Simon Kelley1a6bca82008-07-11 11:11:42 +01001659d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent
Simon Kelley824af852008-02-12 20:43:05 +00001660respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles,
Simon Kelley1a6bca82008-07-11 11:11:42 +01001661tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et
Simon Kelley824af852008-02-12 20:43:05 +00001662nouvelle ligne ("newline").
1663.SH NOTES
1664A la réception d'un signal SIGHUP,
1665.B Dnsmasq
1666vide son cache et recharge les fichiers
1667.I /etc/hosts
1668et
1669.I /etc/ethers
1670ainsi que tout autre fichier spécifié par les options
1671.B --dhcp-hostsfile
1672,
1673.B --dhcp-optsfile
1674ou
1675.B --addn-hosts.
1676Le script de changement de bail est appellé pour chaque bail DHCP existant. Si
1677l'option
1678.B --no-poll
1679est positionnée, alors le fichier
1680.I /etc/resolv.conf
1681est également rechargé.
1682SIGHUP ne provoque PAS de rechargement du fichier de configuration.
1683.PP
1684A la réception d'un signal SIGUSR1,
1685.B Dnsmasq
1686écrit des statistiques dans les traces système. Les informations fournies sont :
1687la taille du cache, le nombre de noms ayant été supprimés du cache avant
1688expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre
Simon Kelley1a6bca82008-07-11 11:11:42 +01001689total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit
1690le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une
1691erreur. Lorsque Dnsmasq a été lancé via
Simon Kelley824af852008-02-12 20:43:05 +00001692.B --no-daemon
1693ou lorsque la traçabilité maximale a été activée (
1694.B -q
1695), la totalité du contenu du
1696cache est de surcroît fournie.
1697.PP
1698A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses
1699traces dans un fichier (voir
1700.B --log-facility
1701), alors
1702.B Dnsmasq
1703ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette
1704opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un
1705fichier de traces pour la première fois, Dnsmasq change le propriétaire du
1706fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel
1707Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit
1708être configuré pour créer un nouveau fichier avec un propriétaire identique au
1709fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est
1710en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui
1711traite la requête TCP et il peut y être écrit. Il existe cependant une limite
1712de 150 secondes après laquelle tous les processus traitant des requêtes TCP
1713expirent : pour cette raison, il est préférable de ne pas configurer la
1714compression des fichiers de traces venant juste de faire l'objet d'une rotation.
1715Dans le cas de l'utilisation du logiciel logrotate, les options requises sont
1716.B create
1717et
1718.B delaycompress.
Simon Kelley824af852008-02-12 20:43:05 +00001719
1720.PP
1721Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable
1722d'effectuer une résolution de nom récursive en partant des serveurs DNS racine,
1723mais transmet de telles requêtes à un serveur DNS amont capable de telles
1724recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI.
1725Par défaut, Dnsmasq lis
1726.I /etc/resolv.conf
1727pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette
1728information est en général stockée à cet endroit. A moins que l'option
1729.B --no-poll
1730ne soit utilisée,
1731.B Dnsmasq
1732vérifie la date de modification du fichier
1733.I /etc/resolv.conf
1734(ou l'équivalent si
1735.B \--resolv-file
1736est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs
1737DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces
1738protocoles fournissent cette information.
1739L'absence du fichier
1740.I /etc/resolv.conf
1741ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant
1742qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement
1743pour voir si un fichier
1744.I /etc/resolv.conf
1745est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf.
1746Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés :
1747Dnsmasq peut alors être configuré pour lire à la fois
1748.I /etc/ppp/resolv.conf
1749et
1750.I /etc/dhcpc/resolv.conf
1751et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de
1752passer automatiquement de serveurs DNS à d'autres.
1753.PP
1754Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou
1755dans un fichier de configuration. Ces spécifications de serveurs peuvent
1756éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel
1757serveur utiliser pour trouver les noms d'un domaine donné.
1758.PP
1759Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine
1760sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier
1761.I /etc/resolv.conf
1762afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite,
1763spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq
1764via l'option
1765.B \--server
1766ou alors en mettant leurs adresses dans un autre fichier, par exemple
1767.I /etc/resolv.dnsmasq
1768et en lançant Dnsmasq avec l'option
1769.B \-r /etc/resolv.dnsmasq.
1770Cette deuxième technique permet la mise-à-jour dynamique des addresses de
1771serveurs DNS amont par le biais de PPP ou DHCP.
1772.PP
1773Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le
1774serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que
1775les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une
1776requête au serveur DNS amont retournerait une adresse différente. Il y a une
1777exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom
1778présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira
1779l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée
1780correspondant au CNAME dans /etc/hosts.
Simon Kelley824af852008-02-12 20:43:05 +00001781.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001782le système de label fonctionne comme suit : pour chaque requête DHCP, dnsmasq
1783associe un ensemble de labels obtenus à partir des lignes de la configuration
1784incluant set:<label>, y compris un pour la plage d'adresse (
Simon Kelley824af852008-02-12 20:43:05 +00001785.B dhcp-range
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001786) utilisée pour allouer l'adresse, un pour chaque entrée
Simon Kelley824af852008-02-12 20:43:05 +00001787.B dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001788associée (auquel est rajouté le mot-clef "known" si une entrée dhcp-host
1789coïncide).
1790
1791Le label "bootp" est associé aux requêtes BOOTP, un label dont le nom est le
1792nom de l'interface sur laquelle la requête est arrivée.
1793
1794Pour les lignes de configuration comportant des éléments tag:<label>,
1795seules seront valides celles pour lesquels tous les labels correspondants
1796seront présents. C'est typiquement le cas des lignes dhcp-options.
1797Un
Simon Kelley824af852008-02-12 20:43:05 +00001798.B dhcp-option
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001799possédant des labels sera utilisé de préférence à un
1800.B dhcp-option
1801sans label, pour peu que _tous_ les labels positionnés correspondent à l'ensemble
1802de labels décrit plus haut.
1803Le préfixe '!' sur un label est un indicateur de négation, ainsi
1804.B --dhcp=option=tag:!purple,3,1.2.3.4
1805n'envoie l'option que lorsque le label "purple" n'est pas dans la liste de
1806labels définis pour l'hôte considéré. (dans le cas de l'utilisation dans une
1807ligne de commande au lieu d'un fichier de configuration, ne pas oublier
1808d'échapper le caractère !, qui est un méta-caractère d'interpréteur de commande
1809shell).
Simon Kelley7de060b2011-08-26 17:24:52 +01001810
Simon Kelley7de060b2011-08-26 17:24:52 +01001811Lors de la sélection d'une option, une étiquette spécifiée par dhcp-range
1812passe après les autres étiquettes, ce qui permet de facilement remplacer des
1813option génériques pour des hôtes spécifiques, ainsi :
1814.B dhcp-range=set:interface1,......
1815.B dhcp-host=set:monhote,.....
1816.B dhcp-option=tag:interface1,option:nis-domain,"domaine1"
1817.B dhcp-option=tag:monhote,option:nis-domain,"domaine2"
1818va positionner l'option NIS-domain à domaine1 pour les hôtes dans la plage
1819d'adresse, sauf pour monhote pour lequel cette valeur sera domaine2.
1820
Simon Kelley824af852008-02-12 20:43:05 +00001821.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001822Veuillez noter que pour
1823.B dhcp-range
1824, les éléments tag:<label> et set:<label> sont tous les deux autorisés
1825pour sélectionner la plage à utiliser selon, par exemple, le dhcp-host,
1826et pour affecter l'option envoyée, sur la base de la plage sélectionnée.
1827
1828Ce système a évolué d'un système plus ancien et aux possibilités plus limitées,
1829et pour des raisons de compatibilité "net:" peut être utilisé à la place de
1830"tag:" et "set:" peut-être omis (à l'exception de
1831.B dhcp-host,
1832où "net:" peut-être utilisé à la place de "set:"). Pour les mêmes raisons, '#'
1833peut-être utilisé à la place de '!' pour indiquer la négation.
Simon Kelley824af852008-02-12 20:43:05 +00001834.PP
1835Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur
1836BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies,
1837que ce soit par le biais de l'option
1838.B dhcp-host
1839ou dans le fichier
1840.I /etc/ethers
1841, et que l'option
1842.B dhcp-range
1843soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option
1844.B --bootp-dynamic
1845supprime la nécessité des associations statiques). Le paramètre
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001846"filename" (nom de fichier) de la requête BOOTP est utilisé comme label, ainsi
1847que le label "bootp", permettant un certain contrôle sur les options retournées
Simon Kelley824af852008-02-12 20:43:05 +00001848aux différentes classes d'hôtes.
1849
1850.SH CODES DE SORTIE
1851.PP
18520 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est
1853correctement terminé si le lancement en tâche de fond n'a pas été activé.
1854.PP
18551 - Un problème de configuration a été détecté.
1856.PP
18572 - Un problème est survenu avec un accès réseau (adresse déjà utilisée,
1858tentative d'utiliser un port privilégié sans les permissions nécessaires).
1859.PP
18603 - Un problème est survenu avec une opération sur un système de fichier
1861(fichier ou répertoire manquant, permissions).
1862.PP
18634 - Impossibilité d'allouer de la mémoire.
1864.PP
18655 - Autre problème.
1866.PP
186711 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au
1868processus "init" du script des bails. Le code de retour de Dnsmasq correspond
1869au code de retour du script plus 10.
1870
1871.SH LIMITES
1872Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général
1873conservatrices et appropriées pour des utilisations embarquées sur des machines
1874de type routeur ayant des processeurs lents et une mémoire limitée. Sur du
1875matériel plus performant, il est possible d'augmenter les limites et de gérer
1876plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et
1877ultérieur : les versions précédentes ne montaient pas en charge aussi bien.
1878
1879.PP
1880Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001881Pour cela, la durée des bail ne doit pas être très courte (moins d'une heure).
1882La valeur de
Simon Kelley824af852008-02-12 20:43:05 +00001883.B --dns-forward-max
1884peut-être augmentée : commencer par la rendre égale au nombre de clients et
1885l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends
1886également de la performance des serveurs amonts. La taille du cache DNS peut-
1887être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut
1888(150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des
1889informations utiles pour paramétrer la taille de cache. Voir la section
1890.B NOTES
1891pour plus de détails.
1892.PP
1893Le serveur TFTP intégré est capable de plusieurs transferts de fichiers
1894simultanés : La limite absolue est liée au nombre maximal de descripteurs de
1895fichiers alloué à un processus et à la capacité de l'appel système select() à
1896gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par
1897le biais de
1898.B --tftp-max
1899elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut
1900noter que plus de transferts sont possible lorsque le même fichier est transmis
1901au lieu d'avoir un fichier différent pour chaque transfert.
1902
1903.PP
1904Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile
1905en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou
19060.0.0.0 par le biais du fichier
1907.B /etc/hosts
1908ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq
1909ayant été testé avec succès avec un million de noms. Cette taille de fichier
1910nécessite un processeur à 1 Ghz et environ 60 Mo de RAM.
1911
Simon Kelley316e2732010-01-22 20:16:09 +00001912.SH INTERNATIONALISATION
1913Dnsmasq peut être compilé pour supporter l'internationalisation. Pour cela,
1914les cibles "all-i18n" et "install-i18n" doivent être données à make, en lieu
1915et place des cibles standards "all" et "install". Lorsque compilé avec le
1916support de l'internationalisation, dnsmasq supporte les noms de domaines
1917internationalisés ("internationalised domain names" ou IDN), et les messages de
1918traces ("logs") sont écrits dans la langue locale. Les noms de domaines dans
1919/etc/hosts, /etc/ethers et /etc/dnsmasq.conf contenant des caractères
1920non-ASCII seront transformés selon la représentation punycode interne
1921aux DNS. Veuillez noter que dnsmasq détermine la langue pour les messages
1922ainsi que le jeu de caractères susceptible d'être utilisé dans les fichiers
1923de configuration à partir de la variable d'environnement LANG. Ceci devrait
1924être configuré à la valeur par défaut du système par les scripts démarrant
1925dnsmasq. Lorsque les fichiers de configuration sont édités, veuillez faire
1926attention à le faire en utilisant la valeur de locale par défaut du système
1927et non une valeur spécifique à l'utilisateur, puisque dnsmasq n'a aucun
1928moyen de déterminer directement la valeur de jeu de caractère utilisé,
1929et assume de ce fait qu'il s'agit de la valeur par défaut du système.
1930
Simon Kelley824af852008-02-12 20:43:05 +00001931.SH FICHIERS
1932.IR /etc/dnsmasq.conf
1933
1934.IR /usr/local/etc/dnsmasq.conf
Simon Kelley28866e92011-02-14 20:19:14 +00001935.IR /var/run/dnsmasq/resolv.conf
1936.IR /etc/ppp/resolv.conf
1937.IR /etc/dhcpc/resolv.conf
Simon Kelley824af852008-02-12 20:43:05 +00001938
1939.IR /etc/resolv.conf
1940
1941.IR /etc/hosts
1942
1943.IR /etc/ethers
1944
1945.IR /var/lib/misc/dnsmasq.leases
1946
1947.IR /var/db/dnsmasq.leases
1948
1949.IR /var/run/dnsmasq.pid
1950.SH VOIR AUSSI
1951.BR hosts (5),
1952.BR resolver (5)
1953.SH AUTEUR
1954Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>.
1955
1956La traduction dans un français bancal a été commise par Gildas Le Nadan
1957<3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger
1958orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la
1959bienvenue!