informatique:divers:dhcp

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.

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.

/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

L'ordinateur s'appellera rpinas. A adapter avec votre configuration

sudo hostnamectl set-hostname rpinas
$ sudo apt install dnsmasq

Décommenter la ligne suivante dans le fichier /etc/dnsmasq.conf avec les droits root :

conf-dir=/etc/dnsmasq.d/,*.conf

Ajouter ça propre configuration dans un nouveau fichier de configuration avec les droits root. Par exemple /etc/dnsmasq.d/acegrp.conf :

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

Modifier le fichier /etc/resolv.personal

nameserver 1.1.1.1
nameserver 9.9.9.9

Il faut redémarrer l'appareil :

sudo reboot

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

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 :

127.0.1.1       rpinas rpinas.acegrp.lan
192.168.100.3   rpiapt001.acegrp.lan pi.hole
192.168.100.254 di604.acegrp.lan

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 :

# 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

Il faudra redémarrer dnsmasq :

sudo systemctl restart dnsmasq

Bilbiographie

  • informatique/divers/dhcp.txt
  • Dernière modification : 2021/02/21 20:46
  • de Cédric ABONNEL