Aller au contenu principal

Serveur DHCP - dnsmasq

1. Description​

Pour le provisionnement automatisé par Packer d'images de machine virtuelle sur mon serveur Proxmox, il est utile de mettre en place un serveur DHCP pour attribuer automatiquement une adresse IP à la VM en cours de création par Packer. Pour cela, j'ai mis en place le serveur DHCP dnsmasq qui peut fournir un service DNS et/ou DHCP. Le reste de mon infrastructure étant en IP statique, j'ai fait le choix de ce serveur léger et rapide à configurer.

2. Installation de dnsmasq​

2.1. Installer le package dnsmasq​

$ sudo yum install dnsmasq

2.2. Configurer le package dnsmasq​

  • Modifier le fichier /etc/dnsmasq
/etc/dnsmasq
user=dnsmasq
group=dnsmasq

interface=ens18
bind-interfaces

dhcp-range=192.168.50.240,192.168.50.250,1h
dhcp-option=option:netmask,255.255.255.0
dhcp-option=option:router,192.168.50.201
dhcp-option=option:dns-server,192.168.50.11
dhcp-option=option:ntp-server,192.168.50.11
dhcp-option=option:domain-name,home.lan

log-dhcp

2.3. Créer un fichier de log séparé​

Par défaut, les logs du service dnsmasq se trouvent dans le fichier /var/log/messages. Je préfère avoir un fichier séparé et dédié pour les logs /var/log/dnsmasq.log

  • Créer le fichier rsyslog /etc/rsyslog.d/dnsmasq.conf
/etc/rsyslog.d/dnsmasq.conf
if ( $programname startswith "dnsmasq" ) then {
action(type="omfile" file="/var/log/dnsmasq.log" flushOnTXEnd="off")
stop
}
  • Créer le fichier logrotate /etc/logrotate.d/dnsmasq
/etc/logrotate.d/dnsmasq
/var/log/dnsmasq.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
postrotate
systemctl restart rsyslog.service
endscript
}

2.4. Activer le service dnsmasq​

$ sudo systemctl enable dnsmasq

2.5. Relancer le service dnsmasq​

$ sudo systemctl restart dnsmasq