Provided by:
dnsmasq-base_2.57-1ubuntu1_i386 
NAME
Dnsmasq - Un serveur DHCP et cache DNS poids-plume.
SYNOPSIS
dnsmasq [OPTION]...
DESCRIPTION
dnsmasq est un serveur DHCP et DNS a faible empreinte memoire. Il offre
a la fois les services DNS et DHCP pour un reseau local (LAN).
Dnsmasq accepte les requetes DNS et y reponds soit en utilisant un
petit cache local, soit en effectuant une requete a un serveur DNS
recursif externe (par exemple celui de votre fournisseur d'acces
internet). Il charge le contenu du fichier /etc/hosts afin que les noms
locaux n'apparaissant pas dans les DNS globaux soient tout de meme
resolus, et assure egalement la resolution de nom pour les hotes
presents dans le service DHCP.
Le serveur DHCP Dnsmasq DHCP supporte les definitions d'adresses
statiques et les reseaux multiples. Il envoie par defaut un jeu
raisonnable de parametres DHCP, et peut etre configure pour envoyer
n'importe quel option DHCP. Il inclut un serveur TFTP securise en
lecture seule permettant le demarrage via le reseau/PXE de clients DHCP
et supporte egalement le protocole BOOTP.
Dnsmasq supporte IPv6 pour le DNS et TFTP mais pas pour le DHCP.
OPTIONS
Notes : Il est possible d'utiliser des options sans leur donner de
parametre. Dans ce cas, la fonction correspondante sera desactivee.
Par exemple --pid-file= (sans parametre apres le =) desactive
l'ecriture du fichier PID. Sur BSD, a moins que le logiciel ne soit
compile avec la bibliotheque GNU getopt, la forme longue des options ne
fonctionne pas en ligne de commande; Elle est toujours supportee dans
le fichier de configuration.
--test Verifie la syntaxe du ou des fichiers de configurations. Se
termine avec le code de retour 0 si tout est OK, ou un code
different de 0 dans le cas contraire. Ne demarre pas Dnsmasq.
-h, --no-hosts
Ne pas charger les noms du fichier /etc/hosts.
-H, --addn-hosts=<fichier>
Fichiers d'hotes additionnels. Lire le fichier specifie en plus
de /etc/hosts. Si -h est specifie, lire uniquement le fichier
specifie. Cette option peut etre repetee afin d'ajouter d'autres
fichiers. Si un repertoire est donne, lis les fichiers contenus
dans ce repertoire.
-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
meme facon que pour le service DHCP. Notez que cela ne
s'applique pas au nom de domaine dans les CNAME, les
enregistrements PTR, TXT, etc...
-T, --local-ttl=<dur'ee>
Lorsque Dnsmasq repond avec une information provenant du fichier
/etc/hosts ou avec un bail DHCP, il donne un temps de vie (time-
to-live) positionne a zero, afin d'indiquer a la machine faisant
la requete que celle-ci ne doit pas etre mise dans un cache.
Ceci est le comportement correct dans presque toutes les
situations. Cette option permet de specifier la valeur de time-
to-live a retourner (en secondes). Cela permet de reduire la
charge sur le serveur, mais les clients risquent d'utiliser des
donnees perimees dans certains cas.
--neg-ttl=<dur'ee>
Les reponses negatives provenant des serveurs amonts contiennent
normalement une information de duree de vie (time-to-live) dans
les enregistrements SOA, information dont dnsmasq se sert pour
mettre la reponse en cache. Si la reponse du serveur amont omet
cette information, dnsmasq ne cache pas la reponse. Cette option
permet de doner une valeur de duree de vie par defaut (en
secondes) que dnsmasq utilise pour mettre les reponses negatives
dans son cache, meme en l'absence d'enregistrement SOA.
--max-ttl=<dur'ee>
Definie la valeur de TTL maximum qui sera fournie aux clients.
La valeur maximum de TTL specifiee sera fournie aux clients en
remplacement de la vraie valeur de TTL si cette derniere est
superieure. La valeur reelle de TTL est cependant conservee dans
le cache afin d'eviter de saturer les serveurs DNS en amont.
-k, --keep-in-foreground
Ne pas aller en tache de fond au lancement, mais en dehors de
cela, fonctionner normalement. Ce mode est prevu pour les cas ou
Dnsmasq est lance par daemontools ou launchd.
-d, --no-daemon
Mode debug (deverminage) : ne pas aller en tache de fond, ne pas
ecrire de fichier pid, ne pas changer d'identifiant utilisateur,
generer un etat complet du cache lors de la reception d'un
signal SIGUSR1, envoyer les logs sur la sortie standard d'erreur
("stderr") de meme que dans le syslog, ne pas creer de processus
fils pour traiter les requetes TCP.
-q, --log-queries
Enregistrer les resultats des requetes DNS traitees par Dnsmasq
dans un fichier de traces ("logs"). Active la generation d'un
etat complet du cache lors de la reception d'un signal SIGUSR1.
-8, --log-facility=<facility>
Definit la "facility" dans laquelle Dnsmasq enverra ses entrees
syslog, par defaut DAEMON ou LOCAL0 si le mode debug est active.
Si la "facility" contient au moins un caractere "/", alors
Dnsmasq considere qu'il s'agit d'un fichier et enverra les logs
dans le fichier correspondant a 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 posterieurs a un demarrage reussi seront exclusivement
envoyes vers le fichier de logs). Lorsque Dnsmasq est configure
pour envoyer ses traces vers un fichier, la reception d'un
signal SIGUSR2 entraine la fermeture et reouverture du fichier.
Cela permet la rotation de fichiers de traces sans necessiter
l'arret de Dnsmasq.
--log-async[=<lignes>]
Permet l'envoi de traces de maniere asynchrone, et de maniere
optionnelle, le nombre de lignes devant etre mises dans la file
d'attente par Dnsmasq lorsque l'ecriture vers le syslog est
lente. Dnsmasq peut envoyer ses logs de maniere asynchrone :
cela lui permet de continuer a fonctionner sans etre bloque par
le syslog, et permet a syslog d'utiliser Dnsmasq pour les
resolutions DNS sans risque d'interblocage. Si la file
d'attente devient pleine, Dnsmasq loggera le depassement de file
et le nombre de messages perdus. La longueur par defaut de la
file d'attente est de 5 et une valeur saine sera comprise entre
5 et 25, avec une limite maximum imposee de 100.
-x, --pid-file=<chemin>
Specifie un fichier dans lequel stocker le numero de processus
(pid). La valeur par defaut est /var/run/dnsmasq.pid.
-u, --user=<nom d'utilisateur>
Specifie l'identite (nom d'utilisateur) prise par Dnsmasq apres
le demarrage. Dnsmasq doit normalement etre demarre en temps
que root ("super-utilisateur"), mais abandonne ses privileges
apres le demarrage en changeant d'identite. Normalement cet
utilisateur est l'utilisateur nobody ("personne"), mais il est
possible d'en definir un autre par le biais de ce parametre.
-g, --group=<nom de groupe>
Specifie le groupe sous lequel Dnsmasq s'execute. Par defaut, il
s'agit du groupe "dip", afin de faciliter l'acces au fichier
/etc/ppp/resolv.conf qui n'est en general pas en lecture par
tout le monde.
-v, --version
Imprime le numero de version.
-p, --port=<port>
Ecoute sur le port numero <port> au lieu du port DNS standard
(53). Parametrer cette valeur a zero desactive completement la
fonction DNS pour ne laisser actif que le DHCP ou le TFTP.
-P, --edns-packet-max=<taille>
Specifie la taille maximum de paquet UDP EDNS.0 supporte par le
relai DNS. Le defaut est de 4096, qui est la valeur recommandee
dans la RFC5625.
-Q, --query-port=<num'ero de port>
Envoie et ecoute les requetes DNS sortantes depuis le port UDP
specifie par <numero de port>, et non sur un port aleatoire.
NOTE : Cette option rends dnsmasq moins sur contre les attaques
par usurpation DNS ("DNS spoofing"), mais cela peut permettre
d'utiliser moins de ressources et d'etre plus rapide. Donner une
valeur de zero a cette option restaure le comportement par
defaut present dans les versions de dnsmasq inferieures a 2.43
qui consiste a n'allouer qu'un seul port alloue par le systeme
d'exploitation.
--min-port=<port>
Ne pas utiliser de port dont le numero est inferieur a la valeur
donnee en parametre pour les requetes DNS sortantes. Dnsmasq
choisis un port source aleatoire pour les requetes sortantes :
lorsque cette option est fournie, les ports utilises seront
toujours au dessus de la valeur specifiee. Utile pour des
systemes derriere des dispositifs garde-barrieres ("firewalls").
-i, --interface=<nom d'interface>
N'ecouter que sur l'interface reseau specifiee. Dnsmasq aujoute
automatiquement l'interface locale ("loopback") a la liste des
interfaces lorsque l'option --interface est utilisee. Si aucune
option --interface ou --listen-address n'est donnee, Dnsmasq
ecoutera sur toutes les interfaces disponibles sauf celle(s)
specifiee(s) par l'option --except-interface. Les alias
d'interfaces IP (e-g "eth1:0") ne peuvent etre utilises ni avec
--interface ni --except-interface. Utiliser l'option --listen-
address a la place.
-I, --except-interface=<interface name>
Ne pas ecouter sur l'interface specifiee. Notez que l'ordre dans
lesquelles les options --listen-address , --interface et
--except-interface sont fournies n'importe pas, et que l'option
--except-interface l'emporte toujours sur les autres.
-2, --no-dhcp-interface=<nom d'interface>
Ne pas fournir de service DHCP sur l'interface specifiee, mais
fournir tout de meme le service DNS.
-a, --listen-address=<adresse IP>
Ecouter sur la ou les adresse(s) IP specifiee(s). Les options
--interface et --listen-address peuvent-etre specifiees
simultanement, auquel cas un jeu d'interfaces et d'adresses
seront utilisees. Notez que si aucune option --interface n'est
donnee alors qu'une option --listen-address l'est, Dnsmasq
n'ecoutera pas automatiquement sur l'interface locale
("loopback"). Pour activer l'ecoute sur l'interface locale, il
est alors necessaire de fournir explicitement son adresse IP,
127.0.0.1 via l'option --listen-address.
-z, --bind-interfaces
Sur les systemes qui le supporte, Dnsmasq s'associe avec
l'interface joker ("wildcard"), meme lorsqu'il ne doit ecouter
que sur certaines interfaces. Par la suite, il rejette les
requetes auxquelles il ne doit pas repondre. Cette situation
presente l'avantage de fonctionner meme lorsque les interfaces
vont et viennent ou changent d'adresses. L'option --bind-
interfaces force Dnsmasq a ne reellement s'associer qu'avec les
interfaces sur lesquelles il doit ecouter. L'un des seuls cas ou
cette option est utile est celui ou un autre serveur de nom (ou
une autre instance de Dnsmasq) tourne sur la meme machine.
Utiliser cette option permet egalement d'avoir plusieurs
instances de Dnsmasq fournissant un service DHCP sur la meme
machine.
-y, --localise-queries
Retourne des reponses aux requetes DNS dependantes de
l'interface sur laquelle la requete a ete recue, a partir du
fichier /etc/hosts. Si un nom dans /etc/hosts a plus d'une
adresse associee avec lui, et qu'une des adresses au moins est
dans le meme sous-reseau que l'interface sur laquelle la requete
a ete recue, alors ne retourne que la(les) adresse(s) du sous-
reseau considere. Cela permet d'avoir dans /etc/hosts un serveur
avec de multiples adresses, une pour chacune de ses interfaces,
et de fournir aux hotes l'adresse correcte (basee sur le reseau
auquel ils sont attaches). Cette possibilite est actuellement
limitee a IPv4.
-b, --bogus-priv
Fausse resolution inverse pour les reseaux prives. Toutes les
requetes DNS inverses pour des adresses IP privees (ie
192.168.x.x, etc...) qui ne sont pas trouvees dans /etc/hosts ou
dans le fichier de baux DHCP se voient retournees une reponse
"pas de tel domaine" ("no such domain") au lieu d'etre
transmises aux serveurs de nom amont ("upstream server").
-V, --alias=[<ancienne IP>]|[<IP de d'ebut>-<IP de fin>],<nouvelle
IP>[,<masque>]
Modifie les adresses IPv4 retournees par les serveurs de nom
amont; <ancienne IP> est remplacee par <nouvelle IP>. Si le
<masque> optionnel est fourni, alors toute adresse correspondant
a l'adresse <ancienne IP>/<masque> sera reecrite. Ainsi par
exemple --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 fonctionnalite
correspond a ce que les routeurs Cisco PIX appellent
"bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnee
sous la forme d'une gamme d'adresses, alors seules les adresses
dans cette gamme seront reecrites, et non le sous-reseau dans
son ensemble. Ainsi,
--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 a 10.0.0.10->10.0.0.40
-B, --bogus-nxdomain=<adresse IP>
Transforme les reponses contenant l'adresse IP fournie en
reponses "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 commence a retourner
l'adresse d'un serveur web publicitaire en reponse aux requetes
pour les noms de domaines non enregistres, au lieu de la reponse
correcte "NXDOMAIN". Cette option demande a Dnsmasq de
retourner la reponse correcte lorsqu'il constate ce
comportement. L'adresse retournee par Verisign en septembre 2003
est 64.94.110.11.
-f, --filterwin2k
Les dernieres versions de windows font des requetes DNS
periodiques auxquelles non seulement les serveurs DNS publics ne
peuvent donner de reponse, mais qui, de surcroit, peuvent poser
des problemes en declenchant des connexions intempestives pour
des liens reseaux avec des connexions "a la demande". Fournir
cette option active le filtrage des requetes de ce type. Les
requetes bloquees sont les requetes pour les entrees de type SOA
ou SRV, ainsi que les requetes de type ANY avec des noms
possedant des caracteres sous-lignes (requetes pour des serveurs
LDAP).
-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 resolv.conf(5)
les entrees correspondant aux serveurs de noms (nameserver).
Dnsmasq peut lire plusieurs fichiers de type resolv.conf, le
premier fichier specifie remplace le fichier par defaut, le
contenu des suivants est rajoute dans la liste des fichiers a
consulter. Seul le fichier ayant la derniere date de
modification sera charge en memoire.
-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.
-1, --enable-dbus
Autoriser la mise a jour de la configuration de Dnsmasq par le
biais d'appel de methodes DBus. Il est possible par ce biais de
mettre a jour l'adresse de serveurs DNS amont (et les domaines
correspondants) et de vider le cache. Cette option necessite que
Dnsmasq soit compile avec le support DBus.
-o, --strict-order
Par defaut, Dnsmasq envoie les requetes a 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 a essayer d'interroger, pour chaque requete, les
serveurs DNS dans leur ordre d'apparition dans le fichier
/etc/resolv.conf.
--all-servers
Par defaut, lorsque dnsmasq a plus d'un serveur amont
disponible, il n'envoie les requetes qu'a un seul serveur.
Specifier cette option force dnsmasq a effectuer ses requetes a
tous les serveurs disponibles. Le resultat renvoye au client
sera celui fournit par le premier serveur ayant repondu.
--stop-dns-rebind
Rejete (et enregistre dans le journal d'activite) les adresses
dans la gamme d'adresses IP privee (au sens RFC1918) qui
pourraient etre renvoyees par les serveurs amonts suite a une
resolution de nom. Cela bloque les attaques cherchant a
detourner de leur usage les logiciels de navigation web
('browser') en s'en servant pour decouvrir les machines situees
sur le reseau local.
--rebind-localhost-ok
Exclue 127.0.0/8 des verifications de reassociation DNS. Cette
gamme d'adresses est retournee par les serveurs Realtime
Blackhole (RBL, utilises dans la lutte contre le spam), la
bloquer peut entrainer des disfonctionnements de ces services.
--rebind-domain-ok=[<domaine>]|[[/<domaine>/[<domaine>/]
Ne pas detecter 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 entoures par des
'/', selon une syntaxe similaire a l'option --server, c-a-d :
--rebind-domain-ok=/domaine1/domaine2/domaine3/
-n, --no-poll
Ne pas verifier regulierement si le fichier /etc/resolv.conf a
ete modifie.
--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 donnees differentes de celles stockees dans le
cache.
-D, --domain-needed
Indique a Dnsmasq de ne jamais transmettre en amont de requetes
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 reponse de type "non trouve" est
renvoyee.
-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse
IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]]
Specifie 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 -R . Si un ou
plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce
serveur sera uniquement utilise uniquement pour ce(s)
domaine(s), et toute requete concernant ce(s) domaine(s) sera
adressee uniquement a ce serveur. Cette option est destinee aux
serveurs de nom prives : si vous avez un serveur de nom sur
votre reseau ayant pour adresse IP 192.168.1.1 et effectuant la
resolution des noms de la forme xxx.internal.thekelleys.org.uk,
alors -S /internal.thekelleys.org.uk/192.168.1.1 enverra toutes
les requetes pour les machines internes vers ce serveur de nom,
alors que toutes les autres requetes seront adressees aux
serveurs indiques dans le fichier /etc/resolv.conf. Une
specification de nom de domaine vide, // possede le sens
particulier de "pour les noms non qualifies uniquement",
c'est-a-dire les noms ne possedant pas de points. Un port non
standard peut etre rajoute a la suite des adresses IP en
utilisant le caractere #. Plus d'une option -S est autorisee, en
repetant les domaines et adresses IP comme requis.
Le domaine le plus specifique l'emporte sur le domaine le moins
specifique, ainsi : --server=/google.com/1.2.3.4
--server=/www.google.com/2.3.4.5 enverra les requetes pour
*.google.com a 1.2.3.4, a l'exception des requetes
*www.google.com, qui seront envoyees a 2.3.4.5.
L'adresse speciale '#' signifie "utiliser les serveurs
standards", ainsi --server=/google.com/1.2.3.4
--server=/www.google.com/# enverra les requetes pour
*.google.com a 1.2.3.4, a l'exception des requetes pour
*www.google.com qui seront envoyees comme d'habitude (c-a-d aux
serveurs definis par defaut).
Il est egalement permis de donner une option -S avec un nom de
domaine mais sans adresse IP; Cela informe Dnsmasq que le
domaine est local et qu'il doit repondre aux requetes le
concernant depuis les entrees contenues dans le fichier
/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre
les requetes aux serveurs amonts. local est synonyme de server
("serveur") afin de rendre plus claire l'utilisation de cette
option pour cet usage particulier.
La chaine de caracteres optionnelle suivant le caractere @
permet de definir la source que Dnsmasq doit utiliser pour les
reponses a ce serveur de nom. Il doit s'agir d'une des adresses
IP appartenant a la machine sur laquelle tourne Dnsmasq ou sinon
la ligne sera ignoree et une erreur sera consignee dans le
journal des evenements, ou alors d'un nom d'interface. Si un nom
d'interface est donne, alors les requetes vers le serveur de nom
seront envoyees depuis cette interface; si une adresse ip est
donnee, alors l'adresse source de la requete sera l'adresse en
question. L'option query-port est ignoree pour tous les serveurs
ayant une adresse source specifiee, mais il est possible de la
donner directement dans la specification de l'adresse source.
Forcer les requetes a etre emises depuis une interface
specifique n'est pas possible sur toutes les plateformes
supportees par dnsmasq.
-A, --address=/<domaine>/[domaine/]<adresse IP>
Specifie une adresse IP a retourner pour toute requete pour les
domaines fournis en option. Les requetes pour ce(s) domaine(s)
ne sont jamais transmises aux serveurs amonts et recoivent comme
reponse l'adresse IP specifiee qui peut etre une adresse IPv4 ou
IPv6. Pour donner a la fois une adresse IPv4 et une adresse IPv6
pour un domaine, utiliser plusieurs options -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 totalite du domaine
doubleclick.net vers un serveur web local afin d'eviter les
bannieres publicitaires. La specification de domaine fonctionne
de la meme facon que --server, avec la caracteristique
supplementaire que /#/ coincide avec tout domaine. Ainsi,
--address=/#/1.2.3.4 retournera 1.2.3.4 pour toute requete
n'ayant de reponse ni dans /etc/hosts, ni dans les baux DHCP, et
n'etant pas transmise a un serveur specifique par le biais d'une
directive --server.
-m, --mx-host=<nom de l'h^ote>[[,<nom du MX>],<pr'eference>]
Specifie un enregistrement de type MX pour <nom de l'hote>
retournant le nom donne dans <nom du MX> (s'il est present), ou
sinon le nom specifie dans l'option --mx-target si elle est
presente. Sinon retourne le nom de la machine sur laquelle
Dnsmasq tourne. La valeur par defaut (specifiee dans l'option
--mx-target ) est utile dans un reseau local pour rediriger les
courriers electroniques vers un serveur central. La valeur de
preference est optionnelle et vaut par defaut 1 si elle n'est
pas specifiee. Plus d'une entree MX peut etre fournie pour un
hote donne.
-t, --mx-target=<nom d'h^ote>
Specifie la reponse par defaut fournie par Dnsmasq pour les
requetes sur des enregistrements de type MX. Voir --mx-host. Si
--mx-target est donne mais pas de --mx-host, alors Dnsmasq
retourne comme reponse un enregistrement MX contenant le nom
d'hote specifie dans l'option --mx-target pour toute requete
concernant le MX de la machine sur laquelle tourne Dnsmasq.
-e, --selfmx
Definit, pour toutes les machines locales, un MX correspondant a
l'hote considere. Les machines locales sont celles definies dans
le fichier /etc/hosts ou dans un bail DHCP.
-L, --localmx
Definit, pour toutes les machines locales, un enregistrement MX
pointant sur l'hote specifie par mx-target (ou la machine sur
laquelle Dnsmasq tourne). Les machines locales sont celles
definies dans le fichier /etc/hosts ou dans un bail DHCP.
-W --srv-
host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorit'e>[,<poids>]]]]
Specifie un enregistrement DNS de type SRV. Voir la RFC2782 pour
plus de details. Si le champs <domaine> n'est pas fourni, prends
par defaut la valeur fournie dans l'option --domain. La valeur
par defaut pour le domaine est vide et le port par defaut est 1,
alors que les poids et priorites par defaut sont 0. Attention
lorsque vous transposez des valeurs issues d'une configuration
BIND : les ports, poids et priorites sont dans un ordre
differents. Pour un service/domaine donne, plus d'un
enregistrement SRV est autorise et tous les enregistrements qui
coincident sont retournes dans la reponse.
-Y, --txt-record=<nom>[[,<texte>],<texte>]
Definit un enregistrement DNS de type TXT. La valeur de
l'enregistrement TXT est un ensemble de chaines de caracteres,
donc un nombre variable de chaines de caracteres peuvent etre
specifiees, separees par des virgules. Utilisez des guillemets
pour mettre une virgule dans une chaine de caracteres. Notez que
la longueur maximale pour une chaine est de 255 caracteres, les
chaines plus longues etant decoupees en morceaux de 255
caracteres de longs.
--ptr-record=<nom>[,<cible>]
Definit un enregistrement DNS de type PTR.
--naptr-record=<nom>,<ordre>,<pr'ef'erence>,<drapeaux>,<service>,<expr.
r'eguli`ere>[,<remplacement>]
Retourne un enregistrement de type NAPTR, tel que specifie dans
le RFC3403.
--cname=<cname>,<cible>
Retourne un enregistrement de type CNAME qui indique que <cname>
est en realite <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 hotes
additionnel) ou via DHCP. Si une cible ne satisfait pas ces
criteres, le CNAME est ignore. Le CNAME doit etre unique, mais
il est autorise d'avoir plus d'un CNAME pointant vers la meme
cible.
--interface-name=<nom>,<interface>
Definit un entregistrement DNS associant le nom avec l'adresse
primaire sur l'interface donnee en argument. Cette option
specifie un enregistrement de type A pour le nom donne en
argument de la meme facon que s'il etait defini par une ligne de
/etc/hosts, sauf que l'adresse n'est pas constante mais
dependante de l'interface definie. Si l'interface est inactive,
non existante ou non configuree, une reponse vide est fournie.
Un enregistrement inverse (PTR) est egalement cree par cette
option, associant l'adresse de l'interface avec le nom. Plus
d'un nom peut etre associe a une interface donnee en repetant
cette option plusieurs fois; dans ce cas, l'enregistrement
inverse pointe vers le nom fourni dans la premiere instance de
cette option.
--add-mac
Ajoute l'adresse MAC du requeteur aux requetes DNS transmises
aux serveurs amonts. Cela peut etre utilise dans un but de
filtrage DNS par les serveurs amonts. L'adresse MAC peut
uniquement etre ajoutee si le requeteur est sur le meme sous-
reseau que le serveur dnsmasq. Veuillez noter que le mecanisme
utilise pour effectuer cela (une option EDNS0) n'est pas encore
standardisee, aussi cette fonctionalite doit etre consideree
comme experimentale. Notez egalement qu'exposer les adresses MAC
de la sorte peut avoir des implications en termes de securite et
de vie privee.
-c, --cache-size=<taille>
Definit la taille du cache de Dnsmasq. La valeur par defaut est
de 150 noms. Definir une valeur de zero desactive le cache.
-N, --no-negcache
Desactive le "cache negatif". Le "cache negatif" permet a
Dnsmasq de se souvenir des reponses de type "no such domain"
fournies par les serveurs DNS en amont et de fournir les
reponses sans avoir a re-transmettre les requetes aux serveurs
amont.
-0, --dns-forward-max=<nombre de requ^etes>
Definit le nombre maximum de requetes DNS simultanees. La valeur
par defaut est 150, ce qui devrait etre suffisant dans la
majorite des configurations. La seule situation identifiee dans
laquelle cette valeur necessite d'etre augmentee est lorsqu'un
serveur web a la resolution de nom activee pour l'enregistrement
de son journal des requetes, ce qui peut generer un nombre
important de requetes simultanees.
--proxy-dnssec
Un resolveur sur une machine cliente peut effectuer la
validation DNSSEC de deux facons : il peut effectuer lui-meme
les operations de chiffrements sur la reponse recue, ou il peut
laisser le serveur recursif amont faire la validation et
positionner un drapeau dans la reponse au cas ou celle-ci est
correcte. Dnsmasq n'est pas un validateur DNSSEC, aussi il ne
peut effectuer la validation comme un serveur de nom recursif,
cependant il peut retransmettre les resultats de validation de
ses serveurs amonts. Cette option permet l'activation de cette
fonctionalite. Vous ne devriez utiliser cela que si vous faites
confiance aux serveurs amonts ainsi que le r'eseau entre vous et
eux. Si vous utilisez le premier mode DNSSEC, la validation par
le resolveur des clients, cette option n'est pas requise.
Dnsmasq retourne toujours toutes les donnees necessaires par un
client pour effectuer la validation lui-meme.
-F, --dhcp-
range=[interface:<interface>,][tag:<label>[,tag:<label>],][set:<label],]<adresse
de d'ebut>,<adresse de fin>[,<masque de r'eseau>[,<broadcast>]][,<dur'ee
de bail>]
Active le serveur DHCP. Les adresses seront donnees dans la
plage comprise entre <adresse de debut> et <adresse de fin> et a
partir des adresses definies statiquement dans l'option dhcp-
host. Si une duree de bail est donnee, alors les baux seront
donnes pour cette duree. La duree de bail est donnee en
secondes, en minutes (exemple : 45m), en heures (exemple : 1h)
ou etre la chaine de caractere "infinite" pour une duree
indeterminee. Si aucune valeur n'est donnee, une duree de bail
par defaut de une heure est appliquee. La valeur minimum pour un
bail DHCP est de 2 minutes. Cette option peut etre repetee,
avec differentes adresses, pour activer le service DHCP sur plus
d'un reseau. Pour des reseaux directement connectes
(c'est-a-dire des reseaux dans lesquels la machine sur laquelle
tourne Dnsmasq possede une interface), le masque de reseau est
optionnel. Il est par contre requis pour les reseaux 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
meme sous-reseau. L'identifiant de label optionnel set:<label>
fournie une etiquette alphanumerique qui identifie ce reseau,
afin de permettre la fourniture d'options DHCP specifiques a
chaque reseau. Lorsque prefixe par 'tag:', la signification
change, et au lieu de definir un label, il definit le label pour
laquelle la regle s'applique. Un seul label peut- etre defini
mais plusieurs labels peuvent coincider.
L'adresse de fin peut etre remplacee par le mot-clef static
("statique") qui indique a Dnsmasq d'activer le service DHCP
pour le reseau specifie, mais de ne pas activer l'allocation
dynamique d'adresses IP : Seuls les hotes possedant des adresses
IP statiques fournies via dhcp-host ou presentes dans le fichier
/etc/ethers seront alors servis par le DHCP.
L'adresse de fin peut-etre remplacee par le mot-clef proxy ,
auquel cas Dnsmasq fournira un service de DHCP proxy pour le
sous-reseau specifie. (voir pxe-prompt et pxe-service pour plus
de details).
La section interface:<nom d'interface> n'est normalement pas
utilisee. Se referer aux indications de la section NOTES pour
plus de detail a ce sujet.
-G, --dhcp-host=[<adresse mat'erielle>][,id:<identifiant
client>|*][,set:<label>][,<adresse IP>][,<nom d'h^ote>][,<dur'ee de
bail>][,ignore]
Specifie les parametres DHCP relatifs a un hote. Cela permet a
une machine possedant une adresse materielle specifique de se
voir toujours allouee les memes nom d'hote, adresse IP et duree
de bail. Un nom d'hote specifie comme ceci remplace le nom
fourni par le client DHCP de la machine hote. Il est egalement
possible d'omettre l'adresse materielle et d'inclure le nom
d'hote, auquel cas l'adresse IP et la duree de bail
s'appliqueront a toute machine se reclamant de ce nom. Par
exemple --dhcp-host=00:20:e0:3b:13:af,wap,infinite specifie a
Dnsmasq de fournir a la machine d'adresse materielle
00:20:e0:3b:13:af le nom, et un bail de duree indeterminee.
--dhcp-host=lap,192.168.0.199 specifie a Dnsmasq d'allouer
toujours a la machine portant le nom lap l'adresse IP
192.168.0.199.
Les adresses allouees de la sorte ne sont pas contraintes a une
plage d'adresse specifiee par une option --dhcp-range, mais
elles se trouver dans le meme sous-reseau qu'une plage dhcp-
range valide. Pour les sous-reseaux qui n'ont pas besoin
d'adresses dynamiquement allouees, utiliser le mot-clef "static"
dans la declaration de plage d'adresses dhcp-range.
Il est possible d'utiliser des identifiants clients plutot que
des adresses materielles pour identifier les hotes, en prefixant
par ceux-ci par 'id:'. Ainsi, --dhcp-host=id:01:02:03:04,.....
refere a l'hote d'identifiant 01:02:03:04. Il est egalement
possible de specifier l'identifiant client sous la forme d'une
chaine de caracteres, comme ceci : --dhcp-
host=id:identifiantclientsousformedechaine,.....
L'option speciale id:* signifie : "ignorer tout identifiant
client et n'utiliser que l'adresse materielle". Cela est utile
lorsqu'un client presente un identifiant client mais pas les
autres.
Si un nom apparait dans /etc/hosts, l'adresse associee peut etre
allouee a un bail DHCP mais seulement si une option --dhcp-host
specifiant le nom existe par ailleurs. Seul un nom d'hote
peut-etre donne dans une option dhcp-host , mais les alias sont
possibles au travers de l'utilisation des CNAMEs. (Voir --cname
). Le mot clef "ignore" ("ignorer") indique a Dnsmasq de ne
jamais fournir de bail DHCP a une machine. La machine peut etre
specifiee par son adresse materielle, son identifiant client ou
son nom d'hote. Par exemple --dhcp-
host=00:20:e0:3b:13:af,ignore Cela est utile lorsqu'un autre
serveur DHCP sur le reseau doit etre utilise par certaines
machines.
Le parametre set:<identifiant reseau> permet de definir un
identifiant de reseau lorsque l'option dhcp-host est utilisee.
Cela peut servir a selectionner des options DHCP juste pour cet
hote. Plus d'un label peut etre fourni dans une directive dhcp-
host (et dans cette seule directive). Lorsqu'une machine
coincide avec une directive dhcp-host (ou une impliquee par
/etc/ethers), alors le label reserve "known" ("connu") est
associe. Cela permet a Dnsmasq d'etre configure pour ignorer les
requetes issus de machines inconnue
par le biais de --dhcp-ignore=tag:!known.
Les adresses ethernet (mais pas les identifiants clients)
peuvent etre definies avec des octets joker, ainsi par exemple
--dhcp-host=00:20:e0:3b:13:*,ignore demande a Dnsmasq d'ignorer
une gamme d'adresses materielles. Il est a noter que "*"
doit-etre precede d'un caractere d'echappement ou mis entre
guillemets lorsque specifie en option de ligne de commande, mais
pas dans le fichier de configuration.
Les adresses materielles coincident en principe avec n'importe
quel type de reseau (ARP), mais il est possible de les limiter a
un seul type ARP en les precedant du type ARP (en Hexadecimal)
et de "-". Ainsi --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
coincidera uniquement avec des adresses materielles Token-Ring,
puisque le type ARP pour une adresse Token-Ring est 6.
Un cas special correspond a l'inclusion d'une ou plusieurs
adresses materielles, c-a-d : --dhcp-
host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2. Cela
permet a une adresse IP d'etre associe a plusieurs adresses
materielles, et donne a dnsmasq la permission d'abandonner un
bail DHCP attribue a l'une de ces adresses lorsqu'une autre
adresse dans la liste demande un bail. Ceci est une operation
dangereuse qui ne fonctionnera de maniere fiable que si une
adresse materielle est active a un moment donne et dnsmasq n'a
aucun moyen de s'assurer de cela. Cela est utile, par exemple,
pour allouer une adresse IP stable a un laptop qui aurait a la
fois une connexion filaire et sans-fil.
--dhcp-hostsfile=<chemin>
Lis les informations d'hotes DHCP dans le fichier specifie. Si
l'argument est un chemin vers un repertoire, lis tous les
fichiers de ce repertoire. Le fichier contient des informations
a raison d'un hote par ligne. Le format d'une ligne est la meme
que le texte fourni a la droite sur caractere "=" dans l'option
--dhcp-host. L'avantage de stocker les informations sur les
hotes DHCP dans ce fichier est que celles-ci peuvent etre
modifiees sans recharger Dnsmasq; le fichier sera relu lorsque
Dnsmasq recoit un signal SIGHUP.
--dhcp-optsfile=<chemin>
Lis les informations relatives aux options DHCP dans le fichier
specifie. Si l'argument est un chemin vers un repertoire, lis
tous les fichiers de ce repertoire. L'interet d'utiliser cette
option est le meme que pour
--dhcp-hostsfile : le fichier specifie sera recharge a la
reception par dnsmasq d'un signal SIGHUP. Notez qu'il est
possible d'encoder l'information via --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
-Z, --read-ethers
Lis les informations d'hotes DHCP dans le fichier /etc/ethers.
Le format de /etc/ethers est une adresse materielle suivie, soit
par un nom d'hote, soit par une adresse IP sous la forme de 4
chiffres separes par des points. Lorsque lu par Dnsmasq, ces
lignes ont exactement le meme effet que l'option --dhcp-host
contenant les memes informations. /etc/ethers est relu a la
reception d'un signal SIGHUP par Dnsmasq.
-O, --dhcp-option=[tag:<label>,[tag:<label>]][encap:<option>,][vi-
encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom
d'option>],[<valeur>[,<valeur>]]
Specifie des options differentes ou supplementaires pour des
clients DHCP. Par defaut, Dnsmasq envoie un ensemble standard
d'options aux clients DHCP : le masque de reseau et l'adresse de
broadcast sont les memes que pour l'hote sur lequel tourne
Dnsmasq, et le serveur DNS ainsi que la route par defaut
prennent comme valeur l'adresse de la machine sur laquelle
tourne Dnsmasq. Si une option de nom de domaine a ete definie,
son contenu est transmis. Cette option de configuration permet
de changer toutes ces valeurs par defaut, ou de specifier
d'autres options. L'option DHCP a transmettre peut etre fournie
sous forme d'un nombre decimal ou sous la forme "option:<nom
d'option>". Les nombres correspondants aux options sont definis
dans la RFC2132 et suivants. Les noms d'options connus par
Dnsmasq peuvent etre obtenus via "Dnsmasq --help dhcp". Par
exemple, pour definir la route par defaut a 192.168.4.4, il est
possible de faire --dhcp-option=3,192.168.4.4 ou --dhcp-option =
option:router, 192.168.4.4 ou encore, pour positionner l'adresse
du serveur de temps a 192.168.0.4, on peut faire --dhcp-option =
42,192.168.0.4 ou --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 donnees autorisees
sont des adresses IP sous la forme de 4 chiffres separes par des
points, un nombre decimal, une liste de caracteres hexadecimaux
separes par des 2 points, ou une chaine de caracteres. Si des
labels optionnels sont fournis, alors cette option n'est envoyee
qu'aux reseaux dont tous les labels coincident avec ceux de la
requete.
Un traitement special est effectue sur les chaines de caracteres
fournies pour l'option 119, conformement a la RFC 3397. Les
chaines de caracteres ou les adresses IP sous forme de 4
chiffres separes par des points donnes en arguments de l'option
120 sont traites conformements a la RFC 3361. Les adresses IP
sous forme de 4 chiffres separes par des points suivies par une
barre montante "/", puis une taille de masque sont encodes
conformements a la RFC 3442.
Attention : aucun test n'etant fait pour verifier que des
donnees d'un type adequat sont envoyees pour un numero d'option
donne, il est tout a fait possible de persuader Dnsmasq de
generer des paquets DHCP illegaux par une utilisation incorrecte
de cette option. Lorsque la valeur est un nombre decimal,
Dnsmasq doit determiner la taille des donnees. Cela est fait en
examinant le numero de l'option et/ou la valeur, mais peut-etre
evite en rajoutant un suffixe d'une lettre comme suit : b = un
octet, s = 2 octets, i = 4 octets. Cela sert essentiellement
pour des options encapsulees de classes de vendeurs (voir plus
bas), pour lesquelles Dnsmasq ne peut determiner la taille de la
valeur. Les donnees d'options consistant uniquement de points et
de decimaux sont interpretees par Dnsmasq comme des adresses IP,
et envoyees comme telles. Pour forcer l'envoi sous forme de
chaine de caractere, il est necessaire d'utiliser des guillemets
doubles. Par exemple, l'utilisation de l'option 66 pour fournir
une adresse IP sous la forme d'une chaine de caracteres comme
nom de serveur TFTP, il est necessaire de faire comme suit :
--dhcp-option=66,"1.2.3.4"
Les options encapsulees de classes de vendeurs peuvent-etre
aussi specifiees en utilisant --dhcp-option : par exemple
--dhcp-option=vendor:PXEClient,1,0.0.0.0 envoie l'option
encapsulee de classe de vendeur "mftp-address=0.0.0.0" a
n'importe quel client dont la classe de vendeur correspond a
"PXEClient". La correspondance pour les classes de vendeur
s'effectue sur des sous-chaines de caracteres (voir --dhcp-
vendorclass pour plus de details). Si une option de classe de
vendeur (numero 60) est envoyee par Dnsmasq, alors cela est
utilise pour selectionner les options encapsulees, de preference
a toute option envoyee par le client. Il est possible d'omettre
completement une classe de vendeur : --dhcp-
option=vendor:,1,0.0.0.0 Dans ce cas l'option encapsulee est
toujours envoyee.
Les options peuvent-etre encapsulees au sein d'autres options :
par exemple --dhcp-option=encap:175, 190, iscsi-client0 enverra
l'option 175, au sein de laquelle se trouve l'option 190.
Plusieurs options encapsulees avec le meme numero d'option
seront correctement combinees au sein d'une seule option
encapsulee. Il n'est pas possible de specifier encap: et vendor:
au sein d'une meme option dhcp.
La derniere variante pour les options encapsulees est "l'option
de Vendeur identifiant le vendeur" ("Vendor-Identifying Vendor
Options") telle que decrite dans le RFC3925. Celles-ci sont
specifiees comme suit : --dhcp-option=vi-encap:2, 10, text Le
numero dans la section vi-encap: est le numero IANA de
l'entreprise servant a identifier cette option.
L'adresse 0.0.0.0 n'est pas traitee de maniere particuliere
lorsque fournie dans une option encapsulee.
--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 meme facon que --dhcp-option
sauf que cette option sera toujours envoyee, meme si le client
ne la demande pas dans la liste de parametres requis. Cela est
parfois necessaire, par exemple lors de la fourniture d'options
a PXELinux.
--dhcp-no-override
Desactive la reutilisation des champs DHCP nom de serveur et nom
de fichier comme espace supplementaire pour les options. Si cela
est possible, dnsmasq deplace les informations sur le serveur de
demarrage et le nom de fichier (fournis par 'dhcp-boot') en
dehors des champs dedies a cet usage dans les options DHCP. Cet
espace supplementaire est alors disponible dans le paquet DHCP
pour d'autres options, mais peut, dans quelques rares cas,
perturber des clients vieux ou defectueux. Cette option force le
comportement a l'utilisation des valeurs "simples et sures" afin
d'eviter des problemes dans de tels cas.
-U, --dhcp-vendorclass=set:<label>,<classe de vendeur>
Associe une chaine de classe de vendeur a un label. La plupart
des clients DHCP fournissent une "classe de vendeur" ("vendor
class") qui represente, d'une certaine facon, le type d'hote.
Cette option associe des classes de vendeur a des labels, de
telle sorte que des options DHCP peuvent-etre fournie de maniere
selective aux differentes classes d'hotes. Par exemple, dhcp-
vendorclass=set:printers,Hewlett-Packard JetDirect ou dhcp-
vendorclass=printers,Hewlett-Packard JetDirect permet de
n'allouer des options qu'aux imprimantes HP de la maniere
suivante : --dhcp-option=tag:printers,3,192.168.4.4 La chaine de
caracteres de la classe de vendeur founie en argument est
cherchee en temps que sous-chaine de caracteres au sein de la
classe de vendeur fournie par le client, de facon a permettre la
recherche d'un sous-ensemble de la chaine de caracteres ("fuzzy
matching"). Le prefixe set: est optionnel mais autorise afin de
conserver une certaine homogeneite.
-j, --dhcp-userclass=set:<label>,<classe utilisateur>
Associe une chaine de classe d'utilisateur a un label (effectue
la recherche sur des sous-chaines, comme pour les classes de
vendeur). La plupart des clients permettent de configurer une
"classe d'utilisateur". Cette option associe une classe
d'utilisateur a un label, de telle maniere qu'il soit possible
de fournir des options DHCP specifiques a differentes classes
d'hotes. Il est possible, par exemple, d'utiliser ceci pour
definir un serveur d'impression different pour les hotes de la
classe "comptes" et ceux de la classe "ingenierie".
-4, --dhcp-mac=set:<label>,<adresse MAC>
Associe une adresse materielle (MAC) a un label. L'adresse
materielle peut inclure des jokers. Par exemple --dhcp-
mac=set:3com,01:34:23:*:*:* permet de definir le label "3com"
pour n'importe quel hote dont l'adresse materielle coincide avec
les criteres definis.
--dhcp-circuitid=set:<label>,<identifiant de circuit>, --dhcp-
remoteid=set:<label>,<identifiant distant>
Associe des options de relais DHCP issus de la RFC3046 a des
labels. Cette information peut-etre fournie par des relais
DHCP. L'identifiant de circuit ou l'identifiant distant est
normalement fourni sous la forme d'une chaine de valeurs
hexadecimales separees par des ":", mais il est egalement
possible qu'elle le soit sous la forme d'une simple chaine de
caracteres. Si l'identifiant de circuit ou d'agent correspond
exactement a celui fourni par le relais DHCP, alors le label est
appose.
--dhcp-subscrid=set:<label>,<identifiant d'abonn'e>
Associe des options de relais DHCP issues de la RFC3993 a des
labels.
--dhcp-proxy[=<adresse ip>]......
Un agent relai DHCP normal est uniquement utilise pour faire
suivre les elements initiaux de l'interaction avec le serveur
DHCP. Une fois que le client est configure, il communique
directement avec le serveur. Cela n'est pas souhaitable si le
relais rajoute des informations supplementaires aux paquets
DHCP, telles que celles utilisees dans dhcp-circuitid et dhcp-
remoteid. Une implementation complete de relai peut utiliser
l'option serverid-override de la RFC 5107 afin de forcer le
serveur DHCP a utiliser le relai en temps que proxy complet, de
sorte que tous les paquets passent par le relai. Cette option
permet d'obtenir le meme resultat 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 donnee, seules les interactions avec les
relais dont l'adresse est dans la liste seront affectees.
--dhcp-match=set:<label>,<num'ero d'option>|option:<nom d'option>|vi-
encap:<entreprise>[,<valeur>]
Si aucune valeur n'est specifiee, associe le label si le client
envoie une option DHCP avec le numero ou le nom specifie.
Lorsqu'une valeur est fournie, positionne le label seulement
dans le cas ou l'option est fournie et correspond a la valeur.
La valeur peut-etre de la forme "01:ff:*:02", auquel cas le
debut de l'option doit correspondre (en respectant les jokers).
La valeur peut aussi etre de la meme forme que dans dhcp-option
, auquel cas l'option est traitee comme un tableau de valeur, et
un des elements doit correspondre, ainsi
--dhcp-match=set:efi-ia32,option:client-arch,6
specifie le label "efi-ia32" si le numero 6 apparait dnas la
liste d'architectures envoye par le client au sein de l'option
93. (se referer au RFC 4578 pour plus de details). Si la valeur
est un chaine de caracteres, celle-ci est recherchee
(correspondance en temps que sous-chaine).
Pour la forme particuliere vi-encap:<numero d'entreprise>, la
comparaison se fait avec les classes de vendeur "identifiant de
vendeur" ("vendor-identifying vendor classes") pour l'entreprise
dont le numero est fourni en option. Veuillez vous referer a la
RFC 3925 pour plus de detail.
--tag-if=set:<label>[,set:<label>[,tag:<label>[,tag:<label>]]]
Effectue une operation booleenne sur les labels. Si tous les
labels apparaissant dans la liste tag:<label> sont positionnes,
alors tous les la de la liste "set:<labels>" sont positionnes
(ou supprimes, dans le cas ou "tag:!<label>" utilise). Si aucun
tag:<label> n'est specifie, alors tous les labels fournis par
set:<label> sont positionnes. N'importe quel nombre de set: ou
tag: peuvent etre fournis, et l'ordre est sans importance. Les
lignes tag-if sont executees dans l'ordre, ce qui fait que si un
label dans tag:<label> est un label positionne par une regle
tag-if, la ligne qui positionne le label doit preceder celle qui
le teste.
-J, --dhcp-ignore=tag:<label>[,tag:<label>]
Lorsque tous les labels fournis dans l'option sont presents,
ignorer l'hote et ne pas donner de bail DHCP.
--dhcp-ignore-names[=tag:<label>[,tag:<label>]]
Lorsque tous les labels fournis dans l'option sont presents,
ignorer le nom de machine fourni par l'hote. Il est a noter que,
a la difference de l'option "dhcp-ignore", il est permis de ne
pas fournir de label. Dans ce cas, les noms d'hotes fournis par
les clients DHCP seront toujours ignores, et les noms d'hotes
seront ajoutes au DNS en utilisant uniquement la configuration
dhcp-host de Dnsmasq, ainsi que le contenu des fichiers
/etc/hosts et /etc/ethers.
--dhcp-generate-names=tag:<label>[,tag:<label>]
Generer un nom pour les clients DHCP qui autrement n'en aurait
pas, en utilisant l'adresse MAC sous sa forme hexadecimale,
separee par des tirets. Noter que si un hote fourni un nom,
celui-ci sera utilise de preference au nom autogenere, a moins
que --dhcp-ignore-names ne soit positionne.
--dhcp-broadcast=[tag:<label>[,tag:<label>]]
Lorsque tous les labels fournis dans l'option sont presents,
toujours utiliser le broadcast pour communiquer avec l'hote
lorsque celui-ci n'est pas configure. Il est possible de ne
specifier aucun label, auquel cas cette option s'applique
inconditionnellement. La plupart des clients DHCP necessitant
une reponse par le biais d'un broadcast activent une option dans
leur requete, ce qui fait que cela se fait automatiquement, mais
ce n'est pas la cas de certains vieux clients BOOTP.
-M, --dhcp-boot=[tag:<label>,]<nom de fichier>,[<nom de
serveur>[,<adresse de serveur>]]
Specifie les options BOOTP devant etre retournees par le serveur
DHCP. Le nom de serveur ainsi que l'adresse sont optionnels :
s'ils ne sont pas fournis, le nom est laisse vide et l'adresse
fournie est celle de la machine sur laquelle s'execute Dnsmasq.
Si Dnsmasq founit un service TFTP (voir --enable-tftp ), alors
seul un nom de fichier est requis ici pour permettre un
demarrage par le reseau. Si d'eventuels labels sont fournis,
ils doivent coincider avec ceux du client pour que cet element
de configuration lui soit envoye.
--pxe-service=[tag:<label>,]<CSA>,<entr'ee de menu>[,<nom de
fichier>|<type de service de d'emarrage>][,<adresse de serveur>]
La plupart des ROMS de demarrage PXE ne permettent au systeme
PXE que la simple obtention d'une adresse IP, le telechargement
du fichier specifie dans dhcp-boot et son execution. Cependant,
le systeme PXE est capable de fonctions bien plus complexes pour
peu que le serveur DHCP soit adapte.
Ceci specifie l'option de demarrage qui apparaitra dans un menu
de demarrage PXE. <CSA> est le type du systeme 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-etre specifies sous la forme d'une valeur
entiere. Le parametre apres le texte correspondant a l'entree
dans le menu peut etre un nom de fichier, auquel cas Dnsmasq
agit comme un serveur de demarrage et indique au client PXE
qu'il faut telecharger ce fichier via TFTP, soit depuis ce
serveur (l'option enable-tftp doit etre specifiee 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 etre
rajoute au nom de fichier. Si une valeur numerique entiere est
fournir pour le type de demarrage, en remplacement du nom de
fichier, le client PXE devra chercher un service de demarrage de
ce type sur le reseau. Cette recherche peut etre faite via
broadcast ou directement aupres d'un serveur si son adresse IP
est fournie dans l'option. Si aucun nom de fichier n'est donne
ni aucune valeur de type de service de demarrage n'est fournie
(ou qu'une valeur de 0 est donnee pour le type de service),
alors l'entree de menu provoque l'interruption du demarrage par
le reseau et la poursuite du demarrage sur un media local.
--pxe-prompt=[tag:<label>,]<invite>[,<d'elai>]
Cette option permet d'afficher une invite a la suite du
demarrage PXE. Si un delai est fourni, alors la premiere entree
du menu de demarrage sera automatiquement executee apres ce
delai. Si le delai vaut 0, alors la premiere entree disponible
sera executee immediatement. Si pxe-prompt est omis, le systeme
attendra un choix de l'utilisateur s'il existe plusieurs entrees
dans le menu, ou demarrera immediatement dans le cas ou il n'y a
qu'une seule entree. Voir pxe-service pour plus de details sur
les entrees de menu.
Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas ou un autre
serveur DHCP sur le reseau est responsable de l'allocation des
adresses IP, auquel cas Dnsmasq se contente de fournir les
informations donnees dans les options pxe-prompt et pxe-service
pour permettre le demarrage par le reseau. Ce mode est active en
utilisant le mot-clef proxy dans dhcp-range.
-X, --dhcp-lease-max=<nombre>
Limite Dnsmasq a un maximum de <nombre> baux DHCP. Le defaut est
de 1000. Cette limite permet d'eviter des attaques de deni de
service ("DoS") par des hotes creant des milliers de baux et
utilisant beaucoup de memoire dans le processus Dnsmasq.
-K, --dhcp-authoritative
Cette option doit etre donnee lorsque Dnsmasq est le seul
serveur DHCP sur le reseau. Cela change le comportement par
defaut qui est celui d'un strict respect des RFC, afin que les
requetes DHCP pour des baux inconnus par des hotes inconnus ne
soient pas ignorees. Cela permet a de nouveaux hotes d'obtenir
des baux sans tenir compte de fastidieuses temporisations
("timeout"). Cela permet egalement a Dnsmasq de reconstruire sa
base de donnee contenant les baux sans que les clients n'aient
besoin de redemander un bail, si celle-ci est perdue.
--dhcp-alternate-port[=<port serveur>[,<port client>]]
Change les ports utilises par defaut pour le DHCP. Si cette
option est donnee toute seule sans arguments, alors change les
ports utilises pour le DHCP de 67 et 68 respectivement a 1067 et
1068. Si un seul argument est donne, ce numero est utilise pour
le port serveur et ce numero plus 1 est utilise pour le port
client. Enfin, en fournissant deux numeros de ports, il est
possible de specifier arbitrairement 2 ports a la fois pour le
serveur et pour le client DHCP.
-3, --bootp-dynamic[=<identifiant de r'eseau>[,<identifiant de r'eseau>]]
Permet l'allocation dynamique d'adresses IP a des clients BOOTP.
Utiliser cette option avec precaution, une adresse allouee a un
client BOOTP etant perpetuelle, et de fait n'est plus
disponibles pour d'autres hotes. Si aucun argument n'est donne,
alors cette option permet une allocation dynamique dans tous les
cas. Si des arguments sont specifies, alors l'allocation ne se
fait que lorsque tous les identifiants coincident. Il est
possible de repeter cette option avec plusieurs jeux
d'arguments.
-5, --no-ping
Par defaut, le serveur DHCP tente de s'assurer qu'une adresse
n'est pas utilisee avant de l'allouer a un hote. Cela est fait
en envoyant une requete ICMP de type "echo request" (aussi
connue sous le nom de "ping") a l'adresse en question. Si le
serveur obtient une reponse, alors l'adresse doit deja etre
utilisee et une autre est essayee. Cette option permet de
supprimer cette verification. A utiliser avec precaution.
--log-dhcp
Traces additionnelles pour le service DHCP : enregistre toutes
les options envoyees aux clients DHCP et les labels utilises
pour la determination de celles-ci.
-l, --dhcp-leasefile=<chemin de fichier>
Utilise le fichier dont le chemin est fourni pour stocker les
informations de baux DHCP.
-6 --dhcp-script=<chemin de fichier>
Lorsqu'un bail DHCP est cree, ou qu'un ancien est supprime, le
fichier dont le chemin est specifie est execute. Le <chemin de
fichier> doit etre un chemin absolu, aucune recherche n'est
effectuee via la variable d'environnement PATH. Les arguments
fournis a celui-ci sont soit "add" ("ajouter"), "old" ("ancien")
ou "del" ("supprimer"), suivi de l'adresse MAC de l'hote puis
l'adresse IP et le nom d'hote si celui-ci est connu."add"
signifie qu'un bail a ete cree, "del" signifie qu'il a ete
supprime, "old" notifie que le bail existait au lancement de
Dnsmasq, ou un changement d'adresse MAC ou de nom d'hote pour un
bail existant (ou, dans le cas ou leasefile-ro est specifie, un
changement de duree de bail ou d'identifiant d'hote). Si
l'adresse Mac est d'un type de reseau autre qu'ethernet, il est
necessaire de la preceder du type de reseau, par exemple
"06-01:23:45:67:89:ab" pour du token ring. Le processus est
execute en temps que super-utilisateur (si Dnsmasq a ete lance
en temps que "root"), meme si Dnsmasq est configure pour changer
son UID pour celle d'un utilisateur non-privilegie.
L'environnement est herite de celui de l'invocation du processus
Dnsmasq, auquel se rajoute quelques unes ou toutes les variables
decrites ci-dessous :
DNSMASQ_CLIENT_ID, si l'hote a fourni un identifiant de client.
DNSMASQ_DOMAIN si le nom de domaine pleinement qualifie de
l'hote est connu, la part relative au domaine y est stockee.
(Notez que le nom d'hote transmis comme argument au script n'est
jamais pleinement qualifie).
Si le client fournit une information de classe de vendeur, un
nom d'hote, ou des classes d'utilisateur, celles-ci sont
fournies dans les variables DNSMASQ_VENDOR_CLASS et
DNSMASQ_USER_CLASS0 a DNSMASQ_USER_CLASSn et
DNSMASQ_SUPPLIED_HOSTNAME respectivement, mais seulement pour
les actions "add" et "old" lorsqu'un hote reprend un bail
existant, ces variables n'etant pas stockees dans la base de
baux de Dnsmasq.
Si Dnsmasq a ete compile avec l'option HAVE_BROKEN_RTC ("horloge
RTC defectueuse"), alors la duree du bail (en secondes) est
stockee dans la variable DNSMASQ_LEASE_LENGTH, sinon la date
d'expiration du bail est toujours stocke dans la variable
d'environnement DNSMASQ_LEASE_EXPIRES. Le nombre de secondes
avant expiration est toujours stocke dans
DNSMASQ_TIME_REMAINING.
Si un bail etait associe a un nom d'hote et que celui-ci est
supprime, un evenement de type "old" est genere avec le nouveau
statut du bail, c-a-d sans nom d'hote, 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 requete est arrivee; ceci n'est pas renseigne dans
le cas des actions "old" ayant lieu apres un redemarrage de
dnsmasq.
La variable DNSMASQ_RELAY_ADDRESS est renseignee si le client a
utilise 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, separes par des espaces.
Tous les descripteurs de fichiers sont fermes, sauf stdin,
stdout et stderr qui sont ouverts sur /dev/null (sauf en mode
deverminage).
Le script n'est pas lance de maniere concurrente : au plus une
instance du script est executee a la fois (dnsmasq attends
qu'une instance de script se termine avant de lancer la
suivante). Les changements dans la base des baux necessitant le
lancement du script sont place en attente dans une queue jusqu'a
terminaison d'une instance du script en cours. Si cette mise en
queue fait que plusieurs changements d'etats apparaissent pour
un bail donne avant que le script puisse etre lance, alors les
etats les plus anciens sont supprimes et lorsque le script sera
finalement lance, ce sera avec l'etat courant du bail.
Au demarrage de Dnsmasq, le script sera invoque pour chacun des
baux existants dans le fichier des baux. Le script sera lance
avec l'action "del" pour les baux expires, et "old" pour les
autres. Lorsque Dnsmasq recoit un signal HUP, le script sera
invoque avec une action "old" pour tous les baux existants.
--dhcp-scriptuser
Specifie l'utilisateur sous lequel le script lease-change doit
etre execute. La valeur par defaut correspond a l'utilisateur
root mais peut-etre changee par le biais de cette option.
-9, --leasefile-ro
Supprimer completement l'usage du fichier servant de base de
donnee pour les baux DHCP. Le fichier ne sera ni cree, ni lu, ni
ecrit. Change la facon dont le script de changement d'etat de
bail est lance (si celui-ci est fourni par le biais de l'option
--dhcp-script ), de sorte que la base de donnees de baux puisse
etre completement geree par le script sur un stockage externe.
En addition aux actions decrites dans --dhcp-script, le script
de changement d'etat de bail est appelle une fois, au lancement
de Dnsmasq, avec pour seul argument "init". Lorsqu'appelle de la
sorte, le script doit fournir l'etat 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 egalement une invocation du script de changement
d'etat de bail a chaque changement de l'identifiant de client,
de longueur de bail ou de date d'expiration.
--bridge-interface=<interface>,<alias>[,<alias>]
Traiter les requetes DHCP arrivant sur n'importe laquelle des
interfaces <alias> comme si elles arrivaient de l'interface
<interface>. Cette option est necessaire 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.
-s, --domain=<domaine>[,<gamme d'adresses>[,local]]
Specifie le domaine du serveur DHCP. Le domaine peut etre donne
de maniere inconditionnelle (sans specifier de gamme d'adresses
IP) ou pour des gammes d'adresses IP limitees. Cela a deux
effets; tout d'abord, le serveur DHCP retourne le domaine a tous
les hotes le demandant, deuxiemement, cela specifie le domaine
valide pour les hotes DHCP configures. Le but de cela est de
contraindre les noms d'hote afin qu'aucun hote sur le LAN ne
puisse fournir via DHCP un nom tel que par exemple
"microsoft.com" et capturer du trafic de maniere illegitime. Si
aucun nom de domaine n'est specifie, alors les noms d'hotes avec
un nom de domaine (c-a-d un point dans le nom) seront interdits
et enregistres dans le journal (logs). Si un suffixe est fourni,
alors les noms d'hotes possedant un domaine sont autorises, pour
peu que le nom de domaine coincide avec le nom fourni. De plus,
si un suffixe est fourni, alors les noms d'hotes ne possedant
pas de nom de domain se voient rajouter le suffixe fourni dans
l'option --domain. Ainsi, sur mon reseau, je peux configurer
--domain=thekelleys.org.uk et avoir une machine dont le nom DHCP
serait "laptop". L'adresse IP de cette machine sera disponible a
la fois pour "laptop" et "laptop.thekelleys.org.uk". Si la
valeur fournie pour <domaine> est "#", alors le nom de domaine
est positionne a la premiere valeur de la directive "search" du
fichier /etc/resolv.conf (ou equivalent).
La gamme d'adresses peut etre de la forme <adresse ip>,<adresse
ip> ou <adresse ip>/<masque de reseau> voire une simple <adresse
ip>. Voir --dhcp-fqdn qui peut changer le comportement de
dnsmasq relatif aux domaines.
Si la gamme d'adresse est fournie sous la forme <adresse
ip>/<taille de reseau>, alors le drapeau "local" peut-etre
rajoute qui a pour effect d'ajouter --local-declarations aux
requetes DNS directes et inverses. C-a-d
--domain=thekelleys.org.uk,192.168.0.0/24,local est indentique a
--domain=thekelleys.org.uk,192.168.0.0/24
--local=/thekelleys.org.uk/ --local=/0.168.192.in-addr.arpa/ La
taille de reseau doit-etre de 8, 16 ou 24 pour etre valide.
--dhcp-fqdn
Dans le mode par defaut, dnsmasq insere les noms non-qualifies
des clients DHCP dans le DNS. Pour cette raison, les noms
doivent etre uniques, meme si deux clients ayant le meme nom
sont dans deux domaines differents. Si un deuxieme client DHCP
apparait ayant le meme nom qu'un client deja existant, ce nom
est transfere au nouveau client. Si --dhcp-fqdn est specifie, ce
comportement change : les noms non qualifies ne sont plus
rajoutes dans le DNS, seuls les noms qualifies le sont. Deux
clients DHCP avec le meme nom peuvent tous les deux garder le
nom, pour peu que la partie relative au domaine soit differente
(c-a-d que les noms pleinements qualifies different). Pour
d'assurer que tous les noms ont une partie domaine, il doit-y
avoir au moins un --domain sans gamme d'adresses de specifie
lorsque l'option --dhcp-fqdn est configuree.
--enable-tftp[=<interface>]
Active la fonction serveur TFTP. Celui-ci est de maniere
deliberee limite aux fonctions necessaires au demarrage par le
reseau ("net-boot") d'un client. Seul un acces en lecture est
possible; les extensions tsize et blksize sont supportees (tsize
est seulement supporte en mode octet). Voir dans la section
NOTES les informations relatives a la specification de
l'interface.
--tftp-root=<r'epertoire>[,<interface>]
Les fichiers a fournir dans les transferts TFTP seront cherches
en prenant le repertoire fourni comme racine. Lorsque cela est
fourni, les chemins TFTP incluant ".." sont rejetes, afin
d'eviter que les clients ne puissent sortir de la racine
specifiee. Les chemins absolus (commencant par "/") sont
autorises, mais ils doivent etre a la racine TFTP fournie. Si
l'option interface est specifiee, le repertoire n'est utilise
que pour les requetes TFTP recues sur cette interface.
--tftp-unique-root
Ajouter l'adresse IP du client TFTP en temps qu'element de
chemin, a la suite de la racine tftp (adresse sous forme de 4
chiffres separes par des points). Uniquement valable si une
racine TFTP est specifiee et si le repertoire 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 resultant sera "/tftp/1.2.3.4/monfichier" si
/tftp/1.2.3.4 existe, ou "/tftp/monfichier" dans le cas
contraire.
--tftp-secure
Active le mode TFTP securise : sans cela, tout fichier lisible
par Dnsmasq est disponible via TFTP (les regles de controle
d'acces unix habituelles s'appliquent). Lorsque l'option --tftp-
secure est specifiee, seuls les fichiers possedes par
l'utilisateur sous lequel tourne le processus Dnsmasq sont
accessibles. Si Dnsmasq est execute en temps que super-
utilisateur ("root"), des regles differentes s'appliquent :
--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 recommande d'executer Dnsmasq sous l'utilisateur "root"
lorsque le service TFTP est active, et il est formellement
deconseille de le faire sans fournir l'option --tftp-root. Sans
cela, en effet, l'acces de tous les fichiers du serveur pour
lequel le droit de lecture pour tout le monde est positionne
("world-readable") devient possible par n'importe quel hote sur
le reseau.
--tftp-max=<connexions>
Definit le nombre maximum de connexions TFTP simultanees
autorisees. La valeur par defaut est de 50. Lorsqu'un grand
nombre de connexions TFTP est specifie, il se peut que la limite
de nombre de descripteurs de fichiers par processus soit
atteinte. Dnsmasq necessite quelques descripteurs de fichiers,
ainsi qu'un descripteur de fichier pour chaque connexion TFTP
simultanee et pour chacun des fichiers devant etre fournis. De
fait, servir le meme fichier a n clients ne necessitera
qu'environ n + 10 descripteurs de fichiers, alors que fournir
des fichiers tous differents a n clients utilisera environ (2*n)
+ 10 descripteurs. Si elle est donnee, l'option --tftp-port-
range peut affecter le nombre maximum de connexions
concurrentes.
--tftp-no-blocksize
Empeche le serveur TFTP de negocier l'option "blocksize" (taille
de bloc) avec les clients. Certains clients bugges specifient
cette option mais se comportent ensuite de maniere incorrecte si
celle-ci est accordee.
--tftp-port-range=<d'ebut>,<fin>
Un serveur TFTP ecoute sur le port predefini 69 ("well-known
port") pour l'initiation de la connexion, mais utilise egalement
un port dynamiquement alloue pour chaque connexion. Normalement,
ces ports sont alloues par le systeme d'exploitation, mais cette
option permet de specifier une gamme de ports a utiliser pour
les transferts TFTP. Cela peut-etre utile si TFTP doit traverser
un dispositif garde-barriere ("firewall"). La valeur de debut
pour la plage de port ne peut-etre inferieure a 1025 sauf si
dnsmasq tourne en temps que super-utilisateur ("root"). Le
nombre de connexions TFTP concurrentes est limitee par la taille
de la gamme de ports ainsi specifiee.
--tftp-port-range=<d'ebut>,<fin>
Un serveur TFTP ecoute sur un numero de port bien connu (69)
pour l'initiation de la connexion, et alloue dynamiquement un
port pour chaque connexion. Ces numeros de ports sont en
principe alloues par le systeme d'exploitation, mais cette
option permet de specifier une gamme de ports a utiliser pour
les transferts TFTP. Cela peut-etre utile lorsque ceux-ci
doivent traverser un dispositif garde-barriere ("firewall"). Le
debut de la plage ne peut-etre inferieur a 1024 a moins que
Dnsmasq ne fonctionne en temps que super-utilisateur ("root").
Le nombre maximal de connexions TFTP concurrentes est limitee
par la taille de la plage de ports ainsi definie.
-C, --conf-file=<fichier>
Specifie un fichier de configuration different. L'option "conf-
file" est egalement autorisee dans des fichiers de
configuration, ce qui permet l'inclusion de multiples fichiers
de configuration. L'utilisation de "-" comme nom de fichier
permet la lecture par dnsmasq de sa configuration sur l'entree
standard stdin.
-7, --conf-dir=<r'epertoire>[,<extension de fichier>...]
Lis tous les fichiers du repertoire specifie et les traite comme
des fichiers de configuration. Si des extensions sont donnees,
tout fichier finissant par ces extensions seront ignores. Tout
fichier dont le nom se termine en ~ ou commence par ., ainsi que
ceux commencant ou se terminant par # seront systematiquement
ignores. Cette option peut etre donnee en ligne de commande ou
dans un fichier de configuration.
FICHIER DE CONFIGURATION
Au demarrage, Dnsmasq lis /etc/dnsmasq.conf, si ce fichier existe. (Sur
FreeBSD, ce fichier est /usr/local/etc/dnsmasq.conf ) (voir cependant
les options -C et -7 ). Le format de ce fichier consiste en une option
par ligne, exactement comme les options longues detaillees dans la
section OPTIONS, mais sans etre precedees par "--". Les lignes
commencant par # sont des commentaires et sont ignorees. Pour les
options qui ne peuvent-etre specifiees 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'eviter que
les ",",":","." et "#" ne soit interpretes, et il est possible
d'utiliser les sequences d'echappement suivantes : \\ \" \t \e \b \r et
\n. Elles correspondent respectivement a la barre oblique descendante
("anti-slash"), guillemets doubles, tabulation, caractere d'echappement
("escape"), suppression ("backspace"), retour ("return") et nouvelle
ligne ("newline").
NOTES
A la reception d'un signal SIGHUP, Dnsmasq vide son cache et recharge
les fichiers /etc/hosts et /etc/ethers ainsi que tout autre fichier
specifie par les options --dhcp-hostsfile , --dhcp-optsfile ou --addn-
hosts. Le script de changement de bail est appelle pour chaque bail
DHCP existant. Si l'option --no-poll est positionnee, alors le fichier
/etc/resolv.conf est egalement recharge. SIGHUP ne provoque PAS de
rechargement du fichier de configuration.
A la reception d'un signal SIGUSR1, Dnsmasq ecrit des statistiques dans
les traces systeme. Les informations fournies sont : la taille du
cache, le nombre de noms ayant ete supprimes du cache avant expiration
afin de faire de la place pour les nouveaux noms, ainsi que le nombre
total d'entrees ayant ete inserees dans le cache. Pour chaque serveur
amont, il fournit le nomnbre de requetes transmises ainsi que le nombre
de requetes ayant resulte par une erreur. Lorsque Dnsmasq a ete lance
via --no-daemon ou lorsque la tracabilite maximale a ete activee ( -q
), la totalite du contenu du cache est de surcroit fournie.
A la reception d'un signal SIGUSR2 et lorsqu'il enregistre directement
ses traces dans un fichier (voir --log-facility ), alors Dnsmasq ferme
et re-rouvre le fichier de traces. Il faut noter que pendant cette
operation Dnsmasq ne s'execute pas en temps que "root". Lorsqu'il cree
un fichier de traces pour la premiere fois, Dnsmasq change le
proprietaire du fichier afin de le faire appartenir a l'utilisateur non
"root" sous lequel Dnsmasq s'execute. Le logiciel de rotation de
fichiers de trace logrotate doit etre configure pour creer un nouveau
fichier avec un proprietaire identique au fichier existant avant
d'envoyer le signal SIGUSR2. Si une requete DNS TCP est en cours,
l'ancien fichier de traces reste ouvert dans le processus fils qui
traite la requete TCP et il peut y etre ecrit. Il existe cependant une
limite de 150 secondes apres laquelle tous les processus traitant des
requetes TCP expirent : pour cette raison, il est preferable 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 create et delaycompress.
Dnsmasq est un logiciel de transmission de requetes DNS : il n'est pas
capable d'effectuer une resolution de nom recursive en partant des
serveurs DNS racine, mais transmet de telles requetes a un serveur DNS
amont capable de telles recherches recursives, ce qui est typiquement
le cas d'un serveur DNS de FAI. Par defaut, Dnsmasq lis
/etc/resolv.conf pour decouvrir les adresses IP des serveurs DNS amonts
a utiliser, puisque cette information est en general stockee a cet
endroit. A moins que l'option --no-poll ne soit utilisee, Dnsmasq
verifie la date de modification du fichier /etc/resolv.conf (ou
l'equivalent si --resolv-file est utilise), et le relis lorsqu'il
change. Cela permet de definir les serveurs DNS amont de maniere
dynamique lorsque PPP ou DHCP sont utilises, puisque ces protocoles
fournissent cette information. L'absence du fichier /etc/resolv.conf
ne conduit pas a une erreur, puisqu'il peut tres bien ne pas etre cree
avant qu'une connexion PPP ne soit etablie. Dans ce cas, Dnsmasq
verifie regulierement pour voir si un fichier /etc/resolv.conf est
cree. Dnsmasq peut etre configure pour lire plus d'un fichier
resolv.conf. Cela est utile sur un ordinateur portable ou PPP et DHCP
peuvent-etre utilises : Dnsmasq peut alors etre configure pour lire a
la fois /etc/ppp/resolv.conf et /etc/dhcpc/resolv.conf et utilisera le
contenu du fichier ayant change en dernier, ce qui permet de passer
automatiquement de serveurs DNS a d'autres.
Les serveurs amonts peuvent aussi etre specifies sur la ligne de
commande ou dans un fichier de configuration. Ces specifications de
serveurs peuvent eventuellement se voir adjoindre d'un nom de domaine
qui precise a Dnsmasq quel serveur utiliser pour trouver les noms d'un
domaine donne.
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 /etc/resolv.conf afin de forcer les processus locaux a envoyer
leurs requetes a Dnsmasq. Ensuite, specifier les serveurs DNS amont
soit en les fournissant directement a Dnsmasq via l'option --server ou
alors en mettant leurs adresses dans un autre fichier, par exemple
/etc/resolv.dnsmasq et en lancant Dnsmasq avec l'option -r
/etc/resolv.dnsmasq. Cette deuxieme technique permet la mise-a-jour
dynamique des addresses de serveurs DNS amont par le biais de PPP ou
DHCP.
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 requetes pour "macompagnie.com" retourneront toujours
1.2.3.4, meme si une requete au serveur DNS amont retournerait une
adresse differente. Il y a une exception a ceci : si le DNS amont
contient un CNAME qui pointe vers un nom present dans /etc/hosts, alors
la recherche du CNAME via Dnsmasq fournira l'adresse DNS amont. Pour
contourner cela, il suffit de mettre l'entree correspondant au CNAME
dans /etc/hosts.
le systeme de label fonctionne comme suit : pour chaque requete DHCP,
dnsmasq associe un ensemble de labels obtenus a partir des lignes de la
configuration incluant set:<label>, y compris un pour la plage
d'adresse ( dhcp-range ) utilisee pour allouer l'adresse, un pour
chaque entree dhcp-host associee (auquel est rajoute le mot-clef
"known" si une entree dhcp-host coincide).
Le label "bootp" est associe aux requetes BOOTP, un label dont le nom
est le nom de l'interface sur laquelle la requete est arrivee.
Pour les lignes de configuration comportant des elements tag:<label>,
seules seront valides celles pour lesquels tous les labels
correspondants seront presents. C'est typiquement le cas des lignes
dhcp-options. Un dhcp-option possedant des labels sera utilise de
preference a un dhcp-option sans label, pour peu que _tous_ les labels
positionnes correspondent a l'ensemble de labels decrit plus haut. Le
prefixe '!' sur un label est un indicateur de negation, ainsi
--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 definis pour l'hote
considere. (dans le cas de l'utilisation dans une ligne de commande au
lieu d'un fichier de configuration, ne pas oublier d'echapper le
caractere !, qui est un meta-caractere d'interpreteur de commande
shell).
Veuillez noter que pour dhcp-range , les elements tag:<label> et
set:<label> sont tous les deux autorises pour selectionner la plage a
utiliser selon, par exemple, le dhcp-host, et pour affecter l'option
envoyee, sur la base de la plage selectionnee.
Ce systeme a evolue d'un systeme plus ancien et aux possibilites plus
limitees, et pour des raisons de compatibilite "net:" peut etre utilise
a la place de "tag:" et "set:" peut-etre omis (a l'exception de dhcp-
host, ou "net:" peut-etre utilise a la place de "set:"). Pour les memes
raisons, '#' peut-etre utilise a la place de '!' pour indiquer la
negation.
Le serveur DHCP integre dans Dnsmasq fonctionne egalement 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 dhcp-host ou dans
le fichier /etc/ethers , et que l'option dhcp-range soit presente afin
d'activer le serveur DHCP pour un reseau donne (L'option --bootp-
dynamic supprime la necessite des associations statiques). Le parametre
"filename" (nom de fichier) de la requete BOOTP est utilise comme
label, ainsi que le label "bootp", permettant un certain controle sur
les options retournees aux differentes classes d'hotes.
Il est possible de specifier un nom d'interface a dhcp-range sous la
forme "interface:<nom d'interface>". La semantique est comme suit :
Pour le DHCP, s'il existe une autre valeur de dhcp-range pour laquelle
_aucun_ nom d'interface n'est donne, alors le nom d'interface est
ignore et dnsmasq se comporte comme si la partie specifiant l'interface
n'existait pas, sinon le service DHCP n'est fourni qu'aux interfaces
mentionnees dans les declarations dhcp-range. Pour le DNS, si il n'y a
pas d'option --interface ou --listen-address , alors le comportement
n'est pas impacte par la specification d'interface. Si l'une ou l'autre
de ces options est presente, alors les interfaces mentionnees dans les
plages d'adresses dhcp-range sont rajoutees a la liste de celles ou le
service DNS est assure.
De maniere similaire, enable-tftp peut prendre un nom d'interface, ce
qui active le TFTP pour cette seule interface, en ignorant les options
--interface ou --listen-address De plus, --tftp-secure , --tftp-unique-
root et --tftp-no-blocksize sont ignorees pour les requetes sur de
telles interfaces. (une directive --tftp-root donnant le chemin de la
racine et une interface doit-etre fournie).
Ces regles peuvent paraitre etrange a premiere vue, mais elles
permettent d'ajouter a 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, malgre l'absence de
parametres "interface=<interface>" sur les autres lignes de
configuration. "enable-tftp=virt0" et "tftp-root=<root>,virt0"
effectuent la meme chose pour TFTP. L'idee de tout cela est de
permettre l'addition de telles lignes automatiquement par libvirt ou un
systeme equivalent, sans perturbation d'une configuration manuelle
existant par ailleurs.
CODES DE SORTIE
0 - Dnsmasq s'est correctement lance en tache de fond, ou alors s'est
correctement termine si le lancement en tache de fond n'a pas ete
active.
1 - Un probleme de configuration a ete detecte.
2 - Un probleme est survenu avec un acces reseau (adresse deja
utilisee, tentative d'utiliser un port privilegie sans les permissions
necessaires).
3 - Un probleme est survenu avec une operation sur un systeme de
fichier (fichier ou repertoire manquant, permissions).
4 - Impossibilite d'allouer de la memoire.
5 - Autre probleme.
11 ou plus - un code de retour different de 0 a ete recu 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.
LIMITES
Les valeurs par defaut pour les limites de ressources de Dnsmasq sont
en general conservatrices et appropriees pour des utilisations
embarquees sur des machines de type routeur ayant des processeurs lents
et une memoire limitee. Sur du materiel plus performant, il est
possible d'augmenter les limites et de gerer plus de clients. Les
remarques suivantes s'appliquent a Dnsmasq version 2.37 et ulterieur :
les versions precedentes ne montaient pas en charge aussi bien.
Dnsmasq est capable de gerer le DNS et DHCP pour au moins un millier de
clients. Pour cela, la duree des bail ne doit pas etre tres courte
(moins d'une heure). La valeur de --dns-forward-max peut-etre
augmentee : commencer par la rendre egale au nombre de clients et
l'augmenter si le DNS semble lent. Noter que la performance du DNS
depends egalement de la performance des serveurs amonts. La taille du
cache DNS peut- etre augmentee : la limite en dur est de 10000 entrees
et la valeur par defaut (150) est tres basse. Envoyer un signal SIGUSR1
a Dnsmasq le fait emettre des informations utiles pour parametrer la
taille de cache. Voir la section NOTES pour plus de details.
Le serveur TFTP integre est capable de plusieurs transferts de fichiers
simultanes : La limite absolue est liee au nombre maximal de
descripteurs de fichiers alloue a un processus et a la capacite de
l'appel systeme select() a gerer un grand nombre de HANDLE de fichier.
Si la limite est fixee trop haut par le biais de --tftp-max elle sera
reduite et la limite actuelle sera enregistree au demarrage. Il faut
noter que plus de transferts sont possible lorsque le meme fichier est
transmis au lieu d'avoir un fichier different pour chaque transfert.
Il est possible d'utiliser Dnsmasq pour bloquer la publicite sur la
toile en associant des serveurs de publicite bien connus a l'adresse
127.0.0.1 ou 0.0.0.0 par le biais du fichier /etc/hosts ou d'un fichier
d'hote additionnel. Cette liste peut-etre tres longue, Dnsmasq ayant
ete teste avec succes avec un million de noms. Cette taille de fichier
necessite un processeur a 1 Ghz et environ 60 Mo de RAM.
INTERNATIONALISATION
Dnsmasq peut etre compile pour supporter l'internationalisation. Pour
cela, les cibles "all-i18n" et "install-i18n" doivent etre donnees a
make, en lieu et place des cibles standards "all" et "install". Lorsque
compile avec le support de l'internationalisation, dnsmasq supporte les
noms de domaines internationalises ("internationalised domain names" ou
IDN), et les messages de traces ("logs") sont ecrits dans la langue
locale. Les noms de domaines dans /etc/hosts, /etc/ethers et
/etc/dnsmasq.conf contenant des caracteres non-ASCII seront transformes
selon la representation punycode interne aux DNS. Veuillez noter que
dnsmasq determine la langue pour les messages ainsi que le jeu de
caracteres susceptible d'etre utilise dans les fichiers de
configuration a partir de la variable d'environnement LANG. Ceci
devrait etre configure a la valeur par defaut du systeme par les
scripts demarrant dnsmasq. Lorsque les fichiers de configuration sont
edites, veuillez faire attention a le faire en utilisant la valeur de
locale par defaut du systeme et non une valeur specifique a
l'utilisateur, puisque dnsmasq n'a aucun moyen de determiner
directement la valeur de jeu de caractere utilise, et assume de ce fait
qu'il s'agit de la valeur par defaut du systeme.
FICHIERS
/etc/dnsmasq.conf
/usr/local/etc/dnsmasq.conf /var/run/dnsmasq/resolv.conf
/etc/ppp/resolv.conf /etc/dhcpc/resolv.conf
/etc/resolv.conf
/etc/hosts
/etc/ethers
/var/lib/misc/dnsmasq.leases
/var/db/dnsmasq.leases
/var/run/dnsmasq.pid
VOIR AUSSI
hosts(5), resolver(5)
AUTEUR
Cette page de manuel a ete ecrite par Simon Kelley
<simon@thekelleys.org.uk>.
La traduction dans un francais bancal a ete commise par Gildas Le Nadan
<3ntr0p13@gmail.com> : Toute revision/correction permettant de corriger
orthographe ou grammaire mais surtout les eventuelles fautes de sens
sera la bienvenue!
DNSMASQ(8)