les services DHCP

configuration
sudo apt-get install dnsmasq installation du service dnsmasq





Liste des différents fichier
/etc/DnsMasq Fichier de configuration principale
/etc/default/DnsMasq Permet de définir le service de DnsMasq, le répertoire par défaut de la configuration principale (fichier recherché par défaut)
/var/lib/misc/dnsmasq.leases Le fichier des leases
/usr/share/doc/DnsMasq/
/usr/share/doc/DnsMasq-base/
Contiennent les fichiers utiles à DnsMasq (release, exemples, documentations etc…)





Obtenir de l'aide
DnsMasq –help Chaque ligne commence par un mot clef reconnu par DnsMasq que l’on peut obtenir avec la commande
DnsMasq –help dhcp Pour obtenir la liste des options spécifiques a la configuration DHCP de DnsMasq il faut taper la commande





configuration principale
userPour des raisons de sécurité nous spécifions l’user autorisé à exécuter dnsmasq pour ne pas avoir l’utilisateur nobody. user=dnsmasq
groupPour des raisons de sécurité nous spécifions le groupe autorisé à exécuter dnsmasq group=root
listen-addresOn précise sur quel interfaces dnsmasq doit écouter. Par défault il écoute sur toutes les interfaces mais ne répondras pas aux requetes d’un autre domaine listen-address=127.0.0.1
listen-address=192.168.1.1
log-facility permet de définir un fichier de log différent de syslog ou messagelog-facility=/var/log/dnsmasq.log
cache-sizeOn définit la taille du cache de Dnsmasq, avec les logs dhcp et DNS celà peut vite devenir un enfertcache-size=500
log-asyncPermet de loguer de manière asynchrone, dnsmasq ne seras pas bloqué par syslog et permet à syslog d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage log-async=50
dhcp-authoritative On précise que le serveur à toute autorité pour les requêtes DHCP dhcp-authoritative





Options DHCP
DnsMasq accepte une déclaration d’option avec le terme ou avec le numéro 
dhcp-option=
<option:<nom de l option>>,<valeur de l option> dhcp-option=option:domain-name,mon-domaine.net
<numéro de l’option>,<valeur de l option>dhcp-option=15,mon-domaine.net
Pour définir une plage d’adresse
dhcp-range=
<début de la plage d’adresse>,<fin de la plage d’adresse>,<masque de sous réseau>,<time to leave> dhcp-range=192.168.1.1,192.168.1.255,255.255.255.0,8d
<début de la plage d’adresse>,<fin de la plage d’adresse> dhcp-range=10.0.1.0,10.0.1.255
Il est possible de définir des « Tag » dans DnsMasq afin d’identifier et de différenciser les différents réseaux. 
De cette manière deux réseaux distinct peuvent avoir des options distinctes.
set:
dhcp-option=set:<nom du tag>dhcp-option=set:TagRouge,option:tftp-server-address,192.168.1.50
dhcp-option=set:<nom du tag2>dhcp-option=set:TagBleue,option:tftp-server-address,10.0.0.50





Options DNS
domain-needed Permet de ne pas transmettre au forwarder une résolution de nom qui n'est pas pleinement qualifié. domain-needed
bogus-privPermet de ne pas transmettre aux forwarders les résolutions inverses non trouvées par la configuration locale bogus-priv
resolv-filePermet de définir un fichier de configuration différent que /etc/resolv.conf resolv-file=/etc/monfichier.txt
strict-order Permet de respecter l'ordre strict des différents DNS paramétrés dans le fichier resolv.conf strict-order
addn-hosts Permet de définir un fichier de configuration différent que /etc/hosts pour la résolution des noms addn-hosts=/etc/dnsmasq-hosts.conf
expand-hosts Ajoute automatiquement le domaine aux noms simples addn-hosts
domain Définit le domaine (suffixe aux noms locaux) domain=domotrix.fr
log-queries Permet de logguer les requêtes DNS (par défaut dans /var/log/messages) - Très verbeux, utile pour du debug log-queries
expand-hostsconcerne les requêtes DNS sans le domaine et se charge d’ajouter celui-ci automatiquement. Concrètement, lorsqu’on essaie d’envoyer un ping sur poste-01, DnsMasq retournera automatiquement l’adresse IP de l’hôte poste-01.mondomaine.lan. expand-hosts
server spécifie l’adresse IP d’un ou plusieurs serveurs DNS en amont. server=/google.com/1.2.3.4
no-resolv indique à DnsMasq de ne pas prendre en compte le contenu du fichier /etc/resolv.conf. no-resolv
local indique que les réponses aux requêtes pour le domaine spécifié doivent être fournies directement par DnsMasq, et non pas par un serveur DNS en amont. local





commandes utiles
service dnsmasq sudo service dnsmasq [start;stop;restart]





Option DnsMasq
numerodnsmasqdescription
1netmaskPermet de définir le masque de sous réseau
2time-offsetdécalage horaire
3routerLa passerelle
4-L'option de serveur de temps spécifie une liste de serveurs de temps RFC 868 [6] à la disposition du client. Les serveurs DEVRAIENT être listés par ordre de préférence.
6dns-serverServeur DNS
7log-serverServeur de Log
9lpr-serverServeur d’impression
13boot-file-sizeCette option spécifie la longueur en blocs de 512 octets de la valeur par défaut des images de démarrage pour le client. La longueur du fichier est spécifiée sous la forme d'un entier de 16 bits non signé.
15domain-nameLe nom de domaine
16swap-serverLe serveur de mémoire swap
17root-pathCette option spécifie le chemin d'accès qui contient la racine du disque client. Le chemin est formaté comme une chaîne de caractères composée de caractères du jeu NVT ASCII.
18extension-pathUne chaîne pour spécifier un fichier, récupérable via TFTP
19ip-forward-enableCette option spécifie si le client doit configurer sa couche IP pour le transfert de paquets. Une valeur de 0 signifie désactiver IP transfert, et une valeur de 1 signifie activer le transfert IP.
20non-local-source-routingCette option spécifie si le client doit configurer sa couche IP pour permettre le transfert de datagrammes avec des routes sources non locales. Une valeur de 0 signifie interdire le transfert de ces datagrammes, et une valeur de 1 signifie autoriser le transfert.
21policy-filterCette option spécifie les filtres de stratégie pour le routage source non local.
{Liste d'adresses IP/masques} spécifiant destination/masque avec lesquelles filtrer les routes sources entrantes. Tout datagramme routé source dont l'adresse du saut suivant ne correspond pas à un des filtres doivent être jetés par le client.
22max-datagram-reassemblyCette option spécifie la taille maximale du datagramme que le client doit être prêt à remonter. La taille est spécifiée en 16 bits entier non signé. La valeur légale minimale est de 576.
23default-ttlTime to leave (temps maximum par default)
26mtuTaille maximale d'un paquet pouvant être transmis en une seule fois (sans fragmentation) sur une interface
27all-subnets-localSpécifie l'adresse de diffusion utilisée sur le sous-réseau du client.
31router-discoveryCette option précise si le client doit ou non effectuer une découverte du routeur.
32router-solicitationSpécifie l'adresse à laquelle le client doit transmettre les demandes de sollicitation de routeur. Longueur = 4.
33static-routeCette option spécifie une liste de routes statiques que le client doit installer dans son cache de routage. Si plusieurs itinéraires vers le même destination sont spécifiés, ils sont listés dans l'ordre décroissant de priorité.
34trailer-encapsulationCette option spécifie si le client doit ou non négocier l’utilisation trailers lors du protocole ARP. Une valeur de 0 indique que le client ne doit pas essayer d'utiliser des bandes-annonces. Un la valeur 1 signifie que le client doit essayer d'utiliser des bandes-annonces
35arp-timeoutCette option spécifie le délai d'attente en secondes pour les entrées du cache ARP. L'heure est spécifiée sous la forme d'un entier non signé de 32 bits.
36ethernet-encapCette option spécifie si le client doit ou non utiliser Ethernet Encapsulation version 2 (RFC 894 [15]) ou IEEE 802.3 (RFC 1042 [16]) si l'interface est Ethernet. Une valeur de 0 indique que le client doit utiliser l'encapsulation RFC 894. Une valeur de 1 signifie que le client doit utiliser l'encapsulation RFC 1042.
37tcp-ttlCette option spécifie le TTL par défaut que le client doit utiliser lorsqu'il envoi de segments TCP. La valeur est représentée sous la forme d'un entier 8 bits non signé. La valeur minimale est 1.
38tcp-keepaliveCette option spécifie l'intervalle (en secondes) que le client TCP doit attendre avant d'envoyer un message keepalive sur une connexion TCP. L'heure est spécifiée sous la forme d'un entier non signé de 32 bits. Une valeur de zéro indique que le client ne doit pas générer de messages keepalive sur la connexions sauf demande spécifique d'une application. La longueur est 4.
40nis-domainnon standard rfc2132
41nis-serverCette option spécifie le nom du domaine NIS (Sun Microsystems, "System and Network Administration") du client. La domaine est formaté de caractères NVT ASCII.
42ntp-serverCette option spécifie une liste d'adresses IP indiquant les serveurs NTP disponibles pour le client. Les serveurs DEVRAIENT être listés dans l'ordre de préférence.
Option 43 Cisco
L’option 43 est un peut particulière pour Dnsmasq , il faut d’abord mettre un tag sur le vendor-class (set:), puis le “matcher” via l’attribut d’un tag (tag:)
dhcp-vendorclass=set:<tag name>,<matching string name> dhcp-vendorclass=set:Aironet2700,Cisco Aironet 2700
dhcp-option=tag:<tag name>,43,<mac addresse controleur>dhcp-option=tag:Aironet2700,43,f1:0d:c1:a9:f8:70
Option DnsMasq
44netbios-nsL'option de serveur de noms NetBIOS (NBNS) spécifie une liste de Serveurs de noms NBNS répertoriés par ordre de préférence.
45netbios-ddL'option de serveur de distribution de datagrammes NetBIOS (NBDD) spécifie une liste des serveurs NBDD classés par ordre de préférence.
46netbios-nodetypeLe nœud NetBIOS permet aux clients NetBIOS sur TCP/IP configurables d’être configurés comme décrit dans RFC 1001/1002. La valeur est spécifiée sous la forme d'un seul octet qui identifie le type de client :
0x1 B-node
0x2 P-node
0x4 M-node
0x8 H-node
47netbios-scopeL'option d'étendue NetBIOS spécifie l'étendue NetBIOS dans les paramètres TCP/IP pour le client.
48x-windows-fsCette option spécifie une liste de serveurs de polices X Window à la disposition du client. Les serveurs DEVRAIENT être listés par ordre de préférence.
49x-windows-dmCette option spécifie une liste d'adresses IP des systèmes exécutant le gestionnaire d'affichage du système X Window et disponiblent.
58T1Cette option spécifie l'intervalle de temps entre l'attribution de l'adresse et l'état RENEWING du client.
59T2Cette option spécifie l'intervalle de temps entre l'attribution de l'adresse et l'état REBINDING du client.
60vendor-classCette option est utilisée par les clients DHCP pour éventuellement identifier le fournisseur type et configuration d'un client DHCP. L'information est une chaîne de n octets, interprété par les serveurs. Les vendeurs peuvent choisir de définir un identificateurs de classe de fournisseur spécifiques pour transmettre une configuration particulière ou d'autres informations d'identification sur un client. Par exemple, L'identifiant peut encoder la configuration matérielle du client. Les serveurs pas équipé pour interpréter les informations spécifiques à la classe envoyées par un client DOIT l'ignorer (bien qu'il puisse être signalé). Des serveurs qui répondent NE DEVRAIT utiliser que l'option 43 pour renvoyer le fournisseur spécifique informations au client.
64nis+-domainCette option spécifie le nom du domaine NIS+ (Sun Microsystems, "System and Network Administration") du client. Le domaine est formaté comme une chaîne NVT ASCII.
65nis+-serverCette option spécifie une liste d'adresses IP indiquant les serveurs NIS+ à la disposition du client. Les serveurs DEVRAIENT être listés par ordre de préférence.
66tftp-serverCette option est utilisée pour identifier un serveur TFTP lorsque le champ 'sname' dans l'en-tête DHCP a été utilisé pour les options DHCP.
67bootfile-nameCette option est utilisée pour identifier un fichier de démarrage lorsque le champ 'fichier' dans l'en-tête DHCP a été utilisé pour les options DHCP.
68mobile-ip-homeCette option spécifie une liste d'adresses IP indiquant l'adresse IP du mobile agents d'accueil à la disposition du client. Les agents DEVRAIENT être répertoriés dans l’ordre de préférence.
69smtp-serverL'option de serveur SMTP spécifie une liste de serveurs SMTP disponibles pour le client. Les serveurs DEVRAIENT être listés par ordre de préférence.
70pop3-serverL'option de serveur POP3 spécifie une liste de serveurs POP3 disponibles pour le client. Les serveurs DEVRAIENT être listés par ordre de préférence.
71nntp-serverL'option de serveur NNTP spécifie une liste de serveurs NNTP disponibles pour le client. Les serveurs DEVRAIENT être listés par ordre de préférence.
74irc-serverL'option de serveur IRC spécifie une liste de serveurs IRC disponibles pour le client. Les serveurs DEVRAIENT être listés par ordre de préférence.
77user-classnon standard rfc2132
80rapid-commitnon standard rfc2132
93client-archnon standard rfc2132
94client-interface-idnon standard rfc2132
97client-machine-idnon standard rfc2132
119domain-searchnon standard rfc2132
120sip-servernon standard rfc2132
121classless-static-routenon standard rfc2132
125vendor-id-encapnon standard rfc2132
150tftp-server-addressnon standard rfc2132
255server-ip-addressnon standard rfc2132