Objectif
Déployer un serveur DHCP avec Docker et utiliser celui-ci pour faire des PXE boot.
Prérequis
- docker
- docker-compose
- Linux (Centos ou Ubuntu)
- un réseau pour tester (Il ne faut pas déployer plusieurs serveurs DHCP sur un même réseau)
Étape 1 - Récupérer l’image docker
L’image est disponible sur le docker hub et sur github
Lancer cette commande sur votre système :
docker pull studiowebux/dhcp-server
Étape 2 - Lancer le conteneur
Vous pouvez lancer l’image manuellement ou utiliser le docker-compose disponible sur Github.
docker run -it --name dhcp \
-p 67:67/udp \
-p 67:67 \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-v /tmp/$(mktemp -d):/run \
--privileged \
--net host \
dhcp-server:latest
Ou avec docker-compose
git clone https://github.com/studiowebux/dhcp-server.git
cd dhcp-server/
docker-compose up -d
Étape 3 - Modifier le dhcpd.conf
Deux options sont possibles:
- Changer le fichier dans exemples et build l’image de nouveau
- Ajouter un volume avec votre configuration
Dans les deux cas, regarder dans le dossier examples
et à partir de ce fichier, vous pouvez configurer votre DHCP pour l’adapter à votre infrastructure.
git clone https://github.com/studiowebux/dhcp-server.git
cd dhcp-server/
nano exemples/dhcpd.conf
Faire les modifications désirées.
docker build . -t dhcp-server:latest
Votre image personnalisée sera nommée dhcp-server:latest
Conclusion
Voici une vidéo qui montre l’installation d’un client via PXE avec ce DHCP, (cette vidéo montre seulement l’installation du client) Démo DHCP + PXE Centos 7.6 avec Kickstart
Le processus est lent, c’est dû au service FTP qui est utilisé. Pour améliorer les performances, il est préférable d’utiliser HTTP et NFS.