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