Annotation of embedaddon/dnsmasq/man/fr/dnsmasq.8, revision 1.1.1.3
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
1.1.1.3 ! misho 855: .B ra-only, slaac, ra-names, ra-stateless, off-link.
1.1 misho 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:
1.1.1.3 ! misho 891: .B off-link
! 892: indique à dnsmasq d'annoncer le préfixe sans le bit L (sur lien).
! 893:
1.1 misho 894: .TP
895: .B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,set:<label>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore]
896: Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine
897: possédant une adresse matérielle spécifique de se voir toujours allouée les
898: mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme
899: ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est
900: également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte,
901: auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se
902: réclamant de ce nom. Par exemple
903: .B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
904: spécifie à Dnsmasq de fournir à la machine d'adresse matérielle
905: 00:20:e0:3b:13:af le nom, et un bail de durée indéterminée.
906:
907: .B --dhcp-host=lap,192.168.0.199
908: spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap
909: l'adresse IP 192.168.0.199.
910:
911: Les adresses allouées de la sorte ne sont pas contraintes à une plage d'adresse
912: spécifiée par une option --dhcp-range, mais elles se trouver dans le même
913: sous-réseau qu'une plage dhcp-range valide. Pour les sous-réseaux qui n'ont pas
914: besoin d'adresses dynamiquement allouées, utiliser le mot-clef "static" dans la
915: déclaration de plage d'adresses dhcp-range.
916:
1.1.1.2 misho 917: Il est possible d'utiliser des identifiants clients (appellé "DUID client" dans
918: le monde IPv6) plutôt que des adresses matérielles pour identifier les hôtes,
919: en préfixant ceux-ci par 'id:'. Ainsi,
1.1 misho 920: .B --dhcp-host=id:01:02:03:04,.....
921: réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de
922: spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme
923: ceci :
924: .B --dhcp-host=id:identifiantclientsousformedechaine,.....
925:
926: Un seul
927: .B dhcp-host
928: peut contenir une adresse IPv4, une adresse IPv6, ou les deux en même temps.
929: Les adresses IPv6 doivent-être mises entre crochets comme suit :
930: .B --dhcp-host=laptop,[1234::56]
931: Les adresses IPv6 peuvent ne contenir que la partie identifiant de client :
932: .B --dhcp-host=laptop,[::56]
933: Dans ce cas, lorsque des plages dhcp sont définies automatiquement par le biais
934: de constructeurs, la partie réseau correspondante est rajoutée à l'adresse.
935:
1.1.1.2 misho 936: A noter que pour le DHCP IPv6, l'adresse matérielle n'est pas toujours
937: disponible, bien que ce soit toujours le cas pour des clients directement
938: connectés (sur le même domaine de broadcast) ou pour des clients utilisant
939: des relais DHCP qui supportent la RFC 6939.
940:
941: En DHCPv4, l'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser
1.1 misho 942: que l'adresse matérielle". Cela est utile lorsqu'un client présente un
943: identifiant client mais pas les autres.
944:
945: Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un
946: bail DHCP mais seulement si une option
947: .B --dhcp-host
948: spécifiant le nom existe par ailleurs. Seul un nom d'hôte peut-être donné dans
949: une option
950: .B dhcp-host
951: , mais les alias sont possibles au travers de l'utilisation des CNAMEs. (Voir
952: .B --cname
953: ).
954: Le mot clef "ignore" ("ignorer") indique
955: à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être
956: spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte.
957: Par exemple
958: .B --dhcp-host=00:20:e0:3b:13:af,ignore
959: Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par
960: certaines machines.
961:
962: Le paramètre set:<identifiant réseau> permet de définir un
963: identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir
964: à sélectionner des options DHCP juste pour cet hôte. Plus d'un label peut être
965: fourni dans une directive dhcp-host (et dans cette seule directive). Lorsqu'une
966: machine coïncide avec une directive dhcp-host (ou une impliquée par
967: /etc/ethers), alors le label réservé "known" ("connu") est associé. Cela permet à
968: Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue
969: par le biais de
970: .B --dhcp-ignore=tag:!known.
971:
972: Les adresses ethernet (mais pas les identifiants clients) peuvent être définies
973: avec des octets joker, ainsi par exemple
974: .B --dhcp-host=00:20:e0:3b:13:*,ignore
975: demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter
976: que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets
977: lorsque spécifié en option de ligne de commande, mais pas dans le fichier de
978: configuration.
979:
980: Les adresses matérielles coïncident en principe avec n'importe
981: quel type de réseau (ARP), mais il est possible de les limiter à un seul type
982: ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi
983: .B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
984: coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type
985: ARP pour une adresse Token-Ring est 6.
986:
987: Un cas spécial, pour IPv4, correspond à l'inclusion d'une ou plusieurs adresses
988: matérielles, c-à-d :
989: .B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2.
990: Cela permet à une adresse IP d'être associé à plusieurs adresses
991: matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP
992: attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste
993: demande un bail. Ceci est une opération dangereuse qui ne fonctionnera
994: de manière fiable que si une adresse matérielle est active à un moment
995: donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile,
996: par exemple, pour allouer une adresse IP stable à un laptop qui
997: aurait à la fois une connexion filaire et sans-fil.
998: .TP
999: .B --dhcp-hostsfile=<chemin>
1000: Lis les informations d'hôtes DHCP dans le fichier spécifié. Si l'argument est
1001: un chemin vers un répertoire, lis tous les fichiers de ce répertoire. Le
1002: fichier contient des informations à raison d'un hôte par ligne. Le format
1003: d'une ligne est la même que le texte fourni à la droite sur caractère "=" dans
1004: l'option
1005: .B --dhcp-host.
1006: L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est
1007: que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera
1008: relu lorsque Dnsmasq reçoit un signal SIGHUP.
1009: .TP
1010: .B --dhcp-optsfile=<chemin>
1011: Lis les informations relatives aux options DHCP dans le fichier spécifié. Si
1012: l'argument est un chemin vers un répertoire, lis tous les fichiers de ce
1013: répertoire. L'intérêt d'utiliser cette option est le même que pour
1014: --dhcp-hostsfile : le fichier spécifié sera rechargé à la réception par
1015: dnsmasq d'un signal SIGHUP. Notez qu'il est possible d'encoder l'information
1016: via
1017: .B --dhcp-boot
1018: en utilisant les noms optionnels bootfile-name, server-ip-address et
1019: tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME
1020: .TP
1021: .B \-Z, --read-ethers
1022: Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de
1023: /etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par
1024: une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu
1025: par Dnsmasq, ces lignes ont exactement le même effet que l'option
1026: .B --dhcp-host
1027: contenant les mêmes informations. /etc/ethers est relu à la réception d'un
1028: signal SIGHUP par Dnsmasq. Les adresses IPv6 ne sont PAS lues dans /etc/ethers.
1029: .TP
1030: .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>]]
1031: Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par
1032: défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le
1033: masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte
1034: sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut
1035: prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq.
1036: (Des règles équivalentes s'appliquent en IPv6). Si une option de nom de domaine
1037: a été définie, son contenu est transmis. Cette option de configuration permet
1038: de changer toutes ces valeurs par défaut, ou de spécifier d'autres options.
1039: L'option DHCP à transmettre peut être fournie sous forme d'un nombre décimal
1040: ou sous la forme "option:<nom d'option>". Les nombres correspondants aux options
1041: sont définis dans la RFC2132 et suivants. Les noms d'options connus par Dnsmasq
1042: peuvent être obtenus via "Dnsmasq --help dhcp". Par exemple, pour définir la
1043: route par défaut à 192.168.4.4, il est possible de faire
1044: .B --dhcp-option=3,192.168.4.4
1045: ou
1046: .B --dhcp-option = option:router, 192.168.4.4
1047: ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut
1048: faire
1049: .B --dhcp-option = 42,192.168.0.4
1050: ou
1051: .B --dhcp-option = option:ntp-server, 192.168.0.4
1052: L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle
1053: tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la
1054: forme de 4 chiffres séparés par des points, un nombre décimal, une liste de
1055: caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères.
1056: Si des labels optionnels sont fournis, alors cette option n'est envoyée
1057: qu'aux réseaux dont tous les labels coïncident avec ceux de la requête.
1058:
1059: Un traitement spécial est effectué sur les chaînes de caractères fournies pour
1060: l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les
1061: adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments
1062: de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous
1063: forme de 4 chiffres séparés par des points suivies par une barre montante "/",
1064: puis une taille de masque sont encodés conforméments à la RFC 3442.
1065:
1066: Les options IPv6 sont fournies en utilisant le mot-clef
1067: .B option6:
1068: suivi par le numéro d'option ou le nom d'option. L'espace de nommage des options
1069: IPv6 est disjint de l'espace de nommage des options IPv4. Les adresses IPv6
1070: en option doivent être entourées de crochets, comme par exemple :
1071: .B --dhcp-option=option6:ntp-server,[1234::56]
1072:
1073: Attention : aucun test n'étant fait pour vérifier que des données d'un type
1074: adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible
1075: de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation
1076: incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq
1077: doit déterminer la taille des données. Cela est fait en examinant le numéro de
1078: l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une
1079: lettre comme suit :
1080: b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des
1081: options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles
1082: Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options
1083: consistant uniquement de points et de décimaux sont interprétées par Dnsmasq
1084: comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme
1085: de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par
1086: exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme
1087: d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire
1088: comme suit :
1089: .B --dhcp-option=66,"1.2.3.4"
1090:
1091: Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées
1092: (pour IPv4 seulement) en utilisant
1093: .B --dhcp-option
1094: : par exemple
1095: .B --dhcp-option=vendor:PXEClient,1,0.0.0.0
1096: envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à
1097: n'importe quel client dont la classe de vendeur correspond à "PXEClient". La
1098: correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de
1099: caractères (voir
1100: .B --dhcp-vendorclass
1101: pour plus de détails). Si une option de
1102: classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé
1103: pour sélectionner les options encapsulées, de préférence à toute option envoyée
1104: par le client. Il est possible d'omettre complètement une classe de vendeur :
1105: .B --dhcp-option=vendor:,1,0.0.0.0
1106: Dans ce cas l'option encapsulée est toujours envoyée.
1107:
1108: En IPv4, les options peuvent-être encapsulées au sein d'autres options :
1109: par exemple
1110: .B --dhcp-option=encap:175, 190, "iscsi-client0"
1111: enverra l'option 175, au sein de laquelle se trouve l'option 190.
1112: Plusieurs options encapsulées avec le même numéro d'option seront correctement
1113: combinées au sein d'une seule option encapsulée. Il n'est pas possible de
1114: spécifier encap: et vendor: au sein d'une même option dhcp.
1115:
1116: La dernière variante pour les options encapsulées est "l'option de Vendeur
1117: identifiant le vendeur" ("Vendor-Identifying Vendor Options") telle que
1118: décrite dans le RFC3925. Celles-ci sont spécifiées comme suit :
1119: .B --dhcp-option=vi-encap:2, 10, "text"
1120: Le numéro dans la section vi-encap: est le numéro IANA de l'entreprise servant
1121: à identifier cette option. Cette forme d'encapsulation est également supportée
1122: en IPv6.
1123:
1124: L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans
1125: une option encapsulée.
1126: .TP
1127: .B --dhcp-option-force=[tag:<label>,[tag:<label>]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]]
1128: Cela fonctionne exactement de la même façon que
1129: .B --dhcp-option
1130: sauf que cette option sera toujours envoyée, même si le client ne la demande pas
1131: dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors
1132: de la fourniture d'options à PXELinux.
1133: .TP
1134: .B --dhcp-no-override
1135: (IPv4 seulement) Désactive la réutilisation des champs DHCP nom de serveur et
1136: nom de fichier comme espace supplémentaire pour les options. Si cela est
1137: possible, dnsmasq déplace les informations sur le serveur de démarrage
1138: et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs
1139: dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est
1140: alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans
1141: quelques rares cas, perturber des clients vieux ou défectueux. Cette
1142: option force le comportement à l'utilisation des valeurs "simples et sûres"
1143: afin d'éviter des problèmes dans de tels cas.
1144: .TP
1.1.1.2 misho 1145: .B --dhcp-relay=<adresse locale>,<adresse de serveur>[,<interface]
1146: Configure dnsmasq en temps que relais DHCP. L'adresse locale est une
1147: adresse allouée à l'une interface de la machine sur laquelle tourne dnsmasq.
1148: Toutes les requêtes DHCP arrivant sur cette interface seront relayées au
1149: serveur DHCP distant correspondant à l'adresse de serveur indiquée. Il est
1150: possible de relayer depuis une unique adresse locale vers différents serveurs
1151: distant en spécifiant plusieurs fois l'option dhcp-relay avec la même adresse
1152: locale et différentes adresses de serveur. L'adresse de serveur doit-être
1153: sous forme numérique. Dans le cas de DHCPv6, l'adresse de serveur peut-être
1154: l'adresse de multicast ff05::1:3 correspondant à tous les serveurs DHCP. Dans
1155: ce cas, l'interface doit-étre spécifiée et ne peut comporter de caractère
1156: joker. Elle sera utilisée pour indiquer l'interface à partir de laquelle le
1157: multicast pourra atteindre le serveur DHCP.
1158:
1159: Le contrôle d'accès pour les clients DHCP suivent les mêmes règles que pour
1160: les serveurs DHCP : voir --interface, --except-interface, etc. Le nom
1161: d'interface optionel dans l'option dhcp-relay comporte une autre fonction :
1162: il contrôle l'interface sur laquelle la réponse du serveur sera acceptée. Cela
1163: sert par exemple dans des configurations à 3 interfaces : une à partir de
1164: laquelle les requêtes sont relayées, une seconde permettant de se connecter à
1165: un serveur DHCP, et une troisième reliée à un réseau non-sécurisé tel
1166: qu'internet. Cela permet d'éviter l'arrivée de requêtes usurpées via cette
1167: troisième interface.
1168:
1169: Il est permis de configurer dnsmasq pour fonctionner comme serveur DHCP sur
1170: certaines interfaces et en temps que relais sur d'autres. Cependant, même s'il
1171: est possible de configurer dnsmasq de telle manière qu'il soit à la fois
1172: serveur et relais pour une même interface, cela n'est pas supporté et la
1173: fonction de relais prendra le dessus.
1174:
1175: Le relais DHCPv4 et le relais DHCPv6 sont tous les deux supportés, mais il
1176: n'est pas possible de relayer des requêtes DHCPv4 à un serveur DHCPv6 et
1177: vice-versa.
1178: .TP
1.1 misho 1179: .B \-U, --dhcp-vendorclass=set:<label>,[enterprise:<numéro IANA d'enterprise>,]<classe de vendeur>
1180:
1181: Associe une chaîne de classe de vendeur à un label. La plupart
1182: des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui
1183: représente, d'une certaine façon, le type d'hôte. Cette option associe des
1184: classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être
1185: fournie de manière sélective aux différentes classes d'hôtes. Par exemple,
1186: .B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect
1187: ou
1188: .B dhcp-vendorclass=printers,Hewlett-Packard JetDirect
1189: permet de n'allouer des options qu'aux imprimantes HP de la manière suivante :
1190: .B --dhcp-option=tag:printers,3,192.168.4.4
1191: La chaîne de caractères de la classe de vendeur founie en argument est cherchée
1192: en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie
1193: par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne
1194: de caractères ("fuzzy matching"). Le préfixe set: est optionnel mais autorisé
1195: afin de conserver une certaine homogénéité.
1196:
1197: Notez qu'en IPv6 (et seulement en IPv6), les noms de classes de vendeurs
1198: sont dans un espace de nom associé au numéro attribué à l'entreprise par
1199: l'IANA. Ce numéro est fourni par le biais du mot-clef enterprise: et seules
1200: les classes de vendeurs associées au numéro spécifié seront cherchées.
1201: .TP
1202: .B \-j, --dhcp-userclass=set:<label>,<classe utilisateur>
1203: Associe une chaîne de classe d'utilisateur à un label (effectue la
1204: recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart
1205: des clients permettent de configurer une "classe d'utilisateur". Cette option
1206: associe une classe d'utilisateur à un label, de telle manière qu'il soit
1207: possible de fournir des options DHCP spécifiques à différentes classes d'hôtes.
1208: Il est possible, par exemple, d'utiliser ceci pour définir un serveur
1209: d'impression différent pour les hôtes de la classe "comptes" et ceux de la
1210: classe "ingénierie".
1211: .TP
1212: .B \-4, --dhcp-mac=set:<label>,<adresse MAC>
1.1.1.2 misho 1213: Associe une adresse matérielle (MAC) à un label. L'adresse
1.1 misho 1214: matérielle peut inclure des jokers. Par exemple
1215: .B --dhcp-mac=set:3com,01:34:23:*:*:*
1216: permet de définir le label "3com" pour n'importe quel hôte dont l'adresse
1217: matérielle coïncide avec les critères définis.
1218: .TP
1219: .B --dhcp-circuitid=set:<label>,<identifiant de circuit>, --dhcp-remoteid=set:<label>,<identifiant distant>
1220: Associe des options de relais DHCP issus de la RFC3046 à des labels.
1221: Cette information peut-être fournie par des relais DHCP. L'identifiant
1222: de circuit ou l'identifiant distant est normalement fourni sous la forme d'une
1223: chaîne de valeurs hexadécimales séparées par des ":", mais il est également
1224: possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si
1225: l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le
1226: relais DHCP, alors le label est apposé.
1227: .B dhcp-remoteid
1228: est supporté en IPv6 (mais non dhcp-circuitid).
1229: .TP
1230: .B --dhcp-subscrid=set:<label>,<identifiant d'abonné>
1231: (IPv4 et IPv6) Associe des options de relais DHCP issues de la RFC3993 à des
1232: labels.
1233: .TP
1234: .B --dhcp-proxy[=<adresse ip>]......
1235: (IPv4 seulement) Un agent relai DHCP normal est uniquement utilisé pour faire
1236: suivre les éléments initiaux de l'interaction avec le serveur DHCP. Une fois
1237: que le client est configuré, il communique directement avec le serveur. Cela
1238: n'est pas souhaitable si le relais rajoute des informations supplémentaires
1239: aux paquets DHCP, telles que celles utilisées dans
1240: .B dhcp-circuitid
1241: et
1242: .B dhcp-remoteid.
1243: Une implémentation complète de relai peut utiliser l'option serverid-override
1244: de la RFC 5107 afin de forcer le serveur DHCP à utiliser le relai en temps que
1245: proxy complet, de sorte que tous les paquets passent par le relai. Cette option
1246: permet d'obtenir le même résultat pour des relais ne supportant pas la RFC
1247: 5107. Fournie seule, elle manipule la valeur de server-id pour toutes les
1248: interactions via des relais. Si une liste d'adresses IP est donnée, seules les
1249: interactions avec les relais dont l'adresse est dans la liste seront affectées.
1250: .TP
1251: .B --dhcp-match=set:<label>,<numéro d'option>|option:<nom d'option>|vi-encap:<entreprise>[,<valeur>]
1252: Si aucune valeur n'est spécifiée, associe le label si le client
1253: envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est
1254: fournie, positionne le label seulement dans le cas où l'option est fournie et
1255: correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel
1256: cas le début de l'option doit correspondre (en respectant les jokers). La
1257: valeur peut aussi être de la même forme que dans
1258: .B dhcp-option
1259: , auquel cas l'option est traitée comme un tableau de valeur, et un des
1260: éléments doit correspondre, ainsi
1261:
1262: --dhcp-match=set:efi-ia32,option:client-arch,6
1263:
1264: spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste
1265: d'architectures envoyé par le client au sein de l'option 93. (se réferer
1266: au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères,
1267: celle-ci est recherchée (correspondance en temps que sous-chaîne).
1268:
1269: Pour la forme particulière vi-encap:<numéro d'entreprise>, la comparaison se
1270: fait avec les classes de vendeur "identifiant de vendeur" ("vendor-identifying
1271: vendor classes") pour l'entreprise dont le numéro est fourni en option.
1272: Veuillez vous réferer à la RFC 3925 pour plus de détail.
1273: .TP
1274: .B --tag-if=set:<label>[,set:<label>[,tag:<label>[,tag:<label>]]]
1275: Effectue une opération booléenne sur les labels. Si tous les labels
1276: apparaissant dans la liste tag:<label> sont positionnés, alors tous les
1277: la de la liste "set:<labels>" sont positionnés (ou supprimés, dans le cas
1278: où "tag:!<label>" utilisé).
1279: Si aucun tag:<label> n'est spécifié, alors tous les labels fournis par
1280: set:<label> sont positionnés.
1281: N'importe quel nombre de set: ou tag: peuvent être fournis, et l'ordre est sans
1282: importance.
1283: Les lignes tag-if sont executées dans l'ordre, ce qui fait que si un label dans
1284: tag:<label> est un label positionné par une rêgle
1285: .B tag-if,
1286: la ligne qui positionne le label doit précéder celle qui le teste.
1287: .TP
1288: .B \-J, --dhcp-ignore=tag:<label>[,tag:<label>]
1289: Lorsque tous les labels fournis dans l'option sont présents, ignorer l'hôte et
1290: ne pas donner de bail DHCP.
1291: .TP
1292: .B --dhcp-ignore-names[=tag:<label>[,tag:<label>]]
1293: Lorsque tous les labels fournis dans l'option sont présents, ignorer le
1294: nom de machine fourni par l'hôte. Il est à noter que, à la différence de
1295: l'option "dhcp-ignore", il est permis de ne pas fournir de label.
1296: Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours
1297: ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la
1298: configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts
1299: et /etc/ethers.
1300: .TP
1301: .B --dhcp-generate-names=tag:<label>[,tag:<label>]
1302: (IPv4 seulement) Générer un nom pour les clients DHCP qui autrement n'en aurait
1303: pas, en utilisant l'adresse MAC sous sa forme hexadécimale, séparée par des
1304: tirets.
1305: Noter que si un hôte fourni un nom, celui-ci sera utilisé de préférence au nom
1306: autogénéré, à moins que
1307: .B --dhcp-ignore-names
1308: ne soit positionné.
1309: .TP
1310: .B --dhcp-broadcast=[tag:<label>[,tag:<label>]]
1311: (IPv4 seulement) Lorsque tous les labels fournis dans l'option sont présents,
1312: toujours utiliser le broadcast pour communiquer avec l'hôte lorsque celui-ci
1313: n'est pas configuré. Il est possible de ne spécifier aucun label, auquel cas
1314: cette option s'applique inconditionnellement. La plupart des clients DHCP
1315: nécessitant une réponse par le biais d'un broadcast activent une option dans
1316: leur requête, ce qui fait que cela se fait automatiquement, mais ce n'est pas
1317: le cas de certains vieux clients BOOTP.
1318: .TP
1319: .B \-M, --dhcp-boot=[tag:<label>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>|<nom du serveur tftp>]]
1320: (IPv4 seulement) Spécifie les options BOOTP devant être retournées par le
1321: serveur DHCP. Le nom de serveur ainsi que l'adresse sont optionnels : s'ils
1322: ne sont pas fournis, le nom est laissé vide et l'adresse fournie est celle de
1323: la machine sur laquelle s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir
1324: .B --enable-tftp
1325: ), alors seul un nom de fichier est requis ici pour permettre un démarrage par
1326: le réseau.
1327: Si d'éventuels labels sont fournis, ils doivent coïncider avec
1328: ceux du client pour que cet élement de configuration lui soit envoyé.
1329: Une adresse de serveur TFTP peut être spécifiée à la place de l'adresse IP,
1330: sous la forme d'un nom de domaine qui sera cherché dans le fichier /etc/hosts.
1331: Ce nom peut être associé dans /etc/hosts avec plusieurs adresses IP, auquel cas
1332: celles-ci seront utilisées tour à tour (algorithme round-robin).
1333: Cela peut-être utiliser pour équilibrer la charge tftp sur plusieurs serveurs.
1334: .TP
1335: .B --dhcp-sequential-ip
1336: Dnsmasq est conçu pour choisir l'adresse IP des clients DHCP en utilisant
1337: un hachage de l'adresse MAC du client. Cela permet en général à l'adresse
1338: IP du client de rester stable au fil du temps, même lorsque le client laisse
1339: expirer son bail DHCP de temps en temps. Dans ce mode de fonctionnement par
1340: défaut, les adresses IP sont distribuées de façon pseudo-aléatoire dans la
1341: totalité de la plage d'adresses utilisable. Il existe des circonstances (par
1342: exemples pour du déploiement de serveur) où il est plus pratique d'allouer les
1343: adresses IP de manière séquentielle, en commençant par la plus petite adresse
1344: disponible, et c'est ce mode de fonctionnement qui est permis par cette option.
1345: Veuillez noter que dans ce mode séquentiel, les clients qui laissent expirer
1346: leur bail ont beaucoup plus de chance de voir leur adresse IP changer, aussi
1347: cette option ne devrait pas être utilisée dans un cas général.
1348: .TP
1349: .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>]
1350: La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple
1351: obtention d'une adresse IP, le téléchargement du fichier spécifié dans
1352: .B dhcp-boot
1353: et son exécution. Cependant, le système PXE est capable de fonctions bien plus
1354: complexes pour peu que le serveur DHCP soit adapté.
1355:
1356: Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage
1357: PXE. <CSA> est le type du système client. Seuls des types de services valides
1358: apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha,
1359: Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI;
1360: D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le
1361: paramètre après le texte correspondant à l'entrée dans le menu peut être un nom
1362: de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au
1363: client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur
1364: (l'option
1365: .B enable-tftp
1366: doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP
1367: si une adresse ou un nom de serveur est fournie.
1368: Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE
1369: et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière
1370: est fournir pour le type de démarrage, en remplacement du nom de fichier, le
1371: client PXE devra chercher un service de démarrage de ce type sur le réseau.
1372: Cette recherche peut être faite via broadcast ou directement auprès d'un
1373: serveur si son adresse IP ou son nom sont fournis dans l'option.
1374: Si aucun nom de fichier n'est donné ni aucune valeur de type de service de
1375: démarrage n'est fournie (ou qu'une valeur de 0 est donnée pour le type de
1376: service), alors l'entrée de menu provoque l'interruption du démarrage par
1377: le réseau et la poursuite du démarrage sur un média local. L'adresse de serveur
1378: peut être donnée sous la forme de nom de domaine qui est recherché dans
1379: /etc/hosts. Ce nom peut-être associé à plusieurs adresses IP, qui dans ce cas
1380: sont utilisées à tour de rôle (en "round-robin").
1381: .TP
1382: .B --pxe-prompt=[tag:<label>,]<invite>[,<délai>]
1383: Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un
1384: délai est fourni, alors la première entrée du menu de démarrage sera
1385: automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première
1386: entrée disponible sera exécutée immédiatement. Si
1387: .B pxe-prompt
1388: est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs
1389: entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une
1390: seule entrée. Voir
1391: .B pxe-service
1392: pour plus de détails sur les entrées de menu.
1393:
1394: Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP
1395: sur le réseau est responsable de l'allocation des adresses IP, auquel cas
1396: Dnsmasq se contente de fournir les informations données dans les options
1397: .B pxe-prompt
1398: et
1399: .B pxe-service
1400: pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le
1401: mot-clef
1402: .B proxy
1403: dans
1404: .B dhcp-range.
1405: .TP
1406: .B \-X, --dhcp-lease-max=<nombre>
1407: Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 1000. Cette
1408: limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes
1409: créant des milliers de baux et utilisant beaucoup de mémoire dans le processus
1410: Dnsmasq.
1411: .TP
1412: .B \-K, --dhcp-authoritative
1413: Doit être spécifié lorsque dnsmasq est réellement le seul serveur DHCP
1414: sur le réseau. Pour DHCPv4, cela change le comportement par défaut qui est
1415: celui d'un strict respect des RFC, afin que les requêtes DHCP pour des baux
1416: inconnus par des hôtes inconnus ne soient pas ignorées. Cela permet à de
1417: nouveaux hôtes d'obtenir des baux sans tenir compte de fastidieuses
1418: temporisations ("timeout"). Cela permet également à Dnsmasq de reconstruire
1419: sa base de données contenant les baux sans que les clients n'aient besoin de
1420: redemander un bail, si celle-ci est perdue.
1421: Dans le cas de DHCPv6, cela positionne la priorité des réponses à 255 (le
1422: maximum) au lieu de 0 (le minimum).
1423: .TP
1424: .B --dhcp-alternate-port[=<port serveur>[,<port client>]]
1425: (IPv4 seulement) Change les ports utilisés par défaut pour le DHCP. Si cette
1426: option est donnée seule sans argument, alors change les ports utilisés pour le
1427: DHCP de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce
1428: numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le
1429: port client. Enfin, en fournissant deux numéros de ports, il est possible de
1430: spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP.
1431: .TP
1432: .B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]]
1433: (IPv4 seulement) Permet l'allocation dynamique d'adresses IP à des clients BOOTP.
1434: Utiliser cette option avec précaution, une adresse allouée à un client BOOTP
1435: étant perpétuelle, et de fait n'est plus disponibles pour d'autres hôtes. Si
1436: aucun argument n'est donné, alors cette option permet une allocation dynamique
1437: dans tous les cas. Si des arguments sont spécifiés, alors l'allocation ne se
1438: fait que lorsque tous les identifiants coïncident. Il est possible de répeter
1439: cette option avec plusieurs jeux d'arguments.
1440: .TP
1441: .B \-5, --no-ping
1442: (IPv4 seulement) Par défaut, le serveur DHCP tente de s'assurer qu'une adresse
1443: n'est pas utilisée avant de l'allouer à un hôte. Cela est fait en envoyant une
1444: requête ICMP de type "echo request" (aussi connue sous le nom de "ping") à
1445: l'adresse en question. Si le serveur obtient une réponse, alors l'adresse doit
1446: déjà être utilisée et une autre est essayée. Cette option permet de supprimer
1447: cette vérification. A utiliser avec précaution.
1448: .TP
1449: .B --log-dhcp
1450: Traces additionnelles pour le service DHCP : enregistre toutes les options
1451: envoyées aux clients DHCP et les labels utilisés pour la
1452: détermination de celles-ci.
1453: .TP
1.1.1.2 misho 1454: .B --quiet-dhcp, --quiet-dhcp6, --quiet-ra
1455: Supprime les logs des opérations de routine des protocoles concernés. Les
1456: erreurs et les problèmes seront toujours enregistrés. L'option --log-dhcp
1457: prends le pas sur --quiet-dhcp et quiet-dhcp6.
1458: .TP
1.1 misho 1459: .B \-l, --dhcp-leasefile=<chemin de fichier>
1460: Utilise le fichier dont le chemin est fourni pour stocker les informations de
1461: baux DHCP.
1462: .TP
1463: .B --dhcp-duid=<ID d'entreprise>,<uid>
1464: (IPv6 seulement) Spécifie le numéro d'UID de serveur persistant que le serveur
1465: DHCPv6 doit utiliser. Cette option n'est normalement pas requise, Dnsmasq
1466: créant un DUID automatiquement lorsque cela est nécessaire. Lorsque cette
1467: option est positionnée, elle fournit à Dnsmasq les données nécessaires à la
1468: création d'un DUID de type DUID-EN. Veuillez noter qu'une fois créé, le DUID
1469: est stocké dans la base des baux, aussi changer entre un DUID créé
1470: automatiquement et un DUID-EN et vice-versa impose de réinitialiser la base de
1471: baux. Le numéro d'ID d'entreprise est assigné par l'IANA, et l'uid est une
1472: chaine hexadécimale unique à chaque serveur.
1473: .TP
1474: .B \-6 --dhcp-script=<chemin de fichier>
1475: Lorsqu'un bail DHCP est créé, qu'un ancien est supprimé, ou qu'un transfert
1476: TFTP est terminé, le fichier dont le
1477: chemin est spécifié est exécuté. Le <chemin de fichier> doit être un chemin
1478: absolu, aucune recherche n'est effectuée via la variable d'environnement PATH.
1479: Les arguments fournis à celui-ci sont soit
1480: "add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse
1481: MAC de l'hôte (ou le DUID pour IPv6) puis l'adresse IP et le nom d'hôte si
1482: celui-ci est connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a
1483: été supprimé, "old" notifie que le bail existait au lancement de Dnsmasq, ou un
1484: changement d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas
1485: où leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant
1486: d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est
1487: nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab"
1488: pour du token ring. Le processus est exécuté en temps que super-utilisateur
1489: (si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré
1490: pour changer son UID pour celle d'un utilisateur non-privilégié.
1491:
1492: L'environnement est hérité de celui de l'invocation du processus Dnsmasq,
1493: auquel se rajoute quelques unes ou toutes les variables décrites ci-dessous :
1494:
1495: Pour IPv4 et IPv6 :
1496:
1497: DNSMASQ_DOMAIN si le nom de domaine pleinement qualifié de l'hôte est connu, la
1498: part relative au domaine y est stockée. (Notez que le nom d'hôte transmis comme
1499: argument au script n'est jamais pleinement qualifié).
1500:
1501: Si le client fournit un nom d'hôte, DNSMASQ_SUPPLIED_HOSTNAME.
1502:
1503: Si le client fournit des classes d'utilisateur, DNSMASQ_USER_CLASS0 à
1504: DNSMASQ_USER_CLASSn.
1505:
1506: Si Dnsmasq a été compilé avec l'option HAVE_BROKEN_RTC ("horloge RTC
1507: défectueuse"), alors la durée du bail (en secondes) est stockée dans la
1508: variable DNSMASQ_LEASE_LENGTH, sinon la date d'expiration du bail est toujours
1509: stocké dans la variable d'environnement DNSMASQ_LEASE_EXPIRES. Le nombre de
1510: secondes avant expiration est toujours stocké dans DNSMASQ_TIME_REMAINING.
1511:
1512: Si un bail était associé à un nom d'hôte et
1513: que celui-ci est supprimé, un évênement de type "old" est généré avec le
1514: nouveau statut du bail, c-à-d sans nom d'hôte, et le nom initial est fourni
1515: dans la variable d'environnement DNSMASQ_OLD_HOSTNAME.
1516:
1517: La variable DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la
1518: requête est arrivée; ceci n'est pas renseigné dans le cas des actions "old"
1519: ayant lieu après un redémarrage de dnsmasq.
1520:
1521: La variable DNSMASQ_RELAY_ADDRESS est renseignée si le client a utilisé un
1522: relai DHCP pour contacter Dnsmasq, si l'adresse IP du relai est connue.
1523:
1524: DNSMASQ_TAGS contient tous les labels fournis pendant la transaction DHCP,
1525: séparés par des espaces.
1526:
1527: DNSMASQ_LOG_DHCP est positionné si
1528: .B --log-dhcp
1529: est activé.
1530:
1531: Pour IPv4 seulement :
1532:
1533: DNSMASQ_CLIENT_ID, si l'hôte a fourni un identifiant de client.
1534:
1535: DNSMASQ_CIRCUIT_ID, DNSMASQ_SUBSCRIBER_ID, DNSMASQ_REMOTE_ID si un relai DHCP a
1536: rajouté l'une de ces options.
1537:
1538: Si le client fournit une information de classe de vendeur, DNSMASQ_VENDOR_CLASS.
1539:
1540: Pour IPv6 seulement :
1541:
1542: Si le client fournit une classe de vendeur (vendor-class), positionne
1543: DNSMASQ_VENDOR_CLASS_ID avec comme contenu le numéro IANA de l'entreprise pour
1544: la classe, et DNSMASQ_VENDOR_CLASS0..DNSMASQ_VENDOR_CLASSn pour les données.
1545:
1546: DNSMASQ_SERVER_DUID contient le DUID du serveur : cette valeur est la même
1547: pour chaque appel au script.
1548:
1549: DNSMASQ_IAID contenant l'IAID pour le bail. Si le bail est une allocation
1550: temporaire, cela est préfixé par le caractère 'T'.
1551:
1.1.1.2 misho 1552: DNSMASQ_MAC contient l'adresse MAC du client, si celle-ci est connue.
1553:
1.1 misho 1554: A noter que le nom d'hôte fourni, la classe de vendeur ou les données de classe
1555: d'utilisateur sont uniquement fournies pour les actions "add" ou l'action "old"
1556: lorsqu'un hôte reprend un bail existant, puisque ces informations ne sont pas
1557: conservées dans la base de baux de dnsmasq.
1558:
1559: Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui
1560: sont ouverts sur /dev/null (sauf en mode déverminage).
1561:
1562: Le script n'est pas lancé de manière concurrente : au plus une instance du
1563: script est executée à la fois (dnsmasq attends qu'une instance de script se
1564: termine avant de lancer la suivante). Les changements dans la base des baux
1565: nécessitant le lancement du script sont placé en attente dans une queue jusqu'à
1566: terminaison d'une instance du script en cours. Si cette mise en queue fait que
1567: plusieurs changements d'états apparaissent pour un bail donné avant que le
1568: script puisse être lancé, alors les états les plus anciens sont supprimés et
1569: lorsque le script sera finalement lancé, ce sera avec l'état courant du bail.
1570:
1571: Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants
1572: dans le fichier des baux. Le script sera lancé avec l'action "del" pour les
1573: baux expirés, et "old" pour les autres. Lorsque Dnsmasq reçoit un signal HUP,
1574: le script sera invoqué avec une action "old" pour tous les baux existants.
1575:
1576: Il existe deux autres actions pouvant apparaître comme argument au script :
1577: "init" et "tftp". D'autres sont susceptibles d'être rajoutées dans le futur,
1578: aussi les scripts devraient-être écrits de sorte à ignorer les actions
1579: inconnues. "init" est décrite ci-dessous dans
1580: .B --leasefile-ro.
1581: L'action "tftp" est invoquée lorsqu'un transfert de fichier TFTP s'est
1582: terminé. Ses arguments sont la taille du fichier en octets, l'adresse à
1583: laquelle le fichier a été envoyé, ainsi que le chemin complet du fichier.
1584:
1585: .TP
1586: .B --dhcp-luascript=<chemin>
1587: Spécifie un script écrit en Lua, devant être exécuté lorsque des baux sont
1588: créés, détruits ou modifiés. Pour utiliser cette option, dnsmasq doit être
1589: compilé avec avec le support de Lua. L'interpréteur Lua est initialisé une
1590: seule fois, lorsque dnsmasq démarre, ce qui fait que les variables globales
1591: persistent entre les évênements liés aux baux. Le code Lua doit définir une
1592: fonction
1593: .B lease
1594: et peut fournir des fonctions
1595: .B init
1596: et
1597: .B shutdown
1598: qui sont appellées, sans arguments, lorsque dnsmasq démarre ou s'arrête.
1599: Il peut également fournir une fonction
1600: .B tftp.
1601:
1602: La fonction
1603: .B lease
1604: reçoit les informations détaillées dans
1605: .B --dhcp-script.
1606: Il reçoit deux arguments. Le premier spécifie l'action, qui est une chaîne de
1607: caractères contenant les valeurs "add" (ajout), "old" (réactivation d'un bail
1608: existant) ou "del" (suppression). Le deuxième est une table contenant des
1609: paires de valeurs de labels. Les labels correspondent pour l'essentiel aux
1610: valeurs d'environnement détaillées ci-dessus, ainsi le label "domain" (domaine)
1611: contient les mêmes données que la variable d'environnement DNSMASQ_DOMAIN. Il
1612: existe quelques labels supplémentaires contenant les données fournies comme
1613: arguments à
1614: .B --dhcp-script.
1615: Ces labels sont
1616: .B mac_address, ip_address
1617: (pour respectivement l'adresse MAC et l'adresse IP)
1618: et
1619: .B hostname
1620: (le nom d'hôte) dans le cas d'IPv4, et
1621: .B client_duid, ip_address
1622: (valeur DUID du client et adresse IP respectivement)
1623: ainsi que
1624: .B hostname
1625: (le nom d'hôte) dans le cas d'IPv6.
1626:
1627: La fonction
1628: .B tftp
1629: est appelée de la même façon que la fonction "lease", et la table contient les
1630: labels
1631: .B destination_address,
1632: .B file_name
1633: et
1634: .B file_size
1635: (respectivement "adresse de destination", "nom de fichier" et "taille de fichier").
1636: .TP
1637: .B --dhcp-scriptuser
1638: Spécifie l'utilisateur sous lequel le script shell lease-change ou le script
1639: doivent être exécutés. La valeur par défaut correspond à l'utilisateur root
1640: mais peut-être changée par le biais de cette option.
1641: .TP
1642: .B \-9, --leasefile-ro
1643: Supprimer complètement l'usage du fichier servant de base de donnée pour les
1644: baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le
1645: script de changement d'état de bail est lancé (si celui-ci est fourni par le
1646: biais de l'option
1647: .B --dhcp-script
1648: ), de sorte que la base de données de baux puisse
1649: être complètement gérée par le script sur un stockage externe. En addition aux
1650: actions décrites dans
1651: .B --dhcp-script,
1652: le script de changement d'état de bail est appellé une fois, au lancement de
1653: Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script
1654: doit fournir l'état de la base de baux, dans le format de fichier de baux de
1655: Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0.
1656: Positionner cette option provoque également une invocation du script de
1657: changement d'état de bail à chaque changement de l'identifiant de client, de
1658: longueur de bail ou de date d'expiration.
1659: .TP
1660: .B --bridge-interface=<interface>,<alias>[,<alias>]
1.1.1.3 ! misho 1661: Traiter les requêtes DHCP (v4 et v6) et IPv6 Router Solicit arrivant
! 1662: sur n'importe laquelle des interfaces <alias> comme si elles
! 1663: arrivaient de l'interface <interface>. Cette option permet à dnsmasq
! 1664: de fournir les service DHCP et RA sur les interfaces ethernet non
! 1665: adressés et non pontés; par exemple sur un hôte de calcul d'OpenStack
! 1666: où chaque telle interface est une interface TAP à une machine
! 1667: virtuelle, ou lors de l'utilisation de pont ethernet "ancien mode" sur
! 1668: plate-forme BSD. Chaque <alias> peut finir avec un simple '*' joker.
1.1 misho 1669: .TP
1670: .B \-s, --domain=<domaine>[,<gamme d'adresses>[,local]]
1671: Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière
1672: inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes
1673: d'adresses IP limitées. Cela a deux effets; tout d'abord, le
1674: serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement,
1675: cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela
1676: est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse
1677: fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du
1678: trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors
1679: les noms d'hôtes avec un nom de domaine (c-à-d un point dans le nom) seront
1680: interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors
1681: les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de
1682: domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors
1683: les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le
1684: suffixe fourni dans l'option
1685: .B --domain.
1686: Ainsi, sur mon réseau, je peux configurer
1687: .B --domain=thekelleys.org.uk
1688: et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette
1689: machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk".
1690: Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est
1691: positionné à la première valeur de la directive "search" du fichier
1692: /etc/resolv.conf (ou équivalent).
1693:
1694: La gamme d'adresses peut être de la forme
1695: <adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple
1696: <adresse ip>. Voir
1697: .B --dhcp-fqdn
1698: qui peut changer le comportement de dnsmasq relatif aux domaines.
1699:
1700: Si la gamme d'adresse est fournie sous la forme
1701: <adresse ip>/<taille de réseau>, alors le drapeau "local" peut-être rajouté
1702: qui a pour effect d'ajouter --local-declarations aux requêtes DNS directes et
1703: inverses. C-à-d
1704: .B --domain=thekelleys.org.uk,192.168.0.0/24,local
1705: est identique à
1706: .B --domain=thekelleys.org.uk,192.168.0.0/24
1707: --local=/thekelleys.org.uk/ --local=/0.168.192.in-addr.arpa/
1708: La taille de réseau doit-être de 8, 16 ou 24 pour être valide.
1709: .TP
1710: .B --dhcp-fqdn
1711: Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients
1712: DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si
1713: deux clients ayant le même nom sont dans deux domaines différents. Si un
1714: deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant,
1715: ce nom est transféré au nouveau client. Si
1716: .B --dhcp-fqdn
1717: est spécifié, ce comportement change : les noms non qualifiés ne sont plus
1718: rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP
1719: avec le même nom peuvent tous les deux garder le nom, pour peu que la partie
1720: relative au domaine soit différente (c-à-d que les noms pleinements qualifiés
1721: diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y
1722: avoir au moins un
1723: .B --domain
1724: sans gamme d'adresses de spécifié lorsque l'option
1725: .B --dhcp-fqdn
1726: est configurée.
1727: .TP
1728: .B --dhcp-client-update
1729: Normalement, lorsque dnsmasq fournit un bail DHCP, il positionne un label
1730: dans l'option FQDN pour indiquer au client qu'il ne doit pas tenter de faire
1731: une mise à jour DDNS avec son nom et son adresse IP. Ceci parce que la paire
1732: Nom-IP est rajoutée automatiquement dans la partie DNS de dnsmasq. Cette option
1733: inhibe ce comportement ce qui est utile, par exemple, pour permettre aux clients
1734: Windows de la mise à jour de serveurs Active Directory. Voir la RFC 4702 pour
1735: plus de détails.
1736: .TP
1737: .B --enable-ra
1738: Active la fonctionalité d'annonces routeurs IPv6 ("IPv6 Router Advertisement").
1739: DHCPv6 ne gère pas la configuration complète du réseau de la même façon que
1740: DHCPv4. La découverte de routeurs et la découverte (éventuelle) de préfixes pour
1741: la création autonome d'adresse sont gérées par un protocole différent.
1742: Lorsque DHCP est utilisé, seul un sous-ensemble de tout ceci est nécessaire et
1743: dnsmasq est à même de le gérer, en utilisant la configuration DHCP présente pour
1744: fournir la majorité des données. Lorsque les annonces routeurs (RA pour "Router
1745: Advertisement") sont activées, dnsmasq va annoncer un préfixe pour chaque
1746: dhcp-range et, par défaut, fournir comme valeur de routeur et de DNS récursif
1747: la valeur d'adresse link-local appropriée parmi celles de la machine sur
1748: laquelle tourne dnsmasq.
1749: Par défaut, les bits "managed address" sont positionnés, et le bit "use SLAAC"
1750: ("utiliser SLAAC") est réinitialisé. Cela peut-être changé pour des
1751: sous-réseaux donnés par le biais du mot clef de mode décris dans
1752: .B --dhcp-range.
1753: Les paramètres DNS du RFC6106 sont inclus dans les annonces. Par défaut,
1754: l'adresse link-local appropriée parmi celles de la machine sur laquelle tourne
1755: dnsmasq est spécifiée comme DNS récursif. Si elles sont fournies, les
1756: options dns-server et domain-search sont utilisées respectivement pour RDNSS et
1757: DNSSL.
1758: .TP
1.1.1.2 misho 1759: .B --ra-param=<interface>,[high|low],[[<intervalle d'annonce routeur>],<durée de vie route>]
1760: Configure pour une interface donnée des valeurs pour les annonces routeurs
1761: différentes des valeurs par défaut. La valeur par défaut du champ priorité
1762: pour le routeur peut-être changée de "medium" (moyen) à "high" (haute) ou
1763: "low" (basse). Par exemple :
1764: .B --ra-param=eth0,high.
1765: Un intervalle (en secondes) entre les annonces routeur peut-être fourni par :
1766: .B --ra-param=eth0,60.
1767: La durée de vie de la route peut-être changée ou mise à zéro, auquel cas
1768: le routeur peut annoncer les préfixes mais pas de route :
1769: .B --ra-parm=eth0,0,0
1770: (une valeur de zéro pour l'intervalle signifie qu'il garde la valeur par défaut).
1771: Ces trois paramètres peuvent-être configurés en une fois :
1772: .B --ra-param=low,60,1200
1773: La valeur pour l'interface peut inclure un caractère joker.
1774: .TP
1775: .B --enable-tftp[=<interface>[,<interface>]]
1.1 misho 1776: Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux
1777: fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul
1778: un accès en lecture est possible; les extensions tsize et blksize sont supportées
1.1.1.2 misho 1779: (tsize est seulement supporté en mode octet). Sans argument optionel, le service
1780: TFTP est fourni sur les mêmes interfaces que le service DHCP. Si une liste
1781: d'interfaces est fournie, cela définit les interfaces sur lesquelles le
1782: service TFTP sera activé.
1.1 misho 1783: .TP
1784: .B --tftp-root=<répertoire>[,<interface>]
1785: Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le
1786: répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP
1787: incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de
1788: la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés,
1789: mais ils doivent être à la racine TFTP fournie. Si l'option interface est
1790: spécifiée, le répertoire n'est utilisé que pour les requêtes TFTP reçues sur
1791: cette interface.
1792: .TP
1793: .B --tftp-unique-root
1794: Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite
1795: de la racine tftp (adresse sous forme de 4 chiffres séparés par des points).
1796: Uniquement valable si une racine TFTP est spécifiée et si le répertoire
1797: correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le
1798: client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin
1799: effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou
1800: "/tftp/monfichier" dans le cas contraire.
1801: .TP
1802: .B --tftp-secure
1803: Active le mode TFTP sécurisé : sans cela, tout fichier lisible
1804: par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix
1805: habituelles s'appliquent). Lorsque l'option
1806: .B --tftp-secure
1807: est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne
1808: le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que
1809: super-utilisateur ("root"), des règles différentes s'appliquent :
1810: .B --tftp-secure
1811: n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le
1812: monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous
1813: l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement
1814: déconseillé de le faire sans fournir l'option
1815: .B --tftp-root.
1816: Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le
1817: droit de lecture pour tout le monde est positionné ("world-readable") devient
1818: possible par n'importe quel hôte sur le réseau.
1819: .TP
1820: .B --tftp-lowercase
1821: Converti les noms de fichiers des requêtes TFTP en minuscules. Cela est utile
1822: pour les requêtes effectuées depuis les machines Windows, dont les systèmes
1823: de fichiers sont insensibles à la casse et pour lesquels la détermination
1824: de la casse est parfois un peu aléatoire. A noter que le serveur tftp de
1825: dnsmasq converti systématiquement les "\\" en "/" dans les noms de fichiers.
1826: .TP
1827: .B --tftp-max=<connexions>
1828: Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur
1829: par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié,
1830: il se peut que la limite de nombre de descripteurs de fichiers par processus
1831: soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un
1832: descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des
1833: fichiers devant être fournis. De fait, servir le même fichier à n clients ne
1834: nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des
1835: fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs.
1836: Si elle est donnée, l'option
1837: .B --tftp-port-range
1838: peut affecter le nombre maximum de connexions concurrentes.
1839: .TP
1840: .B --tftp-no-blocksize
1841: Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec
1842: les clients. Certains clients buggés spécifient cette option mais se comportent
1843: ensuite de manière incorrecte si celle-ci est accordée.
1844: .TP
1845: .B --tftp-port-range=<début>,<fin>
1846: Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour
1847: l'initiation de la connexion, mais utilise également un port dynamiquement
1848: alloué pour chaque connexion. Normalement, ces ports sont alloués par
1849: le système d'exploitation, mais cette option permet de spécifier une gamme
1850: de ports à utiliser pour les transferts TFTP. Cela peut-être utile si
1851: TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur
1852: de début pour la plage de port ne peut-être inférieure à 1025 sauf si
1853: dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de
1854: connexions TFTP concurrentes est limitée par la taille de la gamme de
1855: ports ainsi spécifiée.
1856: .TP
1857: .B --tftp-port-range=<début>,<fin>
1858: Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation
1859: de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces
1860: numéros de ports sont en principe alloués par le système d'exploitation, mais
1861: cette option permet de spécifier une gamme de ports à utiliser pour les
1862: transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un
1863: dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être
1864: inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que
1865: super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes
1866: est limitée par la taille de la plage de ports ainsi définie.
1867: .TP
1868: .B \-C, --conf-file=<fichier>
1869: Spécifie un fichier de configuration différent. L'option "conf-file" est
1870: également autorisée dans des fichiers de configuration, ce qui permet
1871: l'inclusion de multiples fichiers de configuration. L'utilisation de "-" comme
1872: nom de fichier permet la lecture par dnsmasq de sa configuration sur l'entrée standard
1873: stdin.
1874: .TP
1875: .B \-7, --conf-dir=<répertoire>[,<extension de fichier>...]
1876: Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de
1877: configuration. Si des extensions sont données, tout fichier finissant par ces
1878: extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence
1879: par ., ainsi que ceux commençant ou se terminant par # seront systématiquement
1880: ignorés.
1881: Cette option peut être donnée en ligne de commande ou dans un fichier de
1882: configuration.
1883: .SH FICHIER DE CONFIGURATION
1884: Au démarrage, Dnsmasq lis
1885: .I /etc/dnsmasq.conf,
1886: si ce fichier existe. (Sur FreeBSD, ce fichier est
1887: .I /usr/local/etc/dnsmasq.conf
1888: ) (voir cependant les options
1889: .B \-C
1890: et
1891: .B \-7
1892: ). Le format de ce fichier consiste en une option par ligne, exactement comme
1893: les options longues détaillées dans la section OPTIONS, mais sans être précédées
1894: par "--". Les lignes commençant par # sont des commentaires et sont ignorées.
1895: Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du
1896: fichier de configuration prends le pas sur celle fournie en ligne de commande.
1897: Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et
1898: "#" ne soit interprêtés, et il est possible d'utiliser les séquences
1899: d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent
1900: respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles,
1901: tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et
1902: nouvelle ligne ("newline").
1903: .SH NOTES
1904: A la réception d'un signal SIGHUP,
1905: .B Dnsmasq
1906: vide son cache et recharge les fichiers
1907: .I /etc/hosts
1908: et
1909: .I /etc/ethers
1910: ainsi que tout autre fichier spécifié par les options
1911: .B --dhcp-hostsfile
1912: ,
1913: .B --dhcp-optsfile
1914: ou
1915: .B --addn-hosts.
1916: Le script de changement de bail est appellé pour chaque bail DHCP existant. Si
1917: l'option
1918: .B --no-poll
1919: est positionnée, alors le fichier
1920: .I /etc/resolv.conf
1921: est également rechargé.
1922: SIGHUP ne provoque PAS de rechargement du fichier de configuration.
1923: .PP
1924: A la réception d'un signal SIGUSR1,
1925: .B Dnsmasq
1926: écrit des statistiques dans les traces système. Les informations fournies sont :
1927: la taille du cache, le nombre de noms ayant été supprimés du cache avant
1928: expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre
1929: total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit
1930: le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une
1931: erreur. Lorsque Dnsmasq a été lancé via
1932: .B --no-daemon
1933: ou lorsque la traçabilité maximale a été activée (
1934: .B -q
1935: ), la totalité du contenu du
1936: cache est de surcroît fournie.
1937: .PP
1938: A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses
1939: traces dans un fichier (voir
1940: .B --log-facility
1941: ), alors
1942: .B Dnsmasq
1943: ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette
1944: opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un
1945: fichier de traces pour la première fois, Dnsmasq change le propriétaire du
1946: fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel
1947: Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit
1948: être configuré pour créer un nouveau fichier avec un propriétaire identique au
1949: fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est
1950: en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui
1951: traite la requête TCP et il peut y être écrit. Il existe cependant une limite
1952: de 150 secondes après laquelle tous les processus traitant des requêtes TCP
1953: expirent : pour cette raison, il est préférable de ne pas configurer la
1954: compression des fichiers de traces venant juste de faire l'objet d'une rotation.
1955: Dans le cas de l'utilisation du logiciel logrotate, les options requises sont
1956: .B create
1957: et
1958: .B delaycompress.
1959:
1960: .PP
1961: Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable
1962: d'effectuer une résolution de nom récursive en partant des serveurs DNS racine,
1963: mais transmet de telles requêtes à un serveur DNS amont capable de telles
1964: recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI.
1965: Par défaut, Dnsmasq lis
1966: .I /etc/resolv.conf
1967: pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette
1968: information est en général stockée à cet endroit. A moins que l'option
1969: .B --no-poll
1970: ne soit utilisée,
1971: .B Dnsmasq
1972: vérifie la date de modification du fichier
1973: .I /etc/resolv.conf
1974: (ou l'équivalent si
1975: .B \--resolv-file
1976: est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs
1977: DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces
1978: protocoles fournissent cette information.
1979: L'absence du fichier
1980: .I /etc/resolv.conf
1981: ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant
1982: qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement
1983: pour voir si un fichier
1984: .I /etc/resolv.conf
1985: est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf.
1986: Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés :
1987: Dnsmasq peut alors être configuré pour lire à la fois
1988: .I /etc/ppp/resolv.conf
1989: et
1990: .I /etc/dhcpc/resolv.conf
1991: et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de
1992: passer automatiquement de serveurs DNS à d'autres.
1993: .PP
1994: Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou
1995: dans un fichier de configuration. Ces spécifications de serveurs peuvent
1996: éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel
1997: serveur utiliser pour trouver les noms d'un domaine donné.
1998: .PP
1999: Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine
2000: sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier
2001: .I /etc/resolv.conf
2002: afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite,
2003: spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq
2004: via l'option
2005: .B \--server
2006: ou alors en mettant leurs adresses dans un autre fichier, par exemple
2007: .I /etc/resolv.dnsmasq
2008: et en lançant Dnsmasq avec l'option
2009: .B \-r /etc/resolv.dnsmasq.
2010: Cette deuxième technique permet la mise-à-jour dynamique des addresses de
2011: serveurs DNS amont par le biais de PPP ou DHCP.
2012: .PP
2013: Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le
2014: serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que
2015: les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une
2016: requête au serveur DNS amont retournerait une adresse différente. Il y a une
2017: exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom
2018: présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira
2019: l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée
2020: correspondant au CNAME dans /etc/hosts.
2021: .PP
2022: le système de label fonctionne comme suit : pour chaque requête DHCP, dnsmasq
2023: associe un ensemble de labels obtenus à partir des lignes de la configuration
2024: incluant set:<label>, y compris un pour la plage d'adresse (
2025: .B dhcp-range
2026: ) utilisée pour allouer l'adresse, un pour chaque entrée
2027: .B dhcp-host
2028: associée (auquel est rajouté le mot-clef "known" si une entrée dhcp-host
2029: coïncide).
2030:
2031: Le label "bootp" est associé aux requêtes BOOTP, un label dont le nom est le
2032: nom de l'interface sur laquelle la requête est arrivée.
2033:
2034: Pour les lignes de configuration comportant des éléments tag:<label>,
2035: seules seront valides celles pour lesquels tous les labels correspondants
2036: seront présents. C'est typiquement le cas des lignes dhcp-options.
2037: Un
2038: .B dhcp-option
2039: possédant des labels sera utilisé de préférence à un
2040: .B dhcp-option
2041: sans label, pour peu que _tous_ les labels positionnés correspondent à l'ensemble
2042: de labels décrit plus haut.
2043: Le préfixe '!' sur un label est un indicateur de négation, ainsi
2044: .B --dhcp=option=tag:!purple,3,1.2.3.4
2045: n'envoie l'option que lorsque le label "purple" n'est pas dans la liste de
2046: labels définis pour l'hôte considéré. (dans le cas de l'utilisation dans une
2047: ligne de commande au lieu d'un fichier de configuration, ne pas oublier
2048: d'échapper le caractère !, qui est un méta-caractère d'interpréteur de commande
2049: shell).
2050:
2051: Lors de la sélection d'une option, une étiquette spécifiée par dhcp-range
2052: passe après les autres étiquettes, ce qui permet de facilement remplacer des
2053: option génériques pour des hôtes spécifiques, ainsi :
2054: .B dhcp-range=set:interface1,......
2055: .B dhcp-host=set:monhote,.....
2056: .B dhcp-option=tag:interface1,option:nis-domain,"domaine1"
2057: .B dhcp-option=tag:monhote,option:nis-domain,"domaine2"
2058: va positionner l'option NIS-domain à domaine1 pour les hôtes dans la plage
2059: d'adresse, sauf pour monhote pour lequel cette valeur sera domaine2.
2060:
2061: .PP
2062: Veuillez noter que pour
2063: .B dhcp-range
2064: , les éléments tag:<label> et set:<label> sont tous les deux autorisés
2065: pour sélectionner la plage à utiliser selon, par exemple, le dhcp-host,
2066: et pour affecter l'option envoyée, sur la base de la plage sélectionnée.
2067:
2068: Ce système a évolué d'un système plus ancien et aux possibilités plus limitées,
2069: et pour des raisons de compatibilité "net:" peut être utilisé à la place de
2070: "tag:" et "set:" peut-être omis (à l'exception de
2071: .B dhcp-host,
2072: où "net:" peut-être utilisé à la place de "set:"). Pour les mêmes raisons, '#'
2073: peut-être utilisé à la place de '!' pour indiquer la négation.
2074: .PP
2075: Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur
2076: BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies,
2077: que ce soit par le biais de l'option
2078: .B dhcp-host
2079: ou dans le fichier
2080: .I /etc/ethers
2081: , et que l'option
2082: .B dhcp-range
2083: soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option
2084: .B --bootp-dynamic
2085: supprime la nécessité des associations statiques). Le paramètre
2086: "filename" (nom de fichier) de la requête BOOTP est utilisé comme label, ainsi
2087: que le label "bootp", permettant un certain contrôle sur les options retournées
2088: aux différentes classes d'hôtes.
2089:
2090:
2091: .SH CONFIGURATION EN TEMPS QUE SERVEUR FAISANT AUTORITÉ
2092: .PP
2093: Configurer dnsmasq pour agir en temps que serveur DNS faisant autorité est
2094: compliqué par le fait que cela implique la configuration de serveurs DNS
2095: externes pour mettre en place la délégation. Seront présentés ci-dessous trois
2096: scénarios de complexité croissante. Le pré-requis pour chacun de ces scénarios
2097: est l'existence d'une adresse IP globalement disponible, d'un enregistrement de
2098: type A ou AAAA pointant vers cette adresse, ainsi que d'un serveur DNS externe
2099: capable d'effectuer la délégation de la zone en question. Pour la première
2100: partie de ces explications, nous allons appeller serveur.exemple.com
2101: l'enregistrement A (ou AAAA) de l'adresse globalement accessible, et
2102: notre.zone.com la zone pour laquelle dnsmasq fait autorité.
2103:
2104: La configuration la plus simple consiste en deux lignes de configuration,
2105: sous la forme :
2106: .nf
2107: .B auth-server=serveur.exemple.com,eth0
2108: .B auth-zone=notre.zone.com,1.2.3.0/24
2109: .fi
2110:
2111: ainsi que deux enregistrements dans le DNS externe :
2112:
2113: .nf
2114: serveur.exemple.com A 192.0.43.10
2115: notre.zone.com NS serveur.exemple.com
2116: .fi
2117:
2118: eth0 est l'interface réseau externe sur laquelle dnsmasq écoute, dont l'adresse
2119: IP (globalement accessible) est 192.0.43.10.
2120:
2121: A noter que l'adresse IP externe peut parfaitement être dynamique (par exemple
2122: attribuée par un FAI via DHCP ou PPP). Dans ce cas, l'enregistrement de type A
2123: doit être lié à cet enregistrement dynamique par l'une ou l'autre des techniques
2124: habituelles de système DNS dynamique.
2125:
2126: Un exemple plus complexe mais en pratique plus utile correspond au cas où
2127: l'adresse IP globalement accessible se trouve dans la zone pour laquelle
2128: dnsmasq fait autorité, le plus souvent à la racine. Dans ce cas nous avons :
2129:
2130: .nf
2131: .B auth-server=notre.zone.com,eth0
2132: .B auth-zone=notre.zone.com,1.2.3.0/24
2133: .fi
2134:
2135: .nf
2136: notre.zone.com A 1.2.3.4
2137: notre.zone.com NS our.zone.com
2138: .fi
2139:
2140: L'enregistrement A pour notre.zone.com est dorénavant un enregistrement "colle"
2141: qui résoud le problème de poule et d'oeuf consistant à trouver l'adresse IP
2142: du serveur de nom pour notre.zone.com lorsque l'enregistrement se trouve dans
2143: la zone en question. Il s'agit du seul rôle de cet enregistrement : comme dnsmasq
2144: fait désormais autorité pour notre.zone.com, il doit également fournir cet
2145: enregistrement. Si l'adresse externe est statique, cela peut-être réalisé par
2146: le biais d'une entrée dans
2147: .B /etc/hosts
2148: ou via un
2149: .B --host-record.
2150:
2151: .nf
2152: .B auth-server=notre.zone.com,eth0
2153: .B host-record=notre.zone.com,1.2.3.4
2154: .B auth-zone=notre.zone.com,1.2.3.0/24
2155: .fi
2156:
2157: Si l'adresse externe est dynamique, l'adresse associée à notre.zone.com doit
2158: être dérivée de l'interface correspondante. Cela peut être fait en utilisant
2159: .B interface-name
2160: Sous la forme :
2161:
2162: .nf
2163: .B auth-server=notre.zone.com,eth0
2164: .B interface-name=notre.zone.com,eth0
2165: .B auth-zone=notre.zone.com,1.2.3.0/24
2166: .fi
2167:
2168: La configuration finale rajoute à cette base un serveur DNS secondaire. Il
2169: s'agit d'un autre serveur DNS qui apprend les données DNS de la zone en
2170: effectuant un transfert de zone, et qui joue le rôle de serveur de secours
2171: au cas où le serveur principal devenait inaccessible. La configuration
2172: de ce serveur secondaire sort du cadre de cette page de manuel. Les éléments
2173: de configuration à rajouter dans dnsmasq sont les simples :
2174:
2175: .nf
2176: .B auth-sec-servers=secondaire.monfai.com
2177: .fi
2178:
2179: et
2180:
2181: .nf
2182: notre.zone.com NS secondaire.monfai.com
2183: .fi
2184:
2185: L'addition d'une option auth-sec-servers active les transferts de zone dans
2186: dnsmasq, ce qui permet au serveur secondaire de venir collecter les données
2187: DNS. Si vous souhaitez restreindre l'accès à ces données à des hôtes
2188: spécifiques, vous pouvez le faire via :
2189:
2190: .nf
2191: .B auth-peer=<adresse IP du serveur secondaire>
2192: .fi
2193:
2194: Dnsmasq joue le rôle de serveur faisant autorité pour les domaines in-addr.arpa
1.1.1.2 misho 2195: et ip6.arpa associés aux sous-réseaux définis dans la déclaration de zone
1.1 misho 2196: auth-zone, ce qui fait que les requêtes DNS inversées (de l'adresse vers
2197: le nom) peuvent-simplement être configurées avec un enregistrement NS
2198: adéquat. Par exemple, comme nous définissons plus haut les adresses
2199: 1.2.3.0/24 :
2200: .nf
2201: 3.2.1.in-addr.arpa NS notre.zone.com
2202: .fi
2203:
2204: Veuillez noter que pour l'instant, les zones inverses ne sont pas
2205: disponibles dans les transferts de zone, donc il est inutile de configurer
2206: de serveur secondaire pour la résolution inverse.
2207:
2208: .PP
2209: Lorsque dnsmasq est configuré en temps que serveur faisant autorité,
2210: les données suivantes sont utilisées pour peupler la zone considérée :
2211: .PP
2212: .B --mx-host, --srv-host, --dns-rr, --txt-record, --naptr-record
2213: , pour autant que les noms des enregistrements se trouvent dans la zone en
2214: question.
2215: .PP
2216: .B --cname
2217: pour peu que le nom soit dans le domaine. Si la cible du CNAME n'est
2218: pas pleinement qualifiée, alors elle est qualifiée avec le nom de la
2219: zone pour laquelle le serveur fait autorité.
2220: .PP
2221: Les adresses IPv4 et IPv6 extraites de /etc/hosts (et
2222: .B --addn-hosts
2223: ) ainsi que les options
2224: .B --host-record
2225: fournissant des adresses situées dans l'un des sous-réseaux spécifiés dans
2226: .B --auth-zone.
2227: .PP
2228: Adresses spécifiées par
2229: .B --interface-name.
2230: Dans ce cas, l'adresse n'est pas limitée à l'un des sous-réseaux donné dans
2231: .B --auth-zone.
2232:
2233: .PP
2234: Les adresses de baux DHCP, si l'adresse est située dans l'un des sous-réseaux de
2235: .B --auth-zone
2236: OU dans une plage DHCP construite. Dans le mode par défaut, où le bail
2237: DHCP a un nom non qualifié, et éventuellement pour un nom qualifié construit
2238: via
2239: .B --domain
2240: , alors le nom dans la zone faisant autorité est construit à partir du nom
2241: non qualifié et du nom de domaine de la zone. Cela peut on non être égal
2242: celui fourni par
2243: .B --domain.
2244: Si l'option
2245: .B --dhcp-fqdn
2246: est fournie, alors les noms pleinemenet qualifiés associés aux baux DHCP
2247: sont utilisés, dès lors qu'ils correspondent au nom de domaine associé
2248: à la zone.
2249:
2250:
2251: .SH CODES DE SORTIE
2252: .PP
2253: 0 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est
2254: correctement terminé si le lancement en tâche de fond n'a pas été activé.
2255: .PP
2256: 1 - Un problème de configuration a été détecté.
2257: .PP
2258: 2 - Un problème est survenu avec un accès réseau (adresse déjà utilisée,
2259: tentative d'utiliser un port privilégié sans les permissions nécessaires).
2260: .PP
2261: 3 - Un problème est survenu avec une opération sur un système de fichier
2262: (fichier ou répertoire manquant, permissions).
2263: .PP
2264: 4 - Impossibilité d'allouer de la mémoire.
2265: .PP
2266: 5 - Autre problème.
2267: .PP
2268: 11 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au
2269: processus "init" du script des bails. Le code de retour de Dnsmasq correspond
2270: au code de retour du script plus 10.
2271:
2272: .SH LIMITES
2273: Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général
2274: conservatrices et appropriées pour des utilisations embarquées sur des machines
2275: de type routeur ayant des processeurs lents et une mémoire limitée. Sur du
2276: matériel plus performant, il est possible d'augmenter les limites et de gérer
2277: plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et
2278: ultérieur : les versions précédentes ne montaient pas en charge aussi bien.
2279:
2280: .PP
2281: Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients.
2282: Pour cela, la durée des bail ne doit pas être très courte (moins d'une heure).
2283: La valeur de
2284: .B --dns-forward-max
2285: peut-être augmentée : commencer par la rendre égale au nombre de clients et
2286: l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends
2287: également de la performance des serveurs amonts. La taille du cache DNS peut-
2288: être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut
2289: (150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des
2290: informations utiles pour paramétrer la taille de cache. Voir la section
2291: .B NOTES
2292: pour plus de détails.
2293: .PP
2294: Le serveur TFTP intégré est capable de plusieurs transferts de fichiers
2295: simultanés : La limite absolue est liée au nombre maximal de descripteurs de
2296: fichiers alloué à un processus et à la capacité de l'appel système select() à
2297: gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par
2298: le biais de
2299: .B --tftp-max
2300: elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut
2301: noter que plus de transferts sont possible lorsque le même fichier est transmis
2302: au lieu d'avoir un fichier différent pour chaque transfert.
2303:
2304: .PP
2305: Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile
2306: en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou
2307: 0.0.0.0 par le biais du fichier
2308: .B /etc/hosts
2309: ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq
2310: ayant été testé avec succès avec un million de noms. Cette taille de fichier
2311: nécessite un processeur à 1 Ghz et environ 60 Mo de RAM.
2312:
2313: .SH INTERNATIONALISATION
2314: Dnsmasq peut être compilé pour supporter l'internationalisation. Pour cela,
2315: les cibles "all-i18n" et "install-i18n" doivent être données à make, en lieu
2316: et place des cibles standards "all" et "install". Lorsque compilé avec le
2317: support de l'internationalisation, dnsmasq supporte les noms de domaines
2318: internationalisés ("internationalised domain names" ou IDN), et les messages de
2319: traces ("logs") sont écrits dans la langue locale. Les noms de domaines dans
2320: /etc/hosts, /etc/ethers et /etc/dnsmasq.conf contenant des caractères
2321: non-ASCII seront transformés selon la représentation punycode interne
2322: aux DNS. Veuillez noter que dnsmasq détermine la langue pour les messages
2323: ainsi que le jeu de caractères susceptible d'être utilisé dans les fichiers
2324: de configuration à partir de la variable d'environnement LANG. Ceci devrait
2325: être configuré à la valeur par défaut du système par les scripts démarrant
2326: dnsmasq. Lorsque les fichiers de configuration sont édités, veuillez faire
2327: attention à le faire en utilisant la valeur de locale par défaut du système
2328: et non une valeur spécifique à l'utilisateur, puisque dnsmasq n'a aucun
2329: moyen de déterminer directement la valeur de jeu de caractère utilisé,
2330: et assume de ce fait qu'il s'agit de la valeur par défaut du système.
2331:
2332: .SH FICHIERS
2333: .IR /etc/dnsmasq.conf
2334:
2335: .IR /usr/local/etc/dnsmasq.conf
2336: .IR /var/run/dnsmasq/resolv.conf
2337: .IR /etc/ppp/resolv.conf
2338: .IR /etc/dhcpc/resolv.conf
2339:
2340: .IR /etc/resolv.conf
2341:
2342: .IR /etc/hosts
2343:
2344: .IR /etc/ethers
2345:
2346: .IR /var/lib/misc/dnsmasq.leases
2347:
2348: .IR /var/db/dnsmasq.leases
2349:
2350: .IR /var/run/dnsmasq.pid
2351: .SH VOIR AUSSI
2352: .BR hosts (5),
2353: .BR resolver (5)
2354: .SH AUTEUR
2355: Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>.
2356:
2357: La traduction dans un français bancal a été commise par Gildas Le Nadan
2358: <3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger
2359: orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la
2360: bienvenue!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>