| .TH DNSMASQ 8 |
| .SH NAME |
| Dnsmasq \- Un serveur DHCP et cache DNS poids-plume. |
| .SH SYNOPSIS |
| .B dnsmasq |
| .I [OPTION]... |
| .SH "DESCRIPTION" |
| .BR dnsmasq |
| est un serveur DHCP et DNS à faible empreinte mémoire. Il offre à la fois les |
| services DNS et DHCP pour un réseau local (LAN). |
| .PP |
| Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache |
| local, soit en effectuant une requête à un serveur DNS récursif externe (par |
| exemple celui de votre fournisseur d'accès internet). Il charge le contenu du |
| fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS |
| globaux soient tout de même résolus, et assure également la résolution de nom |
| pour les hôtes présents dans le service DHCP. |
| .PP |
| Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques et les |
| réseaux multiples. Il envoie par défaut un jeu raisonnable de paramètres DHCP, et |
| peut être configuré pour envoyer n'importe quel option DHCP. |
| Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via |
| le réseau/PXE de clients DHCP et supporte également le protocole BOOTP. |
| .PP |
| Dnsmasq supporte IPv6 pour le DNS mais pas pour le DHCP. |
| .SH OPTIONS |
| Notes : Il est possible d'utiliser des options sans leur donner de paramètre. |
| Dans ce cas, la fonction correspondante sera désactivée. Par exemple |
| .B --pid-file= |
| (sans paramètre après le =) désactive l'écriture du fichier PID. |
| Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU |
| getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle |
| est toujours supportée dans le fichier de configuration. |
| .TP |
| .B --test |
| Vérifie la syntaxe du ou des fichiers de configurations. Se termine avec le |
| code de retour 0 si tout est OK, ou un code différent de 0 dans le cas |
| contraire. Ne démarre pas Dnsmasq. |
| .TP |
| .B \-h, --no-hosts |
| Ne pas charger les noms du fichier /etc/hosts. |
| .TP |
| .B \-H, --addn-hosts=<fichier> |
| Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts. |
| Si |
| .B -h |
| est spécifié, lire uniquement le fichier spécifié. Cette option peut être |
| répétée afin d'ajouter d'autres fichiers. Si un répertoire est donné, lis les |
| fichiers contenus dans ce répertoire. |
| .TP |
| .B \-E, --expand-hosts |
| Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le |
| nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service |
| DHCP. Notez que cela ne s'applique pas au nom de domaine dans les CNAME, les |
| enregistrements PTR, TXT, etc... |
| .TP |
| .B \-T, --local-ttl=<durée> |
| Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou |
| avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro, |
| afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être |
| mise dans un cache. Ceci est le comportement correct dans presque toutes les |
| situations. |
| Cette option permet de spécifier la valeur de time-to-live à retourner (en |
| secondes). Cela permet de réduire la charge sur le serveur, mais les clients |
| risquent d'utiliser des données périmées dans certains cas. |
| .TP |
| .B --neg-ttl=<durée> |
| Les réponses négatives provenant des serveurs amonts contiennent normalement |
| une information de durée de vie (time-to-live) dans les enregistrements SOA, |
| information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse |
| du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette |
| option permet de doner une valeur de durée de vie par défaut (en secondes) que |
| dnsmasq utilise pour mettre les réponses négatives dans son cache, même en |
| l'absence d'enregistrement SOA. |
| .TP |
| .B --max-ttl=<durée> |
| Définie la valeur de TTL maximum qui sera fournie aux clients. La valeur maximum |
| de TTL spécifiée sera fournie aux clients en remplacement de la vraie valeur de TTL |
| si cette dernière est supérieure. La valeur réelle de TTL est cependant conservée dans |
| le cache afin d'éviter de saturer les serveurs DNS en amont. |
| .TP |
| .B \-k, --keep-in-foreground |
| Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner |
| normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools |
| ou launchd. |
| .TP |
| .B \-d, --no-daemon |
| Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de |
| fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet |
| du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la |
| sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de |
| processus fils pour traiter les requêtes TCP. |
| .TP |
| .B \-q, --log-queries |
| Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier |
| de traces ("logs"). Active la génération d'un état complet du cache lors de la |
| réception d'un signal SIGUSR1. |
| .TP |
| .B \-8, --log-facility=<facility> |
| Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par |
| défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient |
| au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et |
| enverra les logs dans le fichier correspondant à la place du syslog. Si la |
| "facility" est '-', alors dnsmasq envoie les logs sur la sortie d'erreur |
| standard stderr. (Les erreurs lors de la lecture de la configuration vont |
| toujours vers le syslog, mais tous les messages postérieurs à un démarrage |
| réussi seront exclusivement envoyés vers le fichier de logs). |
| Lorsque Dnsmasq est configuré pour envoyer |
| ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la |
| fermeture et réouverture du fichier. Cela permet la rotation de fichiers de |
| traces sans nécessiter l'arrêt de Dnsmasq. |
| .TP |
| .B --log-async[=<lignes>] |
| Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le |
| nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque |
| l'écriture vers le syslog est lente. |
| Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de |
| continuer à fonctionner sans être bloqué par le syslog, et permet à syslog |
| d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage. |
| Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et |
| le nombre de messages perdus. La longueur par défaut de la file d'attente est de |
| 5 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum |
| imposée de 100. |
| .TP |
| .B \-x, --pid-file=<chemin> |
| Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur |
| par défaut est /var/run/dnsmasq.pid. |
| .TP |
| .B \-u, --user=<nom d'utilisateur> |
| Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage. |
| Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"), |
| mais abandonne ses privilèges après le démarrage en changeant d'identité. |
| Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est |
| possible d'en définir un autre par le biais de ce paramètre. |
| .TP |
| .B \-g, --group=<nom de groupe> |
| Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du |
| groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui |
| n'est en général pas en lecture par tout le monde. |
| .TP |
| .B \-v, --version |
| Imprime le numéro de version. |
| .TP |
| .B \-p, --port=<port> |
| Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer |
| cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif |
| que le DHCP ou le TFTP. |
| .TP |
| .B \-P, --edns-packet-max=<taille> |
| Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le |
| défaut est de 4096, qui est la valeur recommandée dans la RFC5625. |
| .TP |
| .B \-Q, --query-port=<numéro de port> |
| Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par |
| <numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends |
| dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais |
| cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner |
| une valeur de zéro à cette option restaure le comportement par défaut présent dans |
| les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port |
| alloué par le système d'exploitation. |
| .TP |
| .B --min-port=<port> |
| Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre |
| pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les |
| requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours |
| au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs |
| garde-barrières ("firewalls"). |
| .TP |
| .B \-i, --interface=<nom d'interface> |
| N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement |
| l'interface locale ("loopback") à la liste des interfaces lorsque l'option |
| .B --interface |
| est utilisée. |
| Si aucune option |
| .B --interface |
| ou |
| .B --listen-address |
| n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf |
| celle(s) spécifiée(s) par l'option |
| .B --except-interface. |
| Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec |
| .B --interface |
| ni |
| .B \--except-interface. |
| Utiliser l'option |
| .B --listen-address |
| à la place. |
| .TP |
| .B \-I, --except-interface=<interface name> |
| Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les |
| options |
| .B \--listen-address |
| , |
| .B --interface |
| et |
| .B --except-interface |
| sont fournies n'importe pas, et que l'option |
| .B --except-interface |
| l'emporte toujours sur les autres. |
| .TP |
| .B \-2, --no-dhcp-interface=<nom d'interface> |
| Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de |
| même le service DNS. |
| .TP |
| .B \-a, --listen-address=<adresse IP> |
| Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options |
| .B \--interface |
| et |
| .B \--listen-address |
| peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et |
| d'adresses seront utilisées. Notez que si |
| aucune option |
| .B \--interface |
| n'est donnée alors qu'une option |
| .B \--listen-address |
| l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale |
| ("loopback"). Pour activer l'écoute sur l'interface locale, il est alors |
| nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option |
| .B \--listen-address. |
| .TP |
| .B \-z, --bind-interfaces |
| Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker |
| ("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par |
| la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette |
| situation présente l'avantage de fonctionner même lorsque les interfaces vont |
| et viennent ou changent d'adresses. L'option |
| .B --bind-interfaces |
| force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles |
| il doit écouter. L'un des seuls cas où cette option est utile est celui où un |
| autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même |
| machine. Utiliser cette option permet également d'avoir plusieurs instances de |
| Dnsmasq fournissant un service DHCP sur la même machine. |
| .TP |
| .B \-y, --localise-queries |
| Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle |
| la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans |
| /etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au |
| moins est dans le même sous-réseau que l'interface sur laquelle la requête a été |
| reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela |
| permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour |
| chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur |
| le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée |
| à IPv4. |
| .TP |
| .B \-b, --bogus-priv |
| Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS |
| inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas |
| trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées |
| une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises |
| aux serveurs de nom amont ("upstream server"). |
| .TP |
| .B \-V, --alias=[<ancienne IP>]|[<IP de début>-<IP de fin>],<nouvelle IP>[,<masque>] |
| Modifie les adresses IPv4 retournées par les serveurs de nom amont; |
| <ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est |
| fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque> |
| sera réécrite. Ainsi par exemple |
| .B --alias=1.2.3.0,6.7.8.0,255.255.255.0 |
| modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67. |
| Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent |
| "bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnée sous la forme |
| d'une gamme d'adresses, alors seules les adresses dans cette gamme seront |
| réecrites, et non le sous-réseau dans son ensemble. Ainsi, |
| .B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 |
| fait correspondre 192.168.0.10->192.168.0.40 à 10.0.0.10->10.0.0.40 |
| .TP |
| .B \-B, --bogus-nxdomain=<adresse IP> |
| Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel |
| domaine" ("no such domain"). Ceci a pour but de neutraliser la modification |
| sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé |
| à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour |
| les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN". |
| Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il |
| constate ce comportement. L'adresse retournée par Verisign en septembre 2003 |
| est 64.94.110.11. |
| .TP |
| .B \-f, --filterwin2k |
| Les dernières versions de windows font des requêtes DNS périodiques auxquelles |
| non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui, |
| de surcroît, peuvent poser des problèmes en déclenchant des connexions |
| intempestives pour des liens réseaux avec des connexions "à la demande". Fournir |
| cette option active le filtrage des requêtes de ce type. Les requêtes bloquées |
| sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de |
| type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des |
| serveurs LDAP). |
| .TP |
| .B \-r, --resolv-file=<fichier> |
| Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>, |
| au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le |
| manuel pour |
| .BR resolv.conf (5) |
| les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire |
| plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le |
| fichier par défaut, le contenu des suivants est rajouté dans la liste des |
| fichiers à consulter. Seul le fichier ayant la dernière date de modification |
| sera chargé en mémoire. |
| .TP |
| .B \-R, --no-resolv |
| Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des |
| serveurs de nom amont que depuis la ligne de commande ou le fichier de |
| configuration de Dnsmasq. |
| .TP |
| .B \-1, --enable-dbus |
| Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de |
| méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de |
| serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette |
| option nécessite que Dnsmasq soit compilé avec le support DBus. |
| .TP |
| .B \-o, --strict-order |
| Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts |
| dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait |
| fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque |
| requête, les serveurs DNS dans leur ordre d'apparition dans le fichier |
| /etc/resolv.conf. |
| .TP |
| .B --all-servers |
| Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie |
| les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à |
| effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé |
| au client sera celui fournit par le premier serveur ayant répondu. |
| .TP |
| .B --stop-dns-rebind |
| Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme |
| d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les |
| serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant |
| à détourner de leur usage les logiciels de navigation web ('browser') en s'en |
| servant pour découvrir les machines situées sur le réseau local. |
| .TP |
| .B --rebind-localhost-ok |
| Exclue 127.0.0/8 des vérifications de réassociation DNS. Cette gamme d'adresses |
| est retournée par les serveurs Realtime Blackhole (RBL, utilisés dans la |
| lutte contre le spam), la bloquer peut entraîner des disfonctionnements de ces |
| services. |
| .TP |
| .B --rebind-domain-ok=[<domaine>]|[[/<domaine>/[<domaine>/] |
| Ne pas détecter ni bloquer les actions de type dns-rebind pour ces domaines. |
| Cette option peut prendre comme valeur soit un nom de domaine soit plusieurs |
| noms de domains entourés par des '/', selon une syntaxe similaire à l'option |
| --server, c-à-d : |
| .B --rebind-domain-ok=/domaine1/domaine2/domaine3/ |
| .TP |
| .B \-n, --no-poll |
| Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié. |
| .TP |
| .B --clear-on-reload |
| Lorsque le fichier /etc/resolv.conf est relu, vider le cache DNS. |
| Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données |
| différentes de celles stockées dans le cache. |
| .TP |
| .B \-D, --domain-needed |
| Indique à Dnsmasq de ne jamais transmettre en amont de requêtes pour des noms |
| simples, ne comprenant donc ni points ni nom de domaine. Si un nom n'est pas |
| dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse de type |
| "non trouvé" est renvoyée. |
| .TP |
| .B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]] |
| Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne |
| supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela |
| l'option |
| .B -R . |
| Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce |
| serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute |
| requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur. |
| Cette option est destinée aux serveurs de nom privés : si vous avez un serveur |
| de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la |
| résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors |
| .B -S /internal.thekelleys.org.uk/192.168.1.1 |
| enverra toutes les requêtes pour les machines internes vers ce serveur de nom, |
| alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans |
| le fichier /etc/resolv.conf. Une spécification de nom de domaine vide, |
| .B // |
| possède le sens particulier de "pour les noms non qualifiés uniquement", |
| c'est-à-dire les noms ne possédant pas de points. Un port non standard peut être |
| rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une |
| option |
| .B -S |
| est autorisée, en répétant les domaines et adresses IP comme requis. |
| |
| Le domaine le plus spécifique l'emporte sur le domaine le moins spécifique, |
| ainsi : |
| .B --server=/google.com/1.2.3.4 |
| .B --server=/www.google.com/2.3.4.5 |
| enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes |
| *www.google.com, qui seront envoyées à 2.3.4.5. |
| |
| L'adresse spéciale '#' signifie "utiliser les serveurs standards", ainsi |
| .B --server=/google.com/1.2.3.4 |
| .B --server=/www.google.com/# |
| enverra les requêtes pour *.google.com à 1.2.3.4, à l'exception des requêtes |
| pour *www.google.com qui seront envoyées comme d'habitude (c-à-d aux serveurs |
| définis par défaut). |
| |
| Il est également permis de donner une option |
| .B -S |
| avec un nom de domaine mais sans |
| adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre |
| aux requêtes le concernant depuis les entrées contenues dans le fichier |
| /etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes |
| aux serveurs amonts. |
| .B local |
| est synonyme de |
| .B server |
| ("serveur") afin de rendre plus claire l'utilisation de cette option pour cet |
| usage particulier. |
| |
| La chaîne de caractères optionnelle suivant le caractère @ permet de définir |
| la source que Dnsmasq doit utiliser pour les réponses à ce |
| serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur |
| laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera |
| consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom |
| d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées |
| depuis cette interface; si une adresse ip est donnée, alors l'adresse source de |
| la requête sera l'adresse en question. L'option query-port est ignorée pour tous |
| les serveurs ayant une adresse source spécifiée, mais il est possible de la donner |
| directement dans la spécification de l'adresse source. Forcer les requêtes à être |
| émises depuis une interface spécifique n'est pas possible sur toutes les plateformes |
| supportées par dnsmasq. |
| .TP |
| .B \-A, --address=/<domaine>/[domaine/]<adresse IP> |
| Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis |
| en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux |
| serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être |
| une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse |
| IPv6 pour un domaine, utiliser plusieurs options |
| .B -A. |
| Il faut noter que le |
| contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des |
| noms individuels. Une utilisation courante de cette option est de rediriger la |
| totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les |
| bannières publicitaires. La spécification de domaine fonctionne de la même façon |
| que |
| .B --server, |
| avec la caractéristique supplémentaire que |
| .B /#/ |
| coïncide avec tout domaine. Ainsi, |
| .B --address=/#/1.2.3.4 |
| retournera 1.2.3.4 pour toute requête |
| n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas |
| transmise à un serveur spécifique par le biais d'une directive |
| .B --server. |
| .TP |
| .B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>] |
| Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom |
| donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans |
| l'option |
| .B --mx-target |
| si elle est présente. Sinon retourne le nom de la machine |
| sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option |
| .B --mx-target |
| ) est utile dans un réseau local pour rediriger les courriers |
| électroniques vers un serveur central. La valeur de préférence est optionnelle |
| et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être |
| fournie pour un hôte donné. |
| .TP |
| .B \-t, --mx-target=<nom d'hôte> |
| Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des |
| enregistrements de type MX. Voir |
| .B --mx-host. |
| Si |
| .B --mx-target |
| est donné mais pas de |
| .B --mx-host, |
| alors Dnsmasq retourne comme réponse un enregistrement MX |
| contenant le nom d'hôte spécifié dans l'option |
| .B --mx-target |
| pour toute requête |
| concernant le MX de la machine sur laquelle tourne Dnsmasq. |
| .TP |
| .B \-e, --selfmx |
| Définit, pour toutes les machines locales, un MX correspondant à l'hôte |
| considéré. Les machines locales sont celles définies dans le fichier /etc/hosts |
| ou dans un bail DHCP. |
| .TP |
| .B \-L, --localmx |
| Définit, pour toutes les machines locales, un enregistrement MX pointant sur |
| l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les |
| machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail |
| DHCP. |
| .TP |
| .B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]] |
| Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de |
| détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur |
| fournie dans l'option |
| .B --domain. |
| La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors |
| que les poids et priorités par défaut sont 0. Attention lorsque vous transposez |
| des valeurs issues d'une configuration BIND : les ports, poids et priorités sont |
| dans un ordre différents. Pour un service/domaine donné, plus d'un |
| enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont |
| retournés dans la réponse. |
| .TP |
| .B \-Y, --txt-record=<nom>[[,<texte>],<texte>] |
| Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est |
| un ensemble de chaînes de caractères, donc un nombre variable de chaînes de |
| caractères peuvent être spécifiées, séparées par des virgules. |
| .TP |
| .B --ptr-record=<nom>[,<cible>] |
| Définit un enregistrement DNS de type PTR. |
| .TP |
| .B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>] |
| Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403. |
| .TP |
| .B --cname=<cname>,<cible> |
| Retourne un enregistrement de type CNAME qui indique que <cname> est en |
| réalité <cible>. Il existe des contraintes significatives sur la valeur |
| de cible; il doit s'agir d'un nom DNS qui est connu de dnsmasq via /etc/hosts |
| (ou un fichier hôtes additionnel) ou via DHCP. Si une cible ne satisfait |
| pas ces critères, le CNAME est ignoré. Le CNAME doit être unique, mais |
| il est autorisé d'avoir plus d'un CNAME pointant vers la même cible. |
| .TP |
| .B --interface-name=<nom>,<interface> |
| Définit un entregistrement DNS associant le nom avec l'adresse primaire sur |
| l'interface donnée en argument. Cette option spécifie un enregistrement de type |
| A pour le nom donné en argument de la même façon que s'il était défini par une |
| ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de |
| l'interface définie. Si l'interface est inactive, non existante ou non |
| configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est |
| également créé par cette option, associant l'adresse de l'interface avec le nom. |
| Plus d'un nom peut être associé à une interface donnée en répétant cette option |
| plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni |
| dans la première instance de cette option. |
| .TP |
| .B \-c, --cache-size=<taille> |
| Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms. |
| Définir une valeur de zéro désactive le cache. |
| .TP |
| .B \-N, --no-negcache |
| Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir |
| des réponses de type "no such domain" fournies par les serveurs DNS en amont et |
| de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs |
| amont. |
| .TP |
| .B \-0, --dns-forward-max=<nombre de requêtes> |
| Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est |
| 150, ce qui devrait être suffisant dans la majorité des configurations. La seule |
| situation identifiée dans laquelle cette valeur nécessite d'être augmentée est |
| lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de |
| son journal des requêtes, ce qui peut générer un nombre important de requêtes |
| simultanées. |
| .TP |
| .B \-F, --dhcp-range=[interface:<interface>,][tag:<label>[,tag:<label>],][set:<label],]<adresse de début>,<adresse de fin>[,<masque de réseau>[,<broadcast>]][,<durée de bail>] |
| Active le serveur DHCP. Les adresses seront données dans la plage comprise entre |
| <adresse de début> et <adresse de fin> et à partir des adresses définies |
| statiquement dans l'option |
| .B dhcp-host. |
| Si une durée de bail est donnée, alors les baux seront donnés pour cette |
| durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m), |
| en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une |
| durée indéterminée. Si aucune valeur n'est donnée, une durée de bail par défaut |
| de une heure est appliquée. La valeur minimum pour un bail DHCP est de 2 |
| minutes. |
| Cette option peut être répétée, avec différentes adresses, |
| pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement |
| connectés (c'est-à-dire des réseaux dans lesquels la machine sur laquelle tourne |
| Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par |
| contre requis pour les réseaux pour lesquels le service DHCP se fait via un |
| relais DHCP ("relay agent"). L'adresse de broadcast est toujours optionnelle. |
| |
| Il est toujours possible d'avoir plus d'une plage DHCP pour un même |
| sous-réseau. |
| L'identifiant de label optionnel |
| .B set:<label> |
| fournie une étiquette alphanumérique qui identifie ce réseau, afin de permettre |
| la fourniture d'options DHCP spécifiques à chaque réseau. |
| Lorsque préfixé par 'tag:', la signification change, et au lieu de définir un |
| label, il définit le label pour laquelle la règle s'applique. Un seul label peut- |
| être défini mais plusieurs labels peuvent coïncider. |
| |
| L'adresse de fin peut être remplacée par le mot-clef |
| .B static |
| ("statique") qui indique à Dnsmasq d'activer le service DHCP pour le réseau |
| spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP : Seuls |
| les hôtes possédant des adresses IP statiques fournies via |
| .B dhcp-host |
| ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP. |
| |
| L'adresse de fin peut-être remplacée par le mot-clef |
| .B proxy |
| , auquel cas Dnsmasq fournira un service de DHCP proxy pour le sous-réseau |
| spécifié. (voir |
| .B pxe-prompt |
| et |
| .B pxe-service |
| pour plus de détails). |
| |
| La section interface:<nom d'interface> n'est normalement pas utilisée. Se |
| référer aux indications de la section NOTES pour plus de détail à ce sujet. |
| .TP |
| .B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,set:<label>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore] |
| Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine |
| possédant une adresse matérielle spécifique de se voir toujours allouée les |
| mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme |
| ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est |
| également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte, |
| auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se |
| réclamant de ce nom. Par exemple |
| .B --dhcp-host=00:20:e0:3b:13:af,wap,infinite |
| spécifie à Dnsmasq de fournir à la machine d'adresse matérielle |
| 00:20:e0:3b:13:af le nom, et un bail de durée indéterminée. |
| |
| .B --dhcp-host=lap,192.168.0.199 |
| spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap |
| l'adresse IP 192.168.0.199. |
| |
| Les adresses allouées de la sorte ne sont pas contraintes à une plage d'adresse |
| spécifiée par une option --dhcp-range, mais elles se trouver dans le même |
| sous-réseau qu'une plage dhcp-range valide. Pour les sous-réseaux qui n'ont pas |
| besoin d'adresses dynamiquement allouées, utiliser le mot-clef "static" dans la |
| déclaration de plage d'adresses dhcp-range. |
| |
| Il est possible |
| d'utiliser des identifiants clients plutôt que des adresses matérielles pour |
| identifier les hôtes, en préfixant par ceux-ci par 'id:'. Ainsi, |
| .B --dhcp-host=id:01:02:03:04,..... |
| réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de |
| spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme |
| ceci : |
| .B --dhcp-host=id:identifiantclientsousformedechaine,..... |
| |
| L'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser |
| que l'adresse matérielle". Cela est utile lorsqu'un client présente un |
| identifiant client mais pas les autres. |
| |
| Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un |
| bail DHCP mais seulement si une option |
| .B --dhcp-host |
| spécifiant le nom existe par ailleurs. Seul un nom d'hôte peut-être donné dans |
| une option |
| .B dhcp-host |
| , mais les alias sont possibles au travers de l'utilisation des CNAMEs. (Voir |
| .B --cname |
| ). |
| Le mot clef "ignore" ("ignorer") indique |
| à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être |
| spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte. |
| Par exemple |
| .B --dhcp-host=00:20:e0:3b:13:af,ignore |
| Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par |
| certaines machines. |
| |
| Le paramètre set:<identifiant réseau> permet de définir un |
| identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir |
| à sélectionner des options DHCP juste pour cet hôte. Plus d'un label peut être |
| fourni dans une directive dhcp-host (et dans cette seule directive). Lorsqu'une |
| machine coïncide avec une directive dhcp-host (ou une impliquée par |
| /etc/ethers), alors le label réservé "known" ("connu") est associé. Cela permet à |
| Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue |
| par le biais de |
| .B --dhcp-ignore=tag:!known. |
| |
| Les adresses ethernet (mais pas les identifiants clients) peuvent être définies |
| avec des octets joker, ainsi par exemple |
| .B --dhcp-host=00:20:e0:3b:13:*,ignore |
| demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter |
| que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets |
| lorsque spécifié en option de ligne de commande, mais pas dans le fichier de |
| configuration. |
| |
| Les adresses matérielles coïncident en principe avec n'importe |
| quel type de réseau (ARP), mais il est possible de les limiter à un seul type |
| ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi |
| .B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 |
| coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type |
| ARP pour une adresse Token-Ring est 6. |
| |
| Un cas spécial correspond à l'inclusion d'une ou plusieurs adresses |
| matérielles, c-à-d : |
| .B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2. |
| Cela permet à une adresse IP d'être associé à plusieurs adresses |
| matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP |
| attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste |
| demande un bail. Ceci est une opération dangereuse qui ne fonctionnera |
| de manière fiable que si une adresse matérielle est active à un moment |
| donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile, |
| par exemple, pour allouer une adresse IP stable à un laptop qui |
| aurait à la fois une connexion filaire et sans-fil. |
| .TP |
| .B --dhcp-hostsfile=<fichier> |
| Lis les informations d'hôtes DHCP dans le fichier spécifié. Le fichier contient |
| des informations à raison d'un hôte par ligne. Le format d'une ligne est la même |
| que le texte fourni à la droite sur caractère "=" dans l'option |
| .B --dhcp-host. |
| L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est |
| que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera |
| relu lorsque Dnsmasq reçoit un signal SIGHUP. |
| .TP |
| .B --dhcp-optsfile=<fichier> |
| Lis les informations relatives aux options DHCP dans le fichier spécifié. |
| L'intérêt d'utiliser cette option est le même que pour --dhcp-hostsfile : le |
| fichier spécifié sera rechargé à la réception par dnsmasq d'un signal SIGHUP. |
| Notez qu'il est possible d'encoder l'information via |
| .B --dhcp-boot |
| en utilisant les noms optionnels bootfile-name, server-ip-address et |
| tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME |
| .TP |
| .B \-Z, --read-ethers |
| Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de |
| /etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par |
| une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu |
| par Dnsmasq, ces lignes ont exactement le même effet que l'option |
| .B --dhcp-host |
| contenant les mêmes informations. /etc/ethers est relu à la réception d'un |
| signal SIGHUP par Dnsmasq. |
| .TP |
| .B \-O, --dhcp-option=[tag:<label>,[tag:<label>]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]] |
| Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par |
| défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le |
| masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte |
| sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut |
| prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq. Si |
| une option de nom de domaine a été définie, son contenu est transmis. Cette |
| option de configuration permet de changer toutes ces valeurs par défaut, ou de |
| spécifier d'autres options. L'option DHCP à transmettre peut être fournie sous |
| forme d'un nombre décimal ou sous la forme "option:<nom d'option>". Les nombres |
| correspondants aux options sont définis dans la RFC2132 et suivants. Les noms |
| d'options connus par Dnsmasq peuvent être obtenus via "Dnsmasq --help dhcp". |
| Par exemple, pour définir la route par défaut à 192.168.4.4, il est possible de |
| faire |
| .B --dhcp-option=3,192.168.4.4 |
| ou |
| .B --dhcp-option = option:router, 192.168.4.4 |
| ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut |
| faire |
| .B --dhcp-option = 42,192.168.0.4 |
| ou |
| .B --dhcp-option = option:ntp-server, 192.168.0.4 |
| L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle |
| tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la |
| forme de 4 chiffres séparés par des points, un nombre décimal, une liste de |
| caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères. |
| Si des labels optionnels sont fournis, alors cette option n'est envoyée |
| qu'aux réseaux dont tous les labels coïncident avec ceux de la requête. |
| |
| Un traitement spécial est effectué sur les chaînes de caractères fournies pour |
| l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les |
| adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments |
| de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous |
| forme de 4 chiffres séparés par des points suivies par une barre montante "/", |
| puis une taille de masque sont encodés conforméments à la RFC 3442. |
| |
| Attention : aucun test n'étant fait pour vérifier que des données d'un type |
| adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible |
| de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation |
| incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq |
| doit déterminer la taille des données. Cela est fait en examinant le numéro de |
| l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une |
| lettre comme suit : |
| b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des |
| options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles |
| Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options |
| consistant uniquement de points et de décimaux sont interprétées par Dnsmasq |
| comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme |
| de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par |
| exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme |
| d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire |
| comme suit : |
| .B --dhcp-option=66,"1.2.3.4" |
| |
| Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées en |
| utilisant |
| .B --dhcp-option |
| : par exemple |
| .B --dhcp-option=vendor:PXEClient,1,0.0.0.0 |
| envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à |
| n'importe quel client dont la classe de vendeur correspond à "PXEClient". La |
| correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de |
| caractères (voir |
| .B --dhcp-vendorclass |
| pour plus de détails). Si une option de |
| classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé |
| pour sélectionner les options encapsulées, de préférence à toute option envoyée |
| par le client. Il est possible d'omettre complètement une classe de vendeur : |
| .B --dhcp-option=vendor:,1,0.0.0.0 |
| Dans ce cas l'option encapsulée est toujours envoyée. |
| |
| Les options peuvent-être encapsulées au sein d'autres options : |
| par exemple |
| .B --dhcp-option=encap:175, 190, "iscsi-client0" |
| enverra l'option 175, au sein de laquelle se trouve l'option 190. |
| Plusieurs options encapsulées avec le même numéro d'option seront correctement |
| combinées au sein d'une seule option encapsulée. Il n'est pas possible de |
| spécifier encap: et vendor: au sein d'une même option dhcp. |
| |
| La dernière variante pour les options encapsulées est "l'option de Vendeur |
| identifiant le vendeur" ("Vendor-Identifying Vendor Options") telle que |
| décrite dans le RFC3925. Celles-ci sont spécifiées comme suit : |
| .B --dhcp-option=vi-encap:2, 10, "text" |
| Le numéro dans la section vi-encap: est le numéro IANA de l'entreprise servant |
| à identifier cette option. |
| |
| L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans |
| une option encapsulée. |
| .TP |
| .B --dhcp-option-force=[tag:<label>,[tag:<label>]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]] |
| Cela fonctionne exactement de la même façon que |
| .B --dhcp-option |
| sauf que cette option sera toujours envoyée, même si le client ne la demande pas |
| dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors |
| de la fourniture d'options à PXELinux. |
| .TP |
| .B --dhcp-no-override |
| Désactive la réutilisation des champs DHCP nom de serveur et nom de |
| fichier comme espace supplémentaire pour les options. Si cela est |
| possible, dnsmasq déplace les informations sur le serveur de démarrage |
| et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs |
| dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est |
| alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans |
| quelques rares cas, perturber des clients vieux ou défectueux. Cette |
| option force le comportement à l'utilisation des valeurs "simples et sûres" |
| afin d'éviter des problèmes dans de tels cas. |
| .TP |
| .B \-U, --dhcp-vendorclass=set:<label>,<classe de vendeur> |
| Associe une chaîne de classe de vendeur à un label. La plupart |
| des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui |
| représente, d'une certaine façon, le type d'hôte. Cette option associe des |
| classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être |
| fournie de manière sélective aux différentes classes d'hôtes. Par exemple, |
| .B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect |
| ou |
| .B dhcp-vendorclass=printers,Hewlett-Packard JetDirect |
| permet de n'allouer des options qu'aux imprimantes HP de la manière suivante : |
| .B --dhcp-option=tag:printers,3,192.168.4.4 |
| La chaîne de caractères de la classe de vendeur founie en argument est cherchée |
| en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie |
| par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne |
| de caractères ("fuzzy matching"). Le préfixe set: est optionnel mais autorisé |
| afin de conserver une certaine homogénéité. |
| .TP |
| .B \-j, --dhcp-userclass=set:<label>,<classe utilisateur> |
| Associe une chaîne de classe d'utilisateur à un label (effectue la |
| recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart |
| des clients permettent de configurer une "classe d'utilisateur". Cette option |
| associe une classe d'utilisateur à un label, de telle manière qu'il soit |
| possible de fournir des options DHCP spécifiques à différentes classes d'hôtes. |
| Il est possible, par exemple, d'utiliser ceci pour définir un serveur |
| d'impression différent pour les hôtes de la classe "comptes" et ceux de la |
| classe "ingénierie". |
| .TP |
| .B \-4, --dhcp-mac=set:<label>,<adresse MAC> |
| Associe une adresse matérielle (MAC) à un label. L'adresse |
| matérielle peut inclure des jokers. Par exemple |
| .B --dhcp-mac=set:3com,01:34:23:*:*:* |
| permet de définir le label "3com" pour n'importe quel hôte dont l'adresse |
| matérielle coïncide avec les critères définis. |
| .TP |
| .B --dhcp-circuitid=set:<label>,<identifiant de circuit>, --dhcp-remoteid=set:<label>,<identifiant distant> |
| Associe des options de relais DHCP issus de la RFC3046 à des labels. |
| Cette information peut-être fournie par des relais DHCP. L'identifiant |
| de circuit ou l'identifiant distant est normalement fourni sous la forme d'une |
| chaîne de valeurs hexadécimales séparées par des ":", mais il est également |
| possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si |
| l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le |
| relais DHCP, alors le label est apposé. |
| .TP |
| .B --dhcp-subscrid=set:<label>,<identifiant d'abonné> |
| Associe des options de relais DHCP issues de la RFC3993 à des labels. |
| .TP |
| .B --dhcp-proxy[=<adresse ip>]...... |
| Un agent relai DHCP normal est uniquement utilisé pour faire suivre les |
| éléments initiaux de l'interaction avec le serveur DHCP. Une fois que le |
| client est configuré, il communique directement avec le serveur. Cela n'est pas |
| souhaitable si le relais rajoute des informations supplémentaires aux paquets |
| DHCP, telles que celles utilisées dans |
| .B dhcp-circuitid |
| et |
| .B dhcp-remoteid. |
| Une implémentation complète de relai peut utiliser l'option serverid-override |
| de la RFC 5107 afin de forcer le serveur DHCP à utiliser le relai en temps que |
| proxy complet, de sorte que tous les paquets passent par le relai. Cette option |
| permet d'obtenir le même résultat pour des relais ne supportant pas la RFC |
| 5107. Fournie seule, elle manipule la valeur de server-id pour toutes les |
| interactions via des relais. Si une liste d'adresses IP est donnée, seules les |
| interactions avec les relais dont l'adresse est dans la liste seront affectées. |
| .TP |
| .B --dhcp-match=set:<label>,<numéro d'option>|option:<nom d'option>|vi-encap:<entreprise>[,<valeur>] |
| Si aucune valeur n'est spécifiée, associe le label si le client |
| envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est |
| fournie, positionne le label seulement dans le cas où l'option est fournie et |
| correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel |
| cas le début de l'option doit correspondre (en respectant les jokers). La |
| valeur peut aussi être de la même forme que dans |
| .B dhcp-option |
| , auquel cas l'option est traitée comme un tableau de valeur, et un des |
| éléments doit correspondre, ainsi |
| |
| --dhcp-match=set:efi-ia32,option:client-arch,6 |
| |
| spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste |
| d'architectures envoyé par le client au sein de l'option 93. (se réferer |
| au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères, |
| celle-ci est recherchée (correspondance en temps que sous-chaîne). |
| |
| Pour la forme particulière vi-encap:<numéro d'entreprise>, la comparaison se |
| fait avec les classes de vendeur "identifiant de vendeur" ("vendor-identifying |
| vendor classes") pour l'entreprise dont le numéro est fourni en option. |
| Veuillez vous réferer à la RFC 3925 pour plus de détail. |
| .TP |
| .B --tag-if=set:<label>[,set:<label>[,tag:<label>[,tag:<label>]]] |
| Effectue une opération booléenne sur les labels. Si tous les labels |
| apparaissant dans la liste tag:<label> sont positionnés, alors tous les |
| la de la liste "set:<labels>" sont positionnés (ou supprimés, dans le cas |
| où "tag:!<label>" utilisé). |
| Si aucun tag:<label> n'est spécifié, alors tous les labels fournis par |
| set:<label> sont positionnés. |
| N'importe quel nombre de set: ou tag: peuvent être fournis, et l'ordre est sans |
| importance. |
| Les lignes tag-if sont executées dans l'ordre, ce qui fait que si un label dans |
| tag:<label> est un label positionné par une rêgle |
| .B tag-if, |
| la ligne qui positionne le label doit précéder celle qui le teste. |
| .TP |
| .B \-J, --dhcp-ignore=tag:<label>[,tag:<label>] |
| Lorsque tous les labels fournis dans l'option sont présents, ignorer l'hôte et |
| ne pas donner de bail DHCP. |
| .TP |
| .B --dhcp-ignore-names[=tag:<label>[,tag:<label>]] |
| Lorsque tous les labels fournis dans l'option sont présents, ignorer le |
| nom de machine fourni par l'hôte. Il est à noter que, à la différence de |
| l'option "dhcp-ignore", il est permis de ne pas fournir de label. |
| Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours |
| ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la |
| configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts |
| et /etc/ethers. |
| .TP |
| .B --dhcp-generate-names=tag:<label>[,tag:<label>] |
| Générer un nom pour les clients DHCP qui autrement n'en aurait pas, en |
| utilisant l'adresse MAC sous sa forme hexadécimale, séparée par des tirets. |
| Noter que si un hôte fourni un nom, celui-ci sera utilisé de préférence au nom |
| autogénéré, à moins que |
| .B --dhcp-ignore-names |
| ne soit positionné. |
| .TP |
| .B --dhcp-broadcast=[tag:<label>[,tag:<label>]] |
| Lorsque tous les labels fournis dans l'option sont présents, toujours utiliser |
| le broadcast pour communiquer avec l'hôte lorsque celui-ci n'est |
| pas configuré. Il est possible de ne spécifier aucun label, auquel cas cette |
| option s'applique inconditionnellement. La plupart des clients DHCP nécessitant une réponse par le biais |
| d'un broadcast activent une option dans leur requête, ce qui fait que cela |
| se fait automatiquement, mais ce n'est pas la cas de certains vieux clients BOOTP. |
| .TP |
| .B \-M, --dhcp-boot=[tag:<label>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>]] |
| Spécifie les options BOOTP devant être retournées par le serveur DHCP. Le nom de |
| serveur ainsi que l'adresse sont optionnels : s'ils ne sont pas fournis, le nom |
| est laissé vide et l'adresse fournie est celle de la machine sur laquelle |
| s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir |
| .B --enable-tftp |
| ), alors seul un nom de fichier est requis ici pour permettre un démarrage par |
| le réseau. |
| Si d'éventuels labels sont fournis, ils doivent coïncider avec |
| ceux du client pour que cet élement de configuration lui soit envoyé. |
| .TP |
| .B --pxe-service=[tag:<label>,]<CSA>,<entrée de menu>[,<nom de fichier>|<type de service de démarrage>][,<adresse de serveur>] |
| La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple |
| obtention d'une adresse IP, le téléchargement du fichier spécifié dans |
| .B dhcp-boot |
| et son exécution. Cependant, le système PXE est capable de fonctions bien plus |
| complexes pour peu que le serveur DHCP soit adapté. |
| |
| Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage |
| PXE. <CSA> est le type du système client. Seuls des types de services valides |
| apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha, |
| Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI; |
| D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le |
| paramètre après le texte correspondant à l'entrée dans le menu peut être un nom |
| de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au |
| client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur |
| (l'option |
| .B enable-tftp |
| doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP |
| si une adresse de serveur est fournie. |
| Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE |
| et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière |
| est fournir pour le type de démarrage, en remplacement du nom de fichier, le |
| client PXE devra chercher un service de démarrage de ce type sur le réseau. |
| Cette recherche peut être faite via broadcast ou directement auprès d'un |
| serveur si son adresse IP est fournie dans l'option. |
| Si aucun nom de fichier n'est donné ni aucune valeur de type de service de |
| démarrage n'est fournie (ou qu'une valeur de 0 est donnée pour le type de |
| service), alors l'entrée de menu provoque l'interruption du démarrage par |
| le réseau et la poursuite du démarrage sur un média local. |
| .TP |
| .B --pxe-prompt=[tag:<label>,]<invite>[,<délai>] |
| Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un |
| délai est fourni, alors la première entrée du menu de démarrage sera |
| automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première |
| entrée disponible sera exécutée immédiatement. Si |
| .B pxe-prompt |
| est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs |
| entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une |
| seule entrée. Voir |
| .B pxe-service |
| pour plus de détails sur les entrées de menu. |
| |
| Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP |
| sur le réseau est responsable de l'allocation des adresses IP, auquel cas |
| Dnsmasq se contente de fournir les informations données dans les options |
| .B pxe-prompt |
| et |
| .B pxe-service |
| pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le |
| mot-clef |
| .B proxy |
| dans |
| .B dhcp-range. |
| .TP |
| .B \-X, --dhcp-lease-max=<nombre> |
| Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 1000. Cette |
| limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes |
| créant des milliers de baux et utilisant beaucoup de mémoire dans le processus |
| Dnsmasq. |
| .TP |
| .B \-K, --dhcp-authoritative |
| Cette option doit être donnée lorsque Dnsmasq est le seul serveur DHCP sur le |
| réseau. Cela change le comportement par défaut qui est celui d'un strict respect |
| des RFC, afin que les requêtes DHCP pour des baux inconnus par des hôtes |
| inconnus ne soient pas ignorées. Cela permet à de nouveaux hôtes d'obtenir des |
| baux sans tenir compte de fastidieuses temporisations ("timeout"). Cela permet |
| également à Dnsmasq de reconstruire sa base de donnée contenant les baux sans |
| que les clients n'aient besoin de redemander un bail, si celle-ci est perdue. |
| .TP |
| .B --dhcp-alternate-port[=<port serveur>[,<port client>]] |
| Change les ports utilisés par défaut pour le DHCP. Si cette option est donnée |
| toute seule sans arguments, alors change les ports utilisés pour le DHCP |
| de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce |
| numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le |
| port client. Enfin, en fournissant deux numéros de ports, il est possible de |
| spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP. |
| .TP |
| .B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]] |
| Permet l'allocation dynamique d'adresses IP à des clients BOOTP. Utiliser cette |
| option avec précaution, une adresse allouée à un client BOOTP étant perpétuelle, |
| et de fait n'est plus disponibles pour d'autres hôtes. Si aucun argument n'est |
| donné, alors cette option permet une allocation dynamique dans tous les cas. Si |
| des arguments sont spécifiés, alors l'allocation ne se fait que lorsque tous |
| les identifiants coïncident. Il est possible de répeter cette option avec |
| plusieurs jeux d'arguments. |
| .TP |
| .B \-5, --no-ping |
| Par défaut, le serveur DHCP tente de s'assurer qu'une adresse n'est pas utilisée |
| avant de l'allouer à un hôte. Cela est fait en envoyant une requête ICMP de type |
| "echo request" (aussi connue sous le nom de "ping") à l'adresse en question. Si |
| le serveur obtient une réponse, alors l'adresse doit déjà être utilisée et une |
| autre est essayée. Cette option permet de supprimer cette vérification. A |
| utiliser avec précaution. |
| .TP |
| .B --log-dhcp |
| Traces additionnelles pour le service DHCP : enregistre toutes les options |
| envoyées aux clients DHCP et les labels utilisés pour la |
| détermination de celles-ci. |
| .TP |
| .B \-l, --dhcp-leasefile=<chemin de fichier> |
| Utilise le fichier dont le chemin est fourni pour stocker les informations de |
| baux DHCP. |
| .TP |
| .B \-6 --dhcp-script=<chemin de fichier> |
| Lorsqu'un bail DHCP est créé, ou qu'un ancien est supprimé, le fichier dont le |
| chemin est spécifié est exécuté. Le <chemin de fichier> doit être un chemin |
| absolu, aucune recherche n'est effectuée via la variable d'environnement PATH. |
| Les arguments fournis à celui-ci sont soit |
| "add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse |
| MAC de l'hôte puis l'adresse IP et le nom d'hôte si celui-ci est |
| connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a été supprimé, |
| "old" notifie que le bail existait au lancement de Dnsmasq, ou un changement |
| d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas où |
| leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant |
| d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est |
| nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab" |
| pour du token ring. Le processus est exécuté en temps que super-utilisateur |
| (si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré |
| pour changer son UID pour celle d'un utilisateur non-privilégié. |
| |
| L'environnement est hérité de celui de l'invocation du processus Dnsmasq, |
| auquel se rajoute quelques unes ou toutes les variables décrites ci-dessous : |
| |
| DNSMASQ_CLIENT_ID, si l'hôte a fourni un identifiant de client. |
| |
| DNSMASQ_DOMAIN si le nom de domaine pleinement qualifié de l'hôte est connu, la |
| part relative au domaine y est stockée. |
| |
| Si le client fournit une information de classe de vendeur, un nom d'hôte, ou |
| des classes d'utilisateur, celles-ci sont fournies dans les |
| variables DNSMASQ_VENDOR_CLASS et DNSMASQ_USER_CLASS0 à DNSMASQ_USER_CLASSn |
| et DNSMASQ_SUPPLIED_HOSTNAME respectivement, mais seulement pour les actions |
| "add" et "old" lorsqu'un hôte reprend un bail existant, ces variables n'étant |
| pas stockées dans la base de baux de Dnsmasq. |
| |
| Si Dnsmasq a été compilé avec l'option HAVE_BROKEN_RTC ("horloge RTC |
| défectueuse"), alors la durée du bail (en secondes) est stockée dans la |
| variable DNSMASQ_LEASE_LENGTH, sinon la date d'expiration du bail est toujours |
| stocké dans la variable d'environnement DNSMASQ_LEASE_EXPIRES. Le nombre de |
| secondes avant expiration est toujours stocké dans DNSMASQ_TIME_REMAINING. |
| |
| Si un bail était associé à un nom d'hôte et |
| que celui-ci est supprimé, un évênement de type "old" est généré avec le |
| nouveau statut du bail, c-à-d sans nom d'hôte, et le nom initial est fourni |
| dans la variable d'environnement DNSMASQ_OLD_HOSTNAME. |
| |
| La variable DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la |
| requête est arrivée; ceci n'est pas renseigné dans le cas des actions "old" |
| ayant lieu après un redémarrage de dnsmasq. |
| |
| La variable DNSMASQ_RELAY_ADDRESS est renseignée si le client a utilisé un |
| relai DHCP pour contacter Dnsmasq, si l'adresse IP du relai est connue. |
| |
| DNSMASQ_TAGS contient tous les labels fournis pendant la transaction DHCP, |
| séparés par des espaces. |
| |
| Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui |
| sont ouverts sur /dev/null (sauf en mode déverminage). |
| |
| Le script n'est pas lancé de manière concurrente : au plus une instance du |
| script est executée à la fois (dnsmasq attends qu'une instance de script se |
| termine avant de lancer la suivante). Les changements dans la base des baux |
| nécessitant le lancement du script sont placé en attente dans une queue jusqu'à |
| terminaison d'une instance du script en cours. Si cette mise en queue fait que |
| plusieurs changements d'états apparaissent pour un bail donné avant que le |
| script puisse être lancé, alors les états les plus anciens sont supprimés et |
| lorsque le script sera finalement lancé, ce sera avec l'état courant du bail. |
| |
| Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants |
| dans le fichier des baux. Le script sera lancé avec l'action "del" pour les |
| baux expirés, et "old" pour les autres. Lorsque Dnsmasq reçoit un signal HUP, |
| le script sera invoqué avec une action "old" pour tous les baux existants. |
| .TP |
| .B --dhcp-scriptuser |
| Spécifie l'utilisateur sous lequel le script lease-change doit être exécuté. La |
| valeur par défaut correspond à l'utilisateur root mais peut-être changée par le |
| biais de cette option. |
| .TP |
| .B \-9, --leasefile-ro |
| Supprimer complètement l'usage du fichier servant de base de donnée pour les |
| baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le |
| script de changement d'état de bail est lancé (si celui-ci est fourni par le |
| biais de l'option |
| .B --dhcp-script |
| ), de sorte que la base de données de baux puisse |
| être complètement gérée par le script sur un stockage externe. En addition aux |
| actions décrites dans |
| .B --dhcp-script, |
| le script de changement d'état de bail est appellé une fois, au lancement de |
| Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script |
| doit fournir l'état de la base de baux, dans le format de fichier de baux de |
| Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0. |
| Positionner cette option provoque également une invocation du script de |
| changement d'état de bail à chaque changement de l'identifiant de client, de |
| longueur de bail ou de date d'expiration. |
| .TP |
| .B --bridge-interface=<interface>,<alias>[,<alias>] |
| Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias> |
| comme si elles arrivaient de l'interface <interface>. Cette option est |
| nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme |
| BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont |
| pas d'adresse IP. |
| .TP |
| .B \-s, --domain=<domaine>[,<gamme d'adresses>] |
| Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière |
| inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes |
| d'adresses IP limitées. Cela a deux effets; tout d'abord, le |
| serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement, |
| cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela |
| est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse |
| fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du |
| trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors |
| les noms d'hôtes avec un nom de domaine (c-à-d un point dans le nom) seront |
| interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors |
| les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de |
| domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors |
| les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le |
| suffixe fourni dans l'option |
| .B --domain. |
| Ainsi, sur mon réseau, je peux configurer |
| .B --domain=thekelleys.org.uk |
| et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette |
| machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk". |
| Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est |
| positionné à la première valeur de la directive "search" du fichier |
| /etc/resolv.conf (ou équivalent). La gamme d'adresses peut être de la forme |
| <adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple |
| <adresse ip>. Voir |
| .B --dhcp-fqdn |
| qui peut changer le comportement de dnsmasq relatif aux domaines. |
| .TP |
| .B --dhcp-fqdn |
| Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients |
| DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si |
| deux clients ayant le même nom sont dans deux domaines différents. Si un |
| deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant, |
| ce nom est transféré au nouveau client. Si |
| .B --dhcp-fqdn |
| est spécifié, ce comportement change : les noms non qualifiés ne sont plus |
| rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP |
| avec le même nom peuvent tous les deux garder le nom, pour peu que la partie |
| relative au domaine soit différente (c-à-d que les noms pleinements qualifiés |
| diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y |
| avoir au moins un |
| .B --domain |
| sans gamme d'adresses de spécifié lorsque l'option |
| .B --dhcp-fqdn |
| est configurée. |
| .TP |
| .B --enable-tftp[=<interface>] |
| Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux |
| fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul |
| un accès en lecture est possible; les extensions tsize et blksize sont supportées |
| (tsize est seulement supporté en mode octet). Voir dans la section NOTES les |
| informations relatives à la spécification de l'interface. |
| .TP |
| .B --tftp-root=<répertoire>[,<interface>] |
| Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le |
| répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP |
| incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de |
| la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés, |
| mais ils doivent être à la racine TFTP fournie. Si l'option interface est |
| spécifiée, le répertoire n'est utilisé que pour les requêtes TFTP reçues sur |
| cette interface. |
| .TP |
| .B --tftp-unique-root |
| Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite |
| de la racine tftp (adresse sous forme de 4 chiffres séparés par des points). |
| Uniquement valable si une racine TFTP est spécifiée et si le répertoire |
| correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le |
| client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin |
| effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou |
| "/tftp/monfichier" dans le cas contraire. |
| .TP |
| .B --tftp-secure |
| Active le mode TFTP sécurisé : sans cela, tout fichier lisible |
| par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix |
| habituelles s'appliquent). Lorsque l'option |
| .B --tftp-secure |
| est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne |
| le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que |
| super-utilisateur ("root"), des règles différentes s'appliquent : |
| .B --tftp-secure |
| n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le |
| monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous |
| l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement |
| déconseillé de le faire sans fournir l'option |
| .B --tftp-root. |
| Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le |
| droit de lecture pour tout le monde est positionné ("world-readable") devient |
| possible par n'importe quel hôte sur le réseau. |
| .TP |
| .B --tftp-max=<connexions> |
| Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur |
| par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié, |
| il se peut que la limite de nombre de descripteurs de fichiers par processus |
| soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un |
| descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des |
| fichiers devant être fournis. De fait, servir le même fichier à n clients ne |
| nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des |
| fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs. |
| Si elle est donnée, l'option |
| .B --tftp-port-range |
| peut affecter le nombre maximum de connexions concurrentes. |
| .TP |
| .B --tftp-no-blocksize |
| Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec |
| les clients. Certains clients buggés spécifient cette option mais se comportent |
| ensuite de manière incorrecte si celle-ci est accordée. |
| .TP |
| .B --tftp-port-range=<début>,<fin> |
| Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour |
| l'initiation de la connexion, mais utilise également un port dynamiquement |
| alloué pour chaque connexion. Normalement, ces ports sont alloués par |
| le système d'exploitation, mais cette option permet de spécifier une gamme |
| de ports à utiliser pour les transferts TFTP. Cela peut-être utile si |
| TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur |
| de début pour la plage de port ne peut-être inférieure à 1025 sauf si |
| dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de |
| connexions TFTP concurrentes est limitée par la taille de la gamme de |
| ports ainsi spécifiée. |
| .TP |
| .B --tftp-port-range=<début>,<fin> |
| Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation |
| de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces |
| numéros de ports sont en principe alloués par le système d'exploitation, mais |
| cette option permet de spécifier une gamme de ports à utiliser pour les |
| transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un |
| dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être |
| inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que |
| super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes |
| est limitée par la taille de la plage de ports ainsi définie. |
| .TP |
| .B \-C, --conf-file=<fichier> |
| Spécifie un fichier de configuration différent. L'option "conf-file" est |
| également autorisée dans des fichiers de configuration, ce qui permet |
| l'inclusion de multiples fichiers de configuration. |
| .TP |
| .B \-7, --conf-dir=<répertoire>[,<extension de fichier>...] |
| Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de |
| configuration. Si des extensions sont données, tout fichier finissant par ces |
| extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence |
| par ., ainsi que ceux commençant ou se terminant par # seront systématiquement |
| ignorés. |
| Cette option peut être donnée en ligne de commande ou dans un fichier de |
| configuration. |
| .SH FICHIER DE CONFIGURATION |
| Au démarrage, Dnsmasq lis |
| .I /etc/dnsmasq.conf, |
| si ce fichier existe. (Sur FreeBSD, ce fichier est |
| .I /usr/local/etc/dnsmasq.conf |
| ) (voir cependant les options |
| .B \-C |
| et |
| .B \-7 |
| ). Le format de ce fichier consiste en une option par ligne, exactement comme |
| les options longues détaillées dans la section OPTIONS, mais sans être précédées |
| par "--". Les lignes commençant par # sont des commentaires et sont ignorées. |
| Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du |
| fichier de configuration prends le pas sur celle fournie en ligne de commande. |
| Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et |
| "#" ne soit interprêtés, et il est possible d'utiliser les séquences |
| d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent |
| respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles, |
| tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et |
| nouvelle ligne ("newline"). |
| .SH NOTES |
| A la réception d'un signal SIGHUP, |
| .B Dnsmasq |
| vide son cache et recharge les fichiers |
| .I /etc/hosts |
| et |
| .I /etc/ethers |
| ainsi que tout autre fichier spécifié par les options |
| .B --dhcp-hostsfile |
| , |
| .B --dhcp-optsfile |
| ou |
| .B --addn-hosts. |
| Le script de changement de bail est appellé pour chaque bail DHCP existant. Si |
| l'option |
| .B --no-poll |
| est positionnée, alors le fichier |
| .I /etc/resolv.conf |
| est également rechargé. |
| SIGHUP ne provoque PAS de rechargement du fichier de configuration. |
| .PP |
| A la réception d'un signal SIGUSR1, |
| .B Dnsmasq |
| écrit des statistiques dans les traces système. Les informations fournies sont : |
| la taille du cache, le nombre de noms ayant été supprimés du cache avant |
| expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre |
| total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit |
| le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une |
| erreur. Lorsque Dnsmasq a été lancé via |
| .B --no-daemon |
| ou lorsque la traçabilité maximale a été activée ( |
| .B -q |
| ), la totalité du contenu du |
| cache est de surcroît fournie. |
| .PP |
| A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses |
| traces dans un fichier (voir |
| .B --log-facility |
| ), alors |
| .B Dnsmasq |
| ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette |
| opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un |
| fichier de traces pour la première fois, Dnsmasq change le propriétaire du |
| fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel |
| Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit |
| être configuré pour créer un nouveau fichier avec un propriétaire identique au |
| fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est |
| en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui |
| traite la requête TCP et il peut y être écrit. Il existe cependant une limite |
| de 150 secondes après laquelle tous les processus traitant des requêtes TCP |
| expirent : pour cette raison, il est préférable de ne pas configurer la |
| compression des fichiers de traces venant juste de faire l'objet d'une rotation. |
| Dans le cas de l'utilisation du logiciel logrotate, les options requises sont |
| .B create |
| et |
| .B delaycompress. |
| |
| |
| .PP |
| Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable |
| d'effectuer une résolution de nom récursive en partant des serveurs DNS racine, |
| mais transmet de telles requêtes à un serveur DNS amont capable de telles |
| recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI. |
| Par défaut, Dnsmasq lis |
| .I /etc/resolv.conf |
| pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette |
| information est en général stockée à cet endroit. A moins que l'option |
| .B --no-poll |
| ne soit utilisée, |
| .B Dnsmasq |
| vérifie la date de modification du fichier |
| .I /etc/resolv.conf |
| (ou l'équivalent si |
| .B \--resolv-file |
| est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs |
| DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces |
| protocoles fournissent cette information. |
| L'absence du fichier |
| .I /etc/resolv.conf |
| ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant |
| qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement |
| pour voir si un fichier |
| .I /etc/resolv.conf |
| est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf. |
| Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés : |
| Dnsmasq peut alors être configuré pour lire à la fois |
| .I /etc/ppp/resolv.conf |
| et |
| .I /etc/dhcpc/resolv.conf |
| et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de |
| passer automatiquement de serveurs DNS à d'autres. |
| .PP |
| Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou |
| dans un fichier de configuration. Ces spécifications de serveurs peuvent |
| éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel |
| serveur utiliser pour trouver les noms d'un domaine donné. |
| .PP |
| Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine |
| sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier |
| .I /etc/resolv.conf |
| afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite, |
| spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq |
| via l'option |
| .B \--server |
| ou alors en mettant leurs adresses dans un autre fichier, par exemple |
| .I /etc/resolv.dnsmasq |
| et en lançant Dnsmasq avec l'option |
| .B \-r /etc/resolv.dnsmasq. |
| Cette deuxième technique permet la mise-à-jour dynamique des addresses de |
| serveurs DNS amont par le biais de PPP ou DHCP. |
| .PP |
| Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le |
| serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que |
| les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une |
| requête au serveur DNS amont retournerait une adresse différente. Il y a une |
| exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom |
| présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira |
| l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée |
| correspondant au CNAME dans /etc/hosts. |
| .PP |
| le système de label fonctionne comme suit : pour chaque requête DHCP, dnsmasq |
| associe un ensemble de labels obtenus à partir des lignes de la configuration |
| incluant set:<label>, y compris un pour la plage d'adresse ( |
| .B dhcp-range |
| ) utilisée pour allouer l'adresse, un pour chaque entrée |
| .B dhcp-host |
| associée (auquel est rajouté le mot-clef "known" si une entrée dhcp-host |
| coïncide). |
| |
| Le label "bootp" est associé aux requêtes BOOTP, un label dont le nom est le |
| nom de l'interface sur laquelle la requête est arrivée. |
| |
| Pour les lignes de configuration comportant des éléments tag:<label>, |
| seules seront valides celles pour lesquels tous les labels correspondants |
| seront présents. C'est typiquement le cas des lignes dhcp-options. |
| Un |
| .B dhcp-option |
| possédant des labels sera utilisé de préférence à un |
| .B dhcp-option |
| sans label, pour peu que _tous_ les labels positionnés correspondent à l'ensemble |
| de labels décrit plus haut. |
| Le préfixe '!' sur un label est un indicateur de négation, ainsi |
| .B --dhcp=option=tag:!purple,3,1.2.3.4 |
| n'envoie l'option que lorsque le label "purple" n'est pas dans la liste de |
| labels définis pour l'hôte considéré. (dans le cas de l'utilisation dans une |
| ligne de commande au lieu d'un fichier de configuration, ne pas oublier |
| d'échapper le caractère !, qui est un méta-caractère d'interpréteur de commande |
| shell). |
| .PP |
| Veuillez noter que pour |
| .B dhcp-range |
| , les éléments tag:<label> et set:<label> sont tous les deux autorisés |
| pour sélectionner la plage à utiliser selon, par exemple, le dhcp-host, |
| et pour affecter l'option envoyée, sur la base de la plage sélectionnée. |
| |
| Ce système a évolué d'un système plus ancien et aux possibilités plus limitées, |
| et pour des raisons de compatibilité "net:" peut être utilisé à la place de |
| "tag:" et "set:" peut-être omis (à l'exception de |
| .B dhcp-host, |
| où "net:" peut-être utilisé à la place de "set:"). Pour les mêmes raisons, '#' |
| peut-être utilisé à la place de '!' pour indiquer la négation. |
| .PP |
| Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur |
| BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies, |
| que ce soit par le biais de l'option |
| .B dhcp-host |
| ou dans le fichier |
| .I /etc/ethers |
| , et que l'option |
| .B dhcp-range |
| soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option |
| .B --bootp-dynamic |
| supprime la nécessité des associations statiques). Le paramètre |
| "filename" (nom de fichier) de la requête BOOTP est utilisé comme label, ainsi |
| que le label "bootp", permettant un certain contrôle sur les options retournées |
| aux différentes classes d'hôtes. |
| |
| Il est possible de spécifier un nom d'interface à |
| .B dhcp-range |
| sous la forme "interface:<nom d'interface>". La sémantique est comme suit : |
| Pour le DHCP, s'il existe une autre valeur de dhcp-range pour laquelle |
| _aucun_ nom d'interface n'est donné, alors le nom d'interface est ignoré |
| et dnsmasq se comporte comme si la partie spécifiant l'interface n'existait |
| pas, sinon le service DHCP n'est fourni qu'aux interfaces mentionnées dans |
| les déclarations dhcp-range. Pour le DNS, si il n'y a pas d'option |
| .B --interface |
| ou |
| .B --listen-address |
| , alors le comportement n'est pas impacté par la spécification d'interface. Si |
| l'une ou l'autre de ces options est présente, alors les interfaces mentionnées |
| dans les plages d'adresses dhcp-range sont rajoutées à la liste de celles |
| où le service DNS est assuré. |
| |
| De manière similaire, |
| .B enable-tftp |
| peut prendre un nom d'interface, ce qui active le TFTP pour cette seule |
| interface, en ignorant les options |
| .B --interface |
| ou |
| .B --listen-address |
| De plus, |
| .B --tftp-secure |
| , |
| .B --tftp-unique-root |
| et |
| .B --tftp-no-blocksize |
| sont ignorées pour les requêtes sur de telles interfaces. (une directive |
| .B --tftp-root |
| donnant le chemin de la racine et une interface doit-être fournie). |
| |
| Ces règles peuvent paraître étrange à première vue, mais elles permettent |
| d'ajouter à la configuration de dnsmasq des lignes de configuration de la |
| forme "dhcp-range=interface:virt0,192.168.0.4,192.168.0.200" afin de fournir |
| un service DHCP et DNS sur cette interface, sans pour autant affecter les |
| services fournis sur d'autres interfaces, malgré l'absence de paramètres |
| "interface=<interface>" sur les autres lignes de configuration. |
| "enable-tftp=virt0" et "tftp-root=<root>,virt0" effectuent la même chose pour |
| TFTP. |
| L'idée de tout cela est de permettre l'addition de telles lignes |
| automatiquement par libvirt ou un système équivalent, sans perturbation |
| d'une configuration manuelle existant par ailleurs. |
| |
| .SH CODES DE SORTIE |
| .PP |
| 0 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est |
| correctement terminé si le lancement en tâche de fond n'a pas été activé. |
| .PP |
| 1 - Un problème de configuration a été détecté. |
| .PP |
| 2 - Un problème est survenu avec un accès réseau (adresse déjà utilisée, |
| tentative d'utiliser un port privilégié sans les permissions nécessaires). |
| .PP |
| 3 - Un problème est survenu avec une opération sur un système de fichier |
| (fichier ou répertoire manquant, permissions). |
| .PP |
| 4 - Impossibilité d'allouer de la mémoire. |
| .PP |
| 5 - Autre problème. |
| .PP |
| 11 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au |
| processus "init" du script des bails. Le code de retour de Dnsmasq correspond |
| au code de retour du script plus 10. |
| |
| .SH LIMITES |
| Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général |
| conservatrices et appropriées pour des utilisations embarquées sur des machines |
| de type routeur ayant des processeurs lents et une mémoire limitée. Sur du |
| matériel plus performant, il est possible d'augmenter les limites et de gérer |
| plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et |
| ultérieur : les versions précédentes ne montaient pas en charge aussi bien. |
| |
| .PP |
| Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients. |
| Pour cela, la durée des bail ne doit pas être très courte (moins d'une heure). |
| La valeur de |
| .B --dns-forward-max |
| peut-être augmentée : commencer par la rendre égale au nombre de clients et |
| l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends |
| également de la performance des serveurs amonts. La taille du cache DNS peut- |
| être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut |
| (150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des |
| informations utiles pour paramétrer la taille de cache. Voir la section |
| .B NOTES |
| pour plus de détails. |
| .PP |
| Le serveur TFTP intégré est capable de plusieurs transferts de fichiers |
| simultanés : La limite absolue est liée au nombre maximal de descripteurs de |
| fichiers alloué à un processus et à la capacité de l'appel système select() à |
| gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par |
| le biais de |
| .B --tftp-max |
| elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut |
| noter que plus de transferts sont possible lorsque le même fichier est transmis |
| au lieu d'avoir un fichier différent pour chaque transfert. |
| |
| .PP |
| Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile |
| en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou |
| 0.0.0.0 par le biais du fichier |
| .B /etc/hosts |
| ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq |
| ayant été testé avec succès avec un million de noms. Cette taille de fichier |
| nécessite un processeur à 1 Ghz et environ 60 Mo de RAM. |
| |
| .SH INTERNATIONALISATION |
| Dnsmasq peut être compilé pour supporter l'internationalisation. Pour cela, |
| les cibles "all-i18n" et "install-i18n" doivent être données à make, en lieu |
| et place des cibles standards "all" et "install". Lorsque compilé avec le |
| support de l'internationalisation, dnsmasq supporte les noms de domaines |
| internationalisés ("internationalised domain names" ou IDN), et les messages de |
| traces ("logs") sont écrits dans la langue locale. Les noms de domaines dans |
| /etc/hosts, /etc/ethers et /etc/dnsmasq.conf contenant des caractères |
| non-ASCII seront transformés selon la représentation punycode interne |
| aux DNS. Veuillez noter que dnsmasq détermine la langue pour les messages |
| ainsi que le jeu de caractères susceptible d'être utilisé dans les fichiers |
| de configuration à partir de la variable d'environnement LANG. Ceci devrait |
| être configuré à la valeur par défaut du système par les scripts démarrant |
| dnsmasq. Lorsque les fichiers de configuration sont édités, veuillez faire |
| attention à le faire en utilisant la valeur de locale par défaut du système |
| et non une valeur spécifique à l'utilisateur, puisque dnsmasq n'a aucun |
| moyen de déterminer directement la valeur de jeu de caractère utilisé, |
| et assume de ce fait qu'il s'agit de la valeur par défaut du système. |
| |
| .SH FICHIERS |
| .IR /etc/dnsmasq.conf |
| |
| .IR /usr/local/etc/dnsmasq.conf |
| |
| .IR /etc/resolv.conf |
| |
| .IR /etc/hosts |
| |
| .IR /etc/ethers |
| |
| .IR /var/lib/misc/dnsmasq.leases |
| |
| .IR /var/db/dnsmasq.leases |
| |
| .IR /var/run/dnsmasq.pid |
| .SH VOIR AUSSI |
| .BR hosts (5), |
| .BR resolver (5) |
| .SH AUTEUR |
| Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>. |
| |
| La traduction dans un français bancal a été commise par Gildas Le Nadan |
| <3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger |
| orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la |
| bienvenue! |