3
Dnsmasq \- Un serveur DHCP et cache DNS poids-plume.
9
est un serveur DHCP et DNS à faible empreinte mémoire. Il offre à la fois les
10
services DNS et DHCP pour un réseau local (LAN).
12
Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache
13
local, soit en effectuant une requête à un serveur DNS récursif externe (par
14
exemple celui de votre fournisseur d'accès internet). Il charge le contenu du
15
fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS
16
globaux soient tout de même résolus, et assure également la résolution de nom
17
pour les hôtes présents dans le service DHCP.
19
Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques, les
20
réseaux multiples, le relai DHCP et les spécifications de sous-réseaux conformes
21
à la RFC3011. Il envoie par défaut un jeu raisonnable de paramètres DHCP, et
22
peut être configuré pour envoyer n'importe quel option DHCP.
23
Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via
24
le réseau/PXE de clients DHCP et supporte également le protocole BOOTP.
26
Dnsmasq supporte IPv6 pour le DNS mais pas pour le DHCP.
28
Notes : Il est possible d'utiliser des options sans leur donner de paramètre.
29
Dans ce cas, la fonction correspondante sera désactivée. Par exemple
31
(sans paramètre après le =) désactive l'écriture du fichier PID.
32
Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU
33
getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle
34
est toujours supportée dans le fichier de configuration.
37
Ne pas charger les noms du fichier /etc/hosts.
39
.B \-H, --addn-hosts=<fichier>
40
Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts.
43
est spécifié, lire uniquement le fichier spécifié. Cette option peut être
44
répétée afin d'ajouter d'autres fichiers.
46
.B \-E, --expand-hosts
47
Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le
48
nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service
51
.B \-T, --local-ttl=<durée>
52
Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou
53
avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro,
54
afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être
55
mise dans un cache. Ceci est le comportement correct dans presque toutes les
57
Cette option permet de spécifier la valeur de time-to-live à retourner (en
58
secondes). Cela permet de réduire la charge sur le serveur, mais les clients
59
risquent d'utiliser des données périmées dans certains cas.
62
Les réponses négatives provenant des serveurs amonts contiennent normalement
63
une information de durée de vie (time-to-live) dans les enregistrements SOA,
64
information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse
65
du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette
66
option permet de doner une valeur de durée de vie par défaut (en secondes) que
67
dnsmasq utilise pour mettre les réponses négatives dans son cache, même en
68
l'absence d'enregistrement SOA.
70
.B \-k, --keep-in-foreground
71
Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner
72
normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools
76
Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de
77
fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet
78
du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la
79
sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de
80
processus fils pour traiter les requêtes TCP.
83
Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier
84
de traces ("logs"). Active la génération d'un état complet du cache lors de la
85
réception d'un signal SIGUSR1.
87
.B \-8, --log-facility=<facility>
88
Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par
89
défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient
90
au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et
91
enverra les logs dans le fichier correspondant à la place du syslog. (Les
92
erreurs lors de la lecture de la configuration vont toujours vers le syslog,
93
mais tous les messages postérieures à un démarrage réussi seront exclusivement
94
envoyés vers le fichier de logs). Lorsque Dnsmasq est configuré pour envoyer
95
ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la
96
fermeture et réouverture du fichier. Cela permet la rotation de fichiers de
97
traces sans nécessiter l'arrêt de Dnsmasq.
99
.B --log-async[=<lignes>]
100
Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le
101
nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque
102
l'écriture vers le syslog est lente.
103
Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de
104
continuer à fonctionner sans être bloqué par le syslog, et permet à syslog
105
d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage.
106
Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et
107
le nombre de messages perdus. La longueur par défaut de la file d'attente est de
108
5 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum
111
.B \-x, --pid-file=<chemin>
112
Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur
113
par défaut est /var/run/dnsmasq.pid.
115
.B \-u, --user=<nom d'utilisateur>
116
Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage.
117
Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"),
118
mais abandonne ses privilèges après le démarrage en changeant d'identité.
119
Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est
120
possible d'en définir un autre par le biais de ce paramètre.
122
.B \-g, --group=<nom de groupe>
123
Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du
124
groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui
125
n'est en général pas en lecture par tout le monde.
128
Imprime le numéro de version.
130
.B \-p, --port=<port>
131
Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer
132
cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif
133
que le DHCP ou le TFTP.
135
.B \-P, --edns-packet-max=<taille>
136
Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le
137
défaut est de 1280, qui est la valeur maximale
138
recommandée pour ethernet dans la RFC2671.
140
.B \-Q, --query-port=<numéro de port>
141
Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par
142
<numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends
143
dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais
144
cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner
145
une valeur de zéro à cette option restaure le comportement par défaut présent dans
146
les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port
147
alloué par le système d'exploitation.
150
Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre
151
pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les
152
requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours
153
au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs
154
garde-barrières ("firewalls").
156
.B \-i, --interface=<nom d'interface>
157
N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement
158
l'interface locale ("loopback") à la liste des interfaces lorsque l'option
165
n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf
166
celle(s) spécifiée(s) par l'option
167
.B --except-interface.
168
Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec
171
.B \--except-interface.
176
.B \-I, --except-interface=<interface name>
177
Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les
183
.B --except-interface
184
sont fournies n'importe pas, et que l'option
185
.B --except-interface
186
l'emporte toujours sur les autres.
188
.B \-2, --no-dhcp-interface=<nom d'interface>
189
Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de
192
.B \-a, --listen-address=<adresse IP>
193
Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options
197
peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et
198
d'adresses seront utilisées. Notez que si
201
n'est donnée alors qu'une option
203
l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale
204
("loopback"). Pour activer l'écoute sur l'interface locale, il est alors
205
nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option
206
.B \--listen-address.
208
.B \-z, --bind-interfaces
209
Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker
210
("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par
211
la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette
212
situation présente l'avantage de fonctionner même lorsque les interfaces vont
213
et viennent ou changent d'adresses. L'option
215
force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles
216
il doit écouter. L'un des seuls cas où cette option est utile est celui où un
217
autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même
218
machine. Utiliser cette option permet également d'avoir plusieurs instances de
219
Dnsmasq fournissant un service DHCP sur la même machine.
221
.B \-y, --localise-queries
222
Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle
223
la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans
224
/etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au
225
moins est dans le même sous-réseau que l'interface sur laquelle la requête a été
226
reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela
227
permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour
228
chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur
229
le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée
233
Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS
234
inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas
235
trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées
236
une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises
237
aux serveurs de nom amont ("upstream server").
239
.B \-V, --alias=<ancienne IP>,<nouvelle IP>[,<masque>]
240
Modifie les adresses IPv4 retournées par les serveurs de nom amont;
241
<ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est
242
fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque>
243
sera réécrite. Ainsi par exemple
244
.B --alias=1.2.3.0,6.7.8.0,255.255.255.0
245
modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67.
246
Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent
247
"bidouillage DNS" ("DNS doctoring").
249
.B \-B, --bogus-nxdomain=<adresse IP>
250
Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel
251
domaine" ("no such domain"). Ceci a pour but de neutraliser la modification
252
sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé
253
à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour
254
les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN".
255
Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il
256
constate ce comportement. L'adresse retournée par Verisign en septembre 2003
259
.B \-f, --filterwin2k
260
Les dernières versions de windows font des requêtes DNS périodiques auxquelles
261
non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui,
262
de surcroît, peuvent poser des problèmes en déclenchant des connexions
263
intempestives pour des liens réseaux avec des connexions "à la demande". Fournir
264
cette option active le filtrage des requêtes de ce type. Les requêtes bloquées
265
sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de
266
type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des
269
.B \-r, --resolv-file=<fichier>
270
Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>,
271
au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le
274
les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire
275
plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le
276
fichier par défaut, le contenu des suivants est rajouté dans la liste des
277
fichiers à consulter. Seul le fichier ayant la dernière date de modification
278
sera chargé en mémoire.
281
Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des
282
serveurs de nom amont que depuis la ligne de commande ou le fichier de
283
configuration de Dnsmasq.
285
.B \-1, --enable-dbus
286
Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de
287
méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de
288
serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette
289
option nécessite que Dnsmasq soit compilé avec le support DBus.
291
.B \-o, --strict-order
292
Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts
293
dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait
294
fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque
295
requête, les serveurs DNS dans leur ordre d'apparition dans le fichier
299
Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie
300
les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à
301
effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé
302
au client sera celui fournit par le premier serveur ayant répondu.
305
Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme
306
d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les
307
serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant
308
à détourner de leur usage les logiciels de navigation web ('browser') en s'en
309
servant pour découvrir les machines situées sur le réseau local.
312
Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié.
315
Lorsque le fichier /etc/resolv.conf est relu, vider le cache DNS.
316
Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données
317
différentes de celles stockées dans le cache.
319
.B \-D, --domain-needed
320
Indique à Dnsmasq de ne jamais transmettre en amont de requêtes pour des noms
321
simples, ne comprenant donc ni points ni nom de domaine. Si un nom n'est pas
322
dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse de type
323
"non trouvé" est renvoyée.
325
.B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]
326
Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne
327
supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela
330
Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce
331
serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute
332
requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur.
333
Cette option est destinée aux serveurs de nom privés : si vous avez un serveur
334
de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la
335
résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors
336
.B -S /internal.thekelleys.org.uk/192.168.1.1
337
enverra toutes les requêtes pour les machines internes vers ce serveur de nom,
338
alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans
339
le fichier /etc/resolv.conf. Une spécification de nom de domaine vide,
341
possède le sens particulier de "pour les noms non qualifiés uniquement",
342
c'est-à-dire les noms ne possédant pas de points. Un port non standard peut être
343
rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une
346
est autorisée, en répétant les domaines et adresses IP comme requis.
348
Il est également permis de donner une option
350
avec un nom de domaine mais sans
351
adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre
352
aux requêtes le concernant depuis les entrées contenues dans le fichier
353
/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes
358
("serveur") afin de rendre plus claire l'utilisation de cette option pour cet
361
La chaîne de caractères optionnelle suivant le caractère @ permet de définir
362
la source que Dnsmasq doit utiliser pour les réponses à ce
363
serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur
364
laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera
365
consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom
366
d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées
367
depuis cette interface; si une adresse ip est donnée, alors l'adresse source de
368
la requête sera l'adresse en question. L'option query-port est ignorée pour tous
369
les serveurs ayant une adresse source spécifiée, mais il est possible de la donner
370
directement dans la spécification de l'adresse source. Forcer les requêtes à être
371
émises depuis une interface spécifique n'est pas possible sur toutes les plateformes
372
supportées par dnsmasq.
374
.B \-A, --address=/<domaine>/[domaine/]<adresse IP>
375
Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis
376
en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux
377
serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être
378
une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse
379
IPv6 pour un domaine, utiliser plusieurs options
382
contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des
383
noms individuels. Une utilisation courante de cette option est de rediriger la
384
totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les
385
bannières publicitaires. La spécification de domaine fonctionne de la même façon
388
avec la caractéristique supplémentaire que
390
coïncide avec tout domaine. Ainsi,
391
.B --address=/#/1.2.3.4
392
retournera 1.2.3.4 pour toute requête
393
n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas
394
transmise à un serveur spécifique par le biais d'une directive
397
.B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>]
398
Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom
399
donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans
402
si elle est présente. Sinon retourne le nom de la machine
403
sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option
405
) est utile dans un réseau local pour rediriger les courriers
406
électroniques vers un serveur central. La valeur de préférence est optionnelle
407
et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être
408
fournie pour un hôte donné.
410
.B \-t, --mx-target=<nom d'hôte>
411
Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des
412
enregistrements de type MX. Voir
416
est donné mais pas de
418
alors Dnsmasq retourne comme réponse un enregistrement MX
419
contenant le nom d'hôte spécifié dans l'option
422
concernant le MX de la machine sur laquelle tourne Dnsmasq.
425
Définit, pour toutes les machines locales, un MX correspondant à l'hôte
426
considéré. Les machines locales sont celles définies dans le fichier /etc/hosts
427
ou dans un bail DHCP.
430
Définit, pour toutes les machines locales, un enregistrement MX pointant sur
431
l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les
432
machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail
435
.B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]]
436
Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de
437
détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur
438
fournie dans l'option
440
La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors
441
que les poids et priorités par défaut sont 0. Attention lorsque vous transposez
442
des valeurs issues d'une configuration BIND : les ports, poids et priorités sont
443
dans un ordre différents. Pour un service/domaine donné, plus d'un
444
enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont
445
retournés dans la réponse.
447
.B \-Y, --txt-record=<nom>[[,<texte>],<texte>]
448
Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est
449
un ensemble de chaînes de caractères, donc un nombre variable de chaînes de
450
caractères peuvent être spécifiées, séparées par des virgules.
452
.B --ptr-record=<nom>[,<cible>]
453
Définit un enregistrement DNS de type PTR.
455
.B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>]
456
Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403.
458
.B --interface-name=<nom>,<interface>
459
Définit un entregistrement DNS associant le nom avec l'adresse primaire sur
460
l'interface donnée en argument. Cette option spécifie un enregistrement de type
461
A pour le nom donné en argument de la même façon que s'il était défini par une
462
ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de
463
l'interface définie. Si l'interface est inactive, non existante ou non
464
configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est
465
également créé par cette option, associant l'adresse de l'interface avec le nom.
466
Plus d'un nom peut être associé à une interface donnée en répétant cette option
467
plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni
468
dans la première instance de cette option.
470
.B \-c, --cache-size=<taille>
471
Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms.
472
Définir une valeur de zéro désactive le cache.
474
.B \-N, --no-negcache
475
Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir
476
des réponses de type "no such domain" fournies par les serveurs DNS en amont et
477
de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs
480
.B \-0, --dns-forward-max=<nombre de requêtes>
481
Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est
482
150, ce qui devrait être suffisant dans la majorité des configurations. La seule
483
situation identifiée dans laquelle cette valeur nécessite d'être augmentée est
484
lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de
485
son journal des requêtes, ce qui peut générer un nombre important de requêtes
488
.B \-F, --dhcp-range=[[net:]identifiant de réseau,]<adresse de début>,<adresse de fin>[[,<masque de réseau>],<broadcast>][,<durée de bail par défaut>]
489
Active le serveur DHCP. Les adresses seront données dans la plage comprise entre
490
<adresse de début> et <adresse de fin> et à partir des adresses définies
491
statiquement dans l'option
493
Si une durée de bail est donnée, alors les baux seront donnés pour cette
494
durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m),
495
en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une
496
durée indéterminée. La valeur minimum pour un bail DHCP est de 2 minutes.
497
Cette option peut être répétée, avec différentes adresses,
498
pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement
499
connectés (c'est-à-dire des réseaux dans lesquels la machine sur laquelle tourne
500
Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par
501
contre requis pour les réseaux pour lesquels le service DHCP se fait via un
502
relais DHCP ("relay agent"). L'adresse de broadcast est toujours optionnelle.
504
Sur certains systèmes, Dnsmasq ne peut écouter que sur une interface lorsqu'il
505
utilise DHCP, et le nom de l'interface doit être spécifié par l'option
507
Cette limitation affecte tous les systèmes OpenBSD avant la version 4.0. Il
508
est toujours possible d'avoir plus d'une plage DHCP pour un même sous-réseau.
510
L'identifiant de réseau optionnel est un label alphanumérique qui permet de
511
marquer ce réseau afin de fournir des options DHCP spécifiques à chaque réseau.
512
Lorsque préfixé par 'net:', la signification change est au lieu de définir un
513
label, il définit le label pour laquelle la règle s'applique. Un seul label peut-
514
être défini mais plusieurs labels peuvent coïncider.
516
L'adresse de fin peut être remplacée par le mot-clef
518
("statique") qui indique à Dnsmasq d'activer le service DHCP pour le réseau
519
spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP. Seuls les
520
hôtes possédant des adresses IP statiques fournies via
522
ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP.
524
.B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,net:<identifiant de réseau>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore]
525
Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine
526
possédant une adresse matérielle spécifique de se voir toujours allouée les
527
mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme
528
ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est
529
également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte,
530
auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se
531
réclamant de ce nom. Par exemple
532
.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
533
spécifie à Dnsmasq de fournir à la machine d'adresse matérielle
534
00:20:e0:3b:13:af le nom, et un bail de durée indéterminée.
536
.B --dhcp-host=lap,192.168.0.199
537
spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap
538
l'adresse IP 92.168.0.199. Les adresses allouées comme ceci ne sont pas
539
contraintes dans une plage d'adresse spécifiée par une option --dhcp-range, mais
540
elles doivent être sur un réseau servi par le serveur DHCP. Il est possible
541
d'utiliser des identifiants clients plutôt que des adresses matérielles pour
542
identifier les hôtes, en préfixant par ceux-ci par 'id:'. Ainsi,
543
.B --dhcp-host=id:01:02:03:04,.....
544
réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de
545
spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme
547
.B --dhcp-host=id:identifiantclientsousformedechaine,.....
548
L'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser
549
que l'adresse matérielle". Cela est utile lorsqu'un client présente un
550
identifiant client mais pas les autres.
552
Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un
553
bail DHCP mais seulement si une option
555
spécifiant le nom existe par ailleurs. Le mot clef "ignore" ("ignorer") indique
556
à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être
557
spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte.
559
.B --dhcp-host=00:20:e0:3b:13:af,ignore
560
Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par
561
certaines machines. Le paramètre net:<identifiant réseau> permet de définir un
562
identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir
563
à sélectionner des options DHCP juste pour cet hôte. Lorsqu'une machine coïncide
564
avec une directive dhcp-host (ou une impliquée par /etc/ethers), alors
565
l'identifiant réseau réservé "known" ("connu") est associé. Cela permet à
566
Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue
568
.B --dhcp-ignore=#known.
570
Les adresses ethernet (mais pas les identifiants clients) peuvent être définies
571
avec des octets joker, ainsi par exemple
572
.B --dhcp-host=00:20:e0:3b:13:*,ignore
573
demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter
574
que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets
575
lorsque spécifié en option de ligne de commande, mais pas dans le fichier de
576
configuration. Les adresses matérielles coïncident en principe avec n'importe
577
quel type de réseau (ARP), mais il est possible de les limiter à un seul type
578
ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi
579
.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
580
coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type
581
ARP pour une adresse Token-Ring est 6.
583
.B --dhcp-hostsfile=<fichier>
584
Lis les informations d'hôtes DHCP dans le fichier spécifié. Le fichier contient
585
des informations à raison d'un hôte par ligne. Le format d'une ligne est la même
586
que le texte fourni à la droite sur caractère "=" dans l'option
588
L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est
589
que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera
590
relu lorsque Dnsmasq reçoit un signal SIGHUP.
592
.B --dhcp-optsfile=<fichier>
593
Lis les informations relatives aux options DHCP dans le fichier spécifié.
594
L'intérêt d'utiliser cette option est le même que pour --dhcp-hostsfile : le
595
fichier spécifié ser rechargé à la réception par dnsmasq d'un signal SIGHUP.
597
.B \-Z, --read-ethers
598
Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de
599
/etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par
600
une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu
601
par Dnsmasq, ces lignes ont exactement le même effet que l'option
603
contenant les mêmes informations. /etc/ethers est relu à la réception d'un
604
signal SIGHUP par Dnsmasq.
606
.B \-O, --dhcp-option=[<identifiant_de_réseau>,[<identifiant_de_réseau>,]][vendor:[<classe_vendeur>],][<opt>|option:<nom d'option>],[<valeur>[,<valeur>]]
607
Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par
608
défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le
609
masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte
610
sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut
611
prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq. Si
612
une option de nom de domaine a été définie, son contenu est transmis. Cette
613
option de configuration permet de changer toutes ces valeurs par défaut, ou de
614
spécifier d'autres options. L'option DHCP à transmettre peut être fournie sous
615
forme d'un nombre décimal ou sous la forme "option:<nom d'option>". Les nombres
616
correspondants aux options sont définis dans la RFC2132 et suivants. Les noms
617
d'options connus par Dnsmasq peuvent être obtenus via "Dnsmasq --help dhcp".
618
Par exemple, pour définir la route par défaut à 192.168.4.4, il est possible de
620
.B --dhcp-option=3,192.168.4.4
622
.B --dhcp-option = option:router, 192.168.4.4
623
ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut
625
.B --dhcp-option = 42,192.168.0.4
627
.B --dhcp-option = option:ntp-server, 192.168.0.4
628
L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle
629
tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la
630
forme de 4 chiffres séparés par des points, un nombre décimal, une liste de
631
caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères.
632
Si des identifiants de réseaux sont fournis, alors cette option n'est envoyée
633
qu'aux réseaux dont tous les identifiants coïncident.
635
Un traitement spécial est effectué sur les chaînes de caractères fournies pour
636
l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les
637
adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments
638
de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous
639
forme de 4 chiffres séparés par des points suivies par une barre montante "/",
640
puis une taille de masque sont encodés conforméments à la RFC 3442.
642
Attention : aucun test n'étant fait pour vérifier que des données d'un type
643
adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible
644
de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation
645
incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq
646
doit déterminer la taille des données. Cela est fait en examinant le numéro de
647
l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une
649
b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des
650
options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles
651
Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options
652
consistant uniquement de points et de décimaux sont interprétées par Dnsmasq
653
comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme
654
de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par
655
exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme
656
d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire
658
.B --dhcp-option=66,"1.2.3.4"
660
Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées en
664
.B --dhcp-option=vendor:PXEClient,1,0.0.0.0
665
envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à
666
n'importe quel client dont la classe de vendeur correspond à "PXEClient". La
667
correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de
669
.B --dhcp-vendorclass
670
pour plus de détails). Si une option de
671
classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé
672
pour sélectionner les options encapsulées, de préférence à toute option envoyée
673
par le client. Il est possible d'omettre complètement une classe de vendeur :
674
.B --dhcp-option=vendor:,1,0.0.0.0
675
Dans ce cas l'option encapsulée est toujours envoyée.
676
L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans
677
une option encapsulée de classe de vendeur.
679
.B --dhcp-option-force=[<identifiant de réseau>,[<identifiant de réseau>,]][vendor:[<classe de vendeur>],]<opt>,[<valeur>[,<valeur>]]
680
Cela fonctionne exactement de la même façon que
682
sauf que cette option sera toujours envoyée, même si le client ne la demande pas
683
dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors
684
de la fourniture d'options à PXELinux.
686
.B --dhcp-no-override
687
Désactive la réutilisation des champs DHCP nom de serveur et nom de
688
fichier comme espace supplémentaire pour les options. Si cela est
689
possible, dnsmasq déplace les informations sur le serveur de démarrage
690
et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs
691
dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est
692
alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans
693
quelques rares cas, perturber des clients vieux ou défectueux. Cette
694
option force le comportement à l'utilisation des valeurs "simples et sûres"
695
afin d'éviter des problèmes dans de tels cas.
697
.B \-U, --dhcp-vendorclass=<identifiant de réseau>,<classe de vendeur>
698
Associe une chaîne de classe de vendeur à un indentifiant de réseau. La plupart
699
des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui
700
représente, d'une certaine façon, le type d'hôte. Cette option associe des
701
classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être
702
fournie de manière sélective aux différentes classes d'hôtes. Par exemple,
703
.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect
704
permet de n'allouer des options qu'aux imprimantes HP de la manière suivante :
705
.B --dhcp-option=printers,3,192.168.4.4
706
La chaîne de caractères de la classe de vendeur founie en argument est cherchée
707
en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie
708
par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne
709
de caractères ("fuzzy matching").
711
.B \-j, --dhcp-userclass=<identifiant de réseau>,<classe utilisateur>
712
Associe une chaîne de classe d'utilisateur à un identifiant réseau (effectue la
713
recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart
714
des clients permettent de configurer une "classe d'utilisateur". Cette option
715
associe une classe d'utilisateur à un label, de telle manière qu'il soit
716
possible de fournir des options DHCP spécifiques à différentes classes d'hôtes.
717
Il est possible, par exemple, d'utiliser ceci pour définir un serveur
718
d'impression différent pour les hôtes de la classe "comptes" et ceux de la
721
.B \-4, --dhcp-mac=<identifiant de réseau>,<adresse MAC>
722
Associe une adresse matérielle (MAC) à un identifiant réseau. L'adresse
723
matérielle peut inclure des jokers. Par exemple
724
.B --dhcp-mac=3com,01:34:23:*:*:*
725
permet de définir le label "3com" pour n'importe quel hôte dont l'adresse
726
matérielle coïncide avec les critères définis.
728
.B --dhcp-circuitid=<identifiant de réseau>,<identifiant de circuit>, --dhcp-remoteid=<identifiant de réseau>,<identifiant distant>
729
Associe des options de relais DHCP issus de la RFC3046 à des identifiants de
730
réseau. Cette information peut-être fournie par des relais DHCP. L'identifiant
731
de circuit ou l'identifiant distant est normalement fourni sous la forme d'une
732
chaîne de valeurs hexadécimales séparées par des ":", mais il est également
733
possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si
734
l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le
735
relais DHCP, alors l'identifiant de réseau est positionné.
737
.B --dhcp-subscrid=<identifiant de réseau>,<identifiant d'abonné>
738
Associe des options de relais DHCP issues de la RFC3993 à des identifiants de
741
.B --dhcp-match=<identifiant de réseau>,<numéro d'option>
742
Associe l'identifiant de réseau si le client envoie une option DHCP
743
avec le numéro spécifié. Cela peut-être utilisé pour identifier des
744
clients spécifiques qui envoient des informations par le biais de
745
numéros privés d'option.
747
.B \-J, --dhcp-ignore=<identifiant de réseau>[,<identifiant de réseau>]
748
Lorsque tous les identifiants de réseau fournis coïncident avec la liste
749
d'identifiants réseau dérivée des classes de réseau, hôte, vendeur et
750
utilisateur, ignorer l'hôte et ne pas donner de bail DHCP.
752
.B --dhcp-ignore-names[=<identifiant de réseau>[,<identifiant de réseau>]]
753
Lorsque tous les identifiant de réseau coïncident avec la liste d'identifiants
754
réseau dérivées des classes de réseau, hôte, vendeur et utilisateur, ignorer le
755
nom de machine fourni par l'hôte. Il est à noter que, à la différence de
756
l'option "dhcp-ignore", il est permis de ne pas fournir d'identifiant réseau.
757
Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours
758
ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la
759
configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts
762
.B --dhcp-broadcast=<identifiant de réseau>[,<identifiant de réseau>]
763
Lorsque tous les identifiants de réseaux fournis correspondent à ceux
764
obtenus à partir des classes de réseau, d'hôte ou d'utilisateur, force
765
l'utilisation du broadcast pour communiquer avec l'hôte lorsque celui-ci n'est
766
pas configuré. La plupart des clients DHCP nécessitant une réponse par le biais
767
d'un broadcast activent une option dans leur requête, ce qui fait que cela
768
se fait automatiquement, mais ce n'est pas la cas de certains vieux clients BOOTP.
770
.B \-M, --dhcp-boot=[net:<identifiant de réseau>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>]]
771
Spécifie les options BOOTP devant être retournées par le serveur DHCP. Le nom de
772
serveur ainsi que l'adresse sont optionnels : s'ils ne sont pas fournis, le nom
773
est laissé vide et l'adresse fournie est celle de la machine sur laquelle
774
s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir
776
), alors seul un nom de fichier est requis ici pour permettre un démarrage par
778
Si d'éventuels identifiants de réseau sont fournis, ils doivent coïncider avec
779
ceux du client pour que cet élement de configuration lui soit envoyé. Il est à
780
noter que les identifiants de réseau doivent-être préfixés par "net:".
782
.B \-X, --dhcp-lease-max=<nombre>
783
Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 150. Cette
784
limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes
785
créant des milliers de baux et utilisant beaucoup de mémoire dans le processus
788
.B \-K, --dhcp-authoritative
789
Cette option doit être donnée lorsque Dnsmasq est le seul serveur DHCP sur le
790
réseau. Cela change le comportement par défaut qui est celui d'un strict respect
791
des RFC, afin que les requêtes DHCP pour des baux inconnus par des hôtes
792
inconnus ne soient pas ignorées. Cela permet à de nouveaux hôtes d'obtenir des
793
baux sans tenir compte de fastidieuses temporisations ("timeout"). Cela permet
794
également à Dnsmasq de reconstruire sa base de donnée contenant les baux sans
795
que les clients n'aient besoin de redemander un bail, si celle-ci est perdue.
797
.B --dhcp-alternate-port[=<port serveur>[,<port client>]]
798
Change les ports utilisés par défaut pour le DHCP. Si cette option est donnée
799
toute seule sans arguments, alors change les ports utilisés pour le DHCP
800
de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce
801
numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le
802
port client. Enfin, en fournissant deux numéros de ports, il est possible de
803
spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP.
805
.B \-3, --bootp-dynamic
806
Permet l'allocation dynamique d'adresses IP à des clients BOOTP. Utiliser cette
807
option avec précaution, une adresse allouée à un client BOOTP étant perpétuelle,
808
et de fait n'est plus disponibles pour d'autres hôtes.
811
Par défaut, le serveur DHCP tente de s'assurer qu'une adresse n'est pas utilisée
812
avant de l'allouer à un hôte. Cela est fait en envoyant une requête ICMP de type
813
"echo request" (aussi connue sous le nom de "ping") à l'adresse en question. Si
814
le serveur obtient une réponse, alors l'adresse doit déjà être utilisée et une
815
autre est essayée. Cette option permet de supprimer cette vérification. A
816
utiliser avec précaution.
819
Traces additionnelles pour le service DHCP : enregistre toutes les options
820
envoyées aux clients DHCP et les identifiants de réseaux utilisés pour la
821
détermination de celles-ci.
823
.B \-l, --dhcp-leasefile=<chemin de fichier>
824
Utilise le fichier dont le chemin est fourni pour stocker les informations de
825
baux DHCP. Si cette option est fournie mais qu'aucune option de type dhcp-range
826
n'est donnée, alors un comportement de type Dnsmasq version 1 est activé. Le
827
fichier fourni est supposé être un fichier de baux DHCP de type ISC DHCPD et est
828
parcouru à la recherche de baux contenant des noms d'hôtes. Les noms trouvés
829
sont rajoutés au DNS. Cette fonctionalité peut être exclue de Dnsmasq à la
830
compilation, auquel cas une erreur sera produite. Il est à noter que
831
l'intégration avec un fichier de baux au format ISC est une fonctionalité
832
obsolète. Elle ne devrait pas être utilisée dans les nouvelles installations et
833
sera retirée dans une future version.
835
.B \-6 --dhcp-script=<chemin de fichier>
836
Lorsqu'un bail DHCP est créé, ou qu'un ancien est supprimé, le fichier dont le
837
chemin est spécifié est exécuté. Les arguments fournis à celui-ci sont soit
838
"add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse
839
MAC de l'hôte (ou "<null>") puis l'adresse IP et le nom d'hôte si celui-ci est
840
connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a été supprimé,
841
"old" notifie que le bail existait au lancement de Dnsmasq, ou un changement
842
d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas où
843
leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant
844
d'hôte). Le processus est exécuté en temps que super-utilisateur (si Dnsmasq a
845
été lancé en temps que "root"), même si Dnsmasq est configuré pour changer son
846
UID pour celle d'un utilisateur non-privilégié. L'environnement est hérité de
847
celui de l'invocation du processus Dnsmasq, et si l'hôte fournit un identifiant
848
de client, celui-ci est stocké dans la variable d'environnement
849
DNSMASQ_CLIENT_ID. Si le client fournit une information de classe de vendeur ou
850
de classe d'utilisateur, celles-ci sont positionnées dans les variables
851
DNSMASQ_VENDOR_CLASS et DNSMASQ_USER_CLASS0 à DNSMASQ_USER_CLASSn
852
respectivement, mais seulement pour les actions "add" et "old" lorsqu'un hôte
853
reprend un bail existant, ces variables n'étant pas stockées dans la base de
854
baux de Dnsmasq. Si Dnsmasq a été compilé avec l'option HAVE_BROKEN_RTC
855
("horloge RTC défectueuse"), alors la durée du bail (en secondes) est stockée
856
dans la variable DNSMASQ_LEASE_LENGTH, sinon la date d'expiration du bail est
857
toujours stocké dans la variable d'environnement DNSMASQ_LEASE_EXPIRES. Le
858
nombre de secondes avant expiration est toujours stocké dans
859
DNSMASQ_TIME_REMAINING. Si un bail était associé à un nom d'hôte et que celui-ci
860
est supprimé, un évênement de type "old" est généré avec le nouveau statut du
861
bail, c-à-d sans nom d'hôte, et le nom initial est fourni dans la variable
862
d'environnement DNSMASQ_OLD_HOSTNAME. La variable DNSMASQ_INTERFACE contient le nom de
863
l'interface sur laquelle la requête est arrivée; ceci n'est pas renseigné
864
dans le cas des actions "old" ayant lieu après un redémarrage de dnsmasq.
865
Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui
866
sont ouverts sur /dev/null (sauf en mode déverminage).
867
Le script n'est pas lancé de manière concurrente : si un autre changement de
868
bail intervient, le script ne sera relancé que lorsque l'exécution actuelle sera
870
Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants
871
dans le fichier des baux. Le script sera lancé avec l'action "del" pour les baux
872
expirés, et "old" pour les autres. <chemin de fichier> doit être un chemin
873
absolu (c'est-à-dire partant de la racine "/"), aucune recherche n'aura lieu
874
dans les répertoires de la variable d'environnement PATH. Lorsque Dnsmasq reçoit
875
un signal HUP, le script sera invoqué avec une action "old" pour tous les baux
879
Spécifie l'utilisateur sous lequel le script lease-change doit être exécuté. La
880
valeur par défaut correspond à l'utilisateur root mais peut-être changée par le
881
biais de cette option.
883
.B \-9, --leasefile-ro
884
Supprimer complètement l'usage du fichier servant de base de donnée pour les
885
baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le
886
script de changement d'état de bail est lancé (si celui-ci est fourni par le
889
), de sorte que la base de données de baux puisse
890
être complètement gérée par le script sur un stockage externe. En addition aux
891
actions décrites dans
893
le script de changement d'état de bail est appellé une fois, au lancement de
894
Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script
895
doit fournir l'état de la base de baux, dans le format de fichier de baux de
896
Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0.
897
Positionner cette option provoque également une invocation du script de
898
changement d'état de bail à chaque changement de l'identifiant de client, de
899
longueur de bail ou de date d'expiration.
901
.B --bridge-interface=<interface>,<alias>[,<alias>]
902
Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias>
903
comme si elles arrivaient de l'interface <interface>. Cette option est
904
uniquement disponible sur les plateformes BSD, et est uniquement nécessaire
905
lors de l'utilisation de pont ethernet "ancien mode", puisque dans ce cas les
906
paquets arrivent sur des interfaces "tap" n'ayant pas d'adresse IP.
908
.B \-s, --domain=<domaine>
909
Spécifie le domaine du serveur DHCP. Cela a deux effets; tout d'abord, le
910
serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement,
911
cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela
912
est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse
913
fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du
914
trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors
915
les noms d'hôtes avec un nom de domaine (c-à-d un point dans le nom) seront
916
interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors
917
les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de
918
domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors
919
les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le
920
suffixe fourni dans l'option
922
Ainsi, sur mon réseau, je peux configurer
923
.B --domain=thekelleys.org.uk
924
et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette
925
machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk".
926
Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est
927
positionné à la première valeur de la directive "search" du fichier
928
/etc/resolv.conf (ou équivalent).
931
Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux
932
fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul
933
un accès en lecture est possible; les extensions tsize et blksize sont supportées
934
(tsize est seulement supporté en mode octet).
936
.B --tftp-root=<répertoire>
937
Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le
938
répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP
939
incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de
940
la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés,
941
mais ils doivent être à la racine TFTP fournie.
943
.B --tftp-unique-root
944
Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite
945
de la racine tftp (adresse sous forme de 4 chiffres séparés par des points).
946
Uniquement valable si une racine TFTP est spécifiée et si le répertoire
947
correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le
948
client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin
949
effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou
950
"/tftp/monfichier" dans le cas contraire.
953
Active le mode TFTP sécurisé : sans cela, tout fichier lisible
954
par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix
955
habituelles s'appliquent). Lorsque l'option
957
est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne
958
le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que
959
super-utilisateur ("root"), des règles différentes s'appliquent :
961
n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le
962
monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous
963
l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement
964
déconseillé de le faire sans fournir l'option
966
Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le
967
droit de lecture pour tout le monde est positionné ("world-readable") devient
968
possible par n'importe quel hôte sur le réseau.
970
.B --tftp-max=<connexions>
971
Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur
972
par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié,
973
il se peut que la limite de nombre de descripteurs de fichiers par processus
974
soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un
975
descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des
976
fichiers devant être fournis. De fait, servir le même fichier à n clients ne
977
nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des
978
fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs.
979
Si elle est donnée, l'option
981
peut affecter le nombre maximum de connexions concurrentes.
983
.B --tftp-no-blocksize
984
Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec
985
les clients. Certains clients buggés spécifient cette option mais se comportent
986
ensuite de manière incorrecte si celle-ci est accordée.
988
.B --tftp-port-range=<début>,<fin>
989
Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour
990
l'initiation de la connexion, mais utilise également un port dynamiquement
991
alloué pour chaque connexion. Normalement, ces ports sont alloués par
992
le système d'exploitation, mais cette option permet de spécifier une gamme
993
de ports à utiliser pour les transferts TFTP. Cela peut-être utile si
994
TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur
995
de début pour la plage de port ne peut-être inférieure à 1025 sauf si
996
dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de
997
connexions TFTP concurrentes est limitée par la taille de la gamme de
998
ports ainsi spécifiée.
1000
.B --tftp-port-range=<début>,<fin>
1001
Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation
1002
de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces
1003
numéros de ports sont en principe alloués par le système d'exploitation, mais
1004
cette option permet de spécifier une gamme de ports à utiliser pour les
1005
transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un
1006
dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être
1007
inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que
1008
super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes
1009
est limitée par la taille de la plage de ports ainsi définie.
1011
.B \-C, --conf-file=<fichier>
1012
Spécifie un fichier de configuration différent. L'option "conf-file" est
1013
également autorisée dans des fichiers de configuration, ce qui permet
1014
l'inclusion de multiples fichiers de configuration.
1016
.B \-7, --conf-dir=<répertoire>
1017
Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de
1018
configuration. Les fichiers dont les noms se terminent en ~ ou commençant par .,
1019
ainsi que ceux commençant ou se terminant par # ne sont pas pris en compte.
1020
Cette option peut être donnée en ligne de commande ou dans un fichier de
1022
.SH FICHIER DE CONFIGURATION
1023
Au démarrage, Dnsmasq lis
1024
.I /etc/dnsmasq.conf,
1025
si ce fichier existe. (Sur FreeBSD, ce fichier est
1026
.I /usr/local/etc/dnsmasq.conf
1027
) (voir cependant les options
1031
). Le format de ce fichier consiste en une option par ligne, exactement comme
1032
les options longues détaillées dans la section OPTIONS, mais sans être précédées
1033
par "--". Les lignes commençant par # sont des commentaires et sont ignorées.
1034
Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du
1035
fichier de configuration prends le pas sur celle fournie en ligne de commande.
1036
Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et
1037
"#" ne soit interprêtés, et il est possible d'utiliser les séquences
1038
d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent
1039
respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles,
1040
tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et
1041
nouvelle ligne ("newline").
1043
A la réception d'un signal SIGHUP,
1045
vide son cache et recharge les fichiers
1049
ainsi que tout autre fichier spécifié par les options
1055
Le script de changement de bail est appellé pour chaque bail DHCP existant. Si
1058
est positionnée, alors le fichier
1060
est également rechargé.
1061
SIGHUP ne provoque PAS de rechargement du fichier de configuration.
1063
A la réception d'un signal SIGUSR1,
1065
écrit des statistiques dans les traces système. Les informations fournies sont :
1066
la taille du cache, le nombre de noms ayant été supprimés du cache avant
1067
expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre
1068
total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit
1069
le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une
1070
erreur. Lorsque Dnsmasq a été lancé via
1072
ou lorsque la traçabilité maximale a été activée (
1074
), la totalité du contenu du
1075
cache est de surcroît fournie.
1077
A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses
1078
traces dans un fichier (voir
1082
ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette
1083
opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un
1084
fichier de traces pour la première fois, Dnsmasq change le propriétaire du
1085
fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel
1086
Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit
1087
être configuré pour créer un nouveau fichier avec un propriétaire identique au
1088
fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est
1089
en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui
1090
traite la requête TCP et il peut y être écrit. Il existe cependant une limite
1091
de 150 secondes après laquelle tous les processus traitant des requêtes TCP
1092
expirent : pour cette raison, il est préférable de ne pas configurer la
1093
compression des fichiers de traces venant juste de faire l'objet d'une rotation.
1094
Dans le cas de l'utilisation du logiciel logrotate, les options requises sont
1101
Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable
1102
d'effectuer une résolution de nom récursive en partant des serveurs DNS racine,
1103
mais transmet de telles requêtes à un serveur DNS amont capable de telles
1104
recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI.
1105
Par défaut, Dnsmasq lis
1107
pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette
1108
information est en général stockée à cet endroit. A moins que l'option
1112
vérifie la date de modification du fichier
1116
est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs
1117
DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces
1118
protocoles fournissent cette information.
1119
L'absence du fichier
1121
ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant
1122
qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement
1123
pour voir si un fichier
1125
est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf.
1126
Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés :
1127
Dnsmasq peut alors être configuré pour lire à la fois
1128
.I /etc/ppp/resolv.conf
1130
.I /etc/dhcpc/resolv.conf
1131
et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de
1132
passer automatiquement de serveurs DNS à d'autres.
1134
Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou
1135
dans un fichier de configuration. Ces spécifications de serveurs peuvent
1136
éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel
1137
serveur utiliser pour trouver les noms d'un domaine donné.
1139
Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine
1140
sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier
1142
afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite,
1143
spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq
1146
ou alors en mettant leurs adresses dans un autre fichier, par exemple
1147
.I /etc/resolv.dnsmasq
1148
et en lançant Dnsmasq avec l'option
1149
.B \-r /etc/resolv.dnsmasq.
1150
Cette deuxième technique permet la mise-à-jour dynamique des addresses de
1151
serveurs DNS amont par le biais de PPP ou DHCP.
1153
Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le
1154
serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que
1155
les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une
1156
requête au serveur DNS amont retournerait une adresse différente. Il y a une
1157
exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom
1158
présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira
1159
l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée
1160
correspondant au CNAME dans /etc/hosts.
1163
les identifiants de réseau fonctionnent comme suit : Dnsmasq associe à chaque
1164
requête DHCP un ensemble d'identifiants de réseau; un pour la plage d'adresse
1167
) utilisée pour allouer l'adresse, une pour chaque entrée
1169
associée et éventuellement une pour chaque classe de vendeur ou d'utilisateur
1170
fournie par le client DHCP dans sa requête. Les options DHCP (
1172
) ayant un identifiant de réseau seront utilisés de préférence à celles
1173
sans identifiants de réseau, pour peu que
1175
les labels correspondent.
1176
Le préfixe '#' sur un label est un indicateur de négation, ainsi
1177
.B --dhcp=option=#purple,3,1.2.3.4
1178
envoie l'option lorsque le label "purple" n'est pas dans la liste de labels
1179
valides pour l'hôte considéré.
1181
Si l'identifiant de réseau dans la plage d'adresses DHCP (
1183
) est préfixé par 'net:', alors sa signification change : au lieu d'associer un
1184
label à la plage spécifiée, cela indique un label de réseau devant être spécifié
1185
par le client DHCP. Ainsi, s'il y a plus d'une plage d'adresses DHCP sur un
1186
sous-réseau, et que l'une est préfixée par un identifiant de réseau (par exemple
1187
l'un spécifié dans une option de classe de vendeur), alors un hôte ayant
1188
l'identifiant de réseau en question positionné se verra allouer une adresse dans
1189
la plage d'adresses DHCP préfixée.
1191
Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur
1192
BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies,
1193
que ce soit par le biais de l'option
1199
soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option
1201
supprime la nécessité des associations statiques). Le paramètre
1202
"filename" (nom de fichier) de la requête BOOTP est comparé avec les
1203
identifiants de réseaux des options
1205
ainsi que le label "bootp", ce qui permet de contrôler les options retournées
1206
aux différentes classes d'hôtes.
1210
0 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est
1211
correctement terminé si le lancement en tâche de fond n'a pas été activé.
1213
1 - Un problème de configuration a été détecté.
1215
2 - Un problème est survenu avec un accès réseau (adresse déjà utilisée,
1216
tentative d'utiliser un port privilégié sans les permissions nécessaires).
1218
3 - Un problème est survenu avec une opération sur un système de fichier
1219
(fichier ou répertoire manquant, permissions).
1221
4 - Impossibilité d'allouer de la mémoire.
1225
11 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au
1226
processus "init" du script des bails. Le code de retour de Dnsmasq correspond
1227
au code de retour du script plus 10.
1230
Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général
1231
conservatrices et appropriées pour des utilisations embarquées sur des machines
1232
de type routeur ayant des processeurs lents et une mémoire limitée. Sur du
1233
matériel plus performant, il est possible d'augmenter les limites et de gérer
1234
plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et
1235
ultérieur : les versions précédentes ne montaient pas en charge aussi bien.
1238
Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients.
1239
Evidement, pour cela la valeur de
1241
doit être augmentée et la durée des baux ne doit pas être très courte (moins
1242
d'une heure). La valeur de
1243
.B --dns-forward-max
1244
peut-être augmentée : commencer par la rendre égale au nombre de clients et
1245
l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends
1246
également de la performance des serveurs amonts. La taille du cache DNS peut-
1247
être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut
1248
(150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des
1249
informations utiles pour paramétrer la taille de cache. Voir la section
1251
pour plus de détails.
1253
Le serveur TFTP intégré est capable de plusieurs transferts de fichiers
1254
simultanés : La limite absolue est liée au nombre maximal de descripteurs de
1255
fichiers alloué à un processus et à la capacité de l'appel système select() à
1256
gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par
1259
elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut
1260
noter que plus de transferts sont possible lorsque le même fichier est transmis
1261
au lieu d'avoir un fichier différent pour chaque transfert.
1264
Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile
1265
en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou
1266
0.0.0.0 par le biais du fichier
1268
ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq
1269
ayant été testé avec succès avec un million de noms. Cette taille de fichier
1270
nécessite un processeur à 1 Ghz et environ 60 Mo de RAM.
1273
.IR /etc/dnsmasq.conf
1275
.IR /usr/local/etc/dnsmasq.conf
1277
.IR /etc/resolv.conf
1283
.IR /var/lib/misc/dnsmasq.leases
1285
.IR /var/db/dnsmasq.leases
1287
.IR /var/run/dnsmasq.pid
1292
Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>.
1294
La traduction dans un français bancal a été commise par Gildas Le Nadan
1295
<3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger
1296
orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la