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