Return to dnsmasq.8 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / dnsmasq / man / fr |
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!