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