informatique:divers:dhcp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
informatique:divers:dhcp [2021/02/21 17:43] – [1. Configurer l'adresse IP du serveur] Cédric ABONNELinformatique:divers:dhcp [2021/02/21 20:46] (Version actuelle) Cédric ABONNEL
Ligne 1: Ligne 1:
 +====== DHCP et DNS ======
 +
 +En solution de DNS, j'en connais deux : **Bind9** et **dnsmasq**.
 +
 +**Bind9** (appelé également **bind** ou **named**) est mondialement connu et utilisé, mais il demande une gymnastique intellectuelle assez avancée pour le maîtriser. Quant à **dnsmasq**, plus rapide de configuration, il permet également de configurer un service DHCP. Il a également l'avantage de s'appuyer sur le fichier ''/etc/hosts'' pour déclarer des adresses locales.
 +
 +Configuration testée sous **Debian** et **Raspbian**.
 +
 +===== - Configurer l'adresse IP du serveur =====
 +Il faut fixer l'adresse IP de l'ordinateur. Il est impératif de ne pas être en DHCP pour cet ordinateur. Le fichier ''/etc/dhcpcd.conf'' doit être modifié afin de faire apparaître les options suivantes. Les lignes suivantes ont été décommentées (suppression du symbole #) et les paramètres modifiés.
 +
 +<code ini /etc/dhcpcd.conf>
 +interface eth0
 +static ip_address=192.168.100.1/24
 +#static ip6_address=fd51:42f8:caae:d92e::ff/64
 +static routers=192.168.100.254
 +static domain_name_servers=127.0.0.1 9.9.9.9 1.1.1.1
 +</code>
 +
 +===== - Définir le nom du serveur =====
 +
 +L'ordinateur s'appellera **rpinas**. A adapter avec votre configuration
 +
 +  sudo hostnamectl set-hostname rpinas
 +
 +===== - Installation =====
 +
 +<code>
 +$ sudo apt install dnsmasq
 +</code>
 +
 +===== - Configurer dnsmasq =====
 +
 +Décommenter la ligne suivante dans le fichier ''/etc/dnsmasq.conf'' avec les droits ''root'' :
 +
 +<code ini>
 +conf-dir=/etc/dnsmasq.d/,*.conf
 +</code>
 +
 +Ajouter ça propre configuration dans un nouveau fichier de configuration avec les droits ''root''. Par exemple ''/etc/dnsmasq.d/acegrp.conf'' :
 +<code ini>
 +alias=8.8.8.8,192.168.100.1
 +
 +listen-address=127.0.0.1,192.168.100.1
 +
 +domain-needed
 +bogus-priv
 +filterwin2k
 + 
 +localise-queries
 +local=/lan/
 +domain=acegrp.lan
 +expand-hosts
 +no-negcache
 +resolv-file=/etc/resolv.personal
 +dhcp-authoritative
 +dhcp-leasefile=/tmp/dhcp.leases
 + 
 +# use /etc/ethers for static hosts; same format as --dhcp-host
 +#read-ethers
 + 
 +# activez le serveur DHCP:
 +# Plage DHCP
 +dhcp-range=192.168.100.1,192.168.100.254,1h
 +
 +# Netmask
 +dhcp-option=1,255.255.255.0
 +
 +# Route
 +dhcp-option=3,192.168.100.254
 +
 +# Serveur DNS
 +dhcp-option=6,192.168.100.1
 +
 +#IP reserved
 +dhcp-host=00:24:1d:8b:b4:74,srv5,192.168.100.5,infinite   # ancien serveur
 +dhcp-host=b8:27:eb:2b:f9:6e,rpiapt001,192.168.100.3   # cache apt
 +dhcp-host=00:22:4d:9d:47:03,dskcdc001,192.168.100.100,infinite   # poste fixe Cédric
 +dhcp-host=64:51:06:4e:b0:c3,dskosm001,192.168.100.101,infinite   # poste fixe Osseam
 +dhcp-host=00:21:5a:5f:a5:bd,dsktmp001,192.168.100.102,infinite   # poste ?
 +dhcp-host=b8:27:eb:94:a5:67,rpisalon,192.168.100.103,infinite    # Raspberry Pi Salon
 +dhcp-host=b8:27:eb:7b:d0:83,rpiampere,192.168.100.104,infinite   # Raspberry Pi Ampere
 +dhcp-host=80:fa:5b:49:c1:38,dskluc001,192.168.100.105,infinite   # Poste fixe Lux
 +dhcp-host=00:21:b7:6d:ae:65,lexmark41,192.168.100.106,infinite   # Imprimante Lexmark41
 +dhcp-host=34:27:92:85:cb:78,fbxply001,192.168.100.107,infinite   # freebox delta player
 +dhcp-host=00:0f:3d:12:7e:a7,di602,192.168.100.254,infinite       # routeur
 +
 +# LOG
 +#log-dhcp
 +#log-queries
 +log-facility=/var/log/dnsmasq.log
 +
 +</code>
 +
 +Modifier le fichier ''/etc/resolv.personal''
 +<code>
 +nameserver 1.1.1.1
 +nameserver 9.9.9.9
 +</code>
 +
 +
 +Il faut redémarrer l'appareil :
 +  sudo reboot
 +
 +===== Gérer le service dnsmasq =====
 +
 +Démarrer le service :
 +
 +  $ sudo systemctl restart dnsmasq
 +  
 +Configurer le service en démarrage automatique
 +
 +  $ sudo systemctl enable dnsmasq
 +
 +Vérifier le fonctionnement du service ''dnsmasq''
 +  sudo systemctl enable dnsmasq
 +
 +
 +===== - Alias DNS =====
 +
 +Le fichier ''/etc/hosts'' est lu par **DNSmasq** afin d'établir un référentiel ''adresse IP / nom de domaine''. Il convient de déclarer son ordinateur tel quel et d'autres références :
 +
 +<code>
 +127.0.1.1       rpinas rpinas.acegrp.lan
 +192.168.100.3   rpiapt001.acegrp.lan pi.hole
 +192.168.100.254 di604.acegrp.lan
 +</code>
 +
 +===== - DNS menteur =====
 +
 +Vous pouvez répondre une bêtise à la place de la réponse DNS mondial.
 +
 +
 +Créer un fichier ''/etc/dnsmasq.d/deny.conf'' pour de fausses résolutions :
 +
 +<code>
 +# bloque un site à éviter parmi tant d'autres
 +address=/facebook.com/127.0.0.1
 +address=/double-click.net/127.0.0.1
 +address=/gstatic.com/127.0.0.1
 +address=/aticdn.net/127.0.0.1
 +address=/googletagmanager.com/127.0.0.1
 +address=/consensu.org/127.0.0.1
 +address=/google.com/127.0.0.1
 +address=/youtube.com/127.0.0.1
 +</code>
 +
 +Il faudra redémarrer dnsmasq :
 +  sudo systemctl restart dnsmasq
 +
 +====== Bilbiographie ======
 +
 +  * [[https://www.bortzmeyer.org/quad9.html|Quad9, un résolveur DNS public, et avec sécurité]]
 +  * [[https://www.bortzmeyer.org/choix-resolveur-dns.html|Choisir son résolveur DNS, pas si facile]]
 +  * [[https://www.bortzmeyer.org/google-dns.html|https://www.bortzmeyer.org/google-dns.html]]
 +  * [[https://www.bortzmeyer.org/son-propre-resolveur-dns.html|]]
 +  * [[https://www.bortzmeyer.org/changer-dns.html|Changer de serveur résolveur DNS facilement]]
 +  * [[https://www.bortzmeyer.org/dnssec-trigger.html|dnssec-trigger, un outil pour mettre DNSSEC à la disposition de M. Toutlemonde]]
 +  * [[https://www.bortzmeyer.org/rpz-faire-mentir-resolveur-dns.html|RPZ, un moyen simple de configurer un résolveur DNS BIND pour qu'il mente]]
 +  * [[https://www.bortzmeyer.org/dns-resolveurs-publics.html|Utiliser un résolveur DNS public ?]]
  
  • informatique/divers/dhcp.txt
  • Dernière modification : 2021/02/21 20:46
  • de Cédric ABONNEL