Serveur PXE · 4 min read · Sep 14, 2025
Configuration d'un serveur d'installation PXE pour plusieurs distributions Linux avec Ubuntu Edgy Eft
Configuration d’un serveur d’installation PXE pour plusieurs distributions Linux avec Ubuntu Edgy Eft
Version 1.0
Auteur : Falko Timme
Ce tutoriel montre comment configurer un serveur d’installation PXE (abréviation de p reboot e x ecution e nvironment) avec Ubuntu 6.10 (Edgy Eft). Un serveur d’installation PXE permet à vos ordinateurs clients de démarrer et d’installer une distribution Linux via le réseau, sans avoir besoin de graver des images ISO Linux sur un CD/DVD, des images de disquette de démarrage, etc. C’est pratique si vos ordinateurs clients n’ont pas de lecteurs CD ou de disquettes, ou si vous souhaitez configurer plusieurs ordinateurs en même temps (par exemple dans une grande entreprise), ou simplement parce que vous voulez économiser de l’argent pour les CD/DVD. Dans cet article, je montre comment configurer un serveur PXE qui vous permet de démarrer plusieurs distributions : Ubuntu Edgy/Dapper, Debian Etch/Sarge, Fedora Core 6, CentOS 4.4, OpenSuSE 10.2 et Mandriva 2007.
Je tiens à dire d’abord que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je choisis. Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
Il est important que vous ayez une connexion Internet décente car vos ordinateurs clients vont récupérer tous les paquets nécessaires depuis les dépôts sur Internet (j’ai testé cela sur une connexion ADSL2+ de 16 Mbit qui semble suffisamment rapide. ;-)). Il est possible de stocker tous les paquets sur le serveur PXE également, de sorte que vous n’ayez pas besoin d’une connexion Internet (juste la connexion LAN au serveur PXE), mais dans ce cas, vous aurez besoin de beaucoup d’espace de stockage sur le serveur PXE (rappelez-vous, il servira plusieurs distributions), donc je ne couvre pas cela ici.
Et la chose la plus importante est que vos ordinateurs clients prennent en charge le démarrage via le réseau. Vous devez vérifier l’option dans le BIOS de chaque ordinateur.
Sur notre système qui doit servir de serveur PXE, vous devez déjà avoir configuré un système de serveur Ubuntu 6.10 de base, par exemple comme indiqué aux pages 1 - 3 de ce tutoriel : https://www.howtoforge.com/perfect_setup_ubuntu_6.10
Je préfère effectuer toutes les étapes ici en tant qu’utilisateur root. Donc, si vous n’avez pas encore créé de connexion root, vous devriez le faire maintenant :
sudo passwd rootEnsuite, connectez-vous en tant que root :
suSi vous souhaitez travailler en tant qu’utilisateur normal au lieu de root, n’oubliez pas de mettre sudo devant toutes les commandes indiquées dans ce tutoriel. Donc, lorsque je lance
apt-get updatevous devriez exécuter
sudo apt-get updateà la place, etc.
2 Installer tous les paquets nécessaires
Tout d’abord, nous mettons à jour notre base de données de paquets en exécutant
apt-get updateNous devons installer les paquets netkit-inetd, tftpd-hpa, dhcp3-server et lftp, donc nous exécutons
apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp Ensuite, exécutez
netstat -uapet vérifiez si vous voyez quelque chose comme ceci :
root@server1:~# netstat -uap
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme
udp 0 0 *:tftp
Si vous ne voyez pas la ligne tftp, veuillez ouvrir /etc/inetd.conf et vous assurer que vous y trouvez ce qui suit :
vi /etc/inetd.conf| [...] #:BOOT: Le service Tftp est principalement fourni pour le démarrage. La plupart des sites # l'exécutent uniquement sur des machines agissant comme "serveurs de démarrage." tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot [...] |
Ensuite, redémarrez inetd :
/etc/init.d/inetd restart3 Configurer le serveur DHCP
Nous avons besoin d’un serveur DHCP dans notre réseau local. S’il n’y a pas de serveur DHCP dans votre réseau local, configurez et utilisez simplement celui de votre futur serveur PXE. Éditez simplement /etc/dhcp3/dhcpd.conf :
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf| option domain-name-servers 145.253.2.75, 193.174.32.18; default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
Cela attribuera dynamiquement des adresses IP de la plage 192.168.0.10 à 192.168.0.49 à vos ordinateurs clients ; la passerelle est 192.168.0.1. Bien sûr, vous devez ajuster cette configuration à votre propre environnement !
Il est important que vous ayez la ligne
filename "pxelinux.0";dans votre configuration !
Ensuite, redémarrez votre serveur DHCP :
/etc/init.d/dhcp3-server restart Si vous avez déjà un serveur DHCP dans votre réseau, vous devez modifier sa configuration. Supposons que vous ayez quelque chose comme
| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
dans la configuration. Vous devez ajouter
filename “pxelinux.0”;
next-server 192.168.0.100;
à cela (où 192.168.0.100 est l’adresse IP de notre serveur PXE Ubuntu) afin que cela ressemble à ceci :
| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100; } |
Ensuite, redémarrez votre serveur DHCP.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.