Installer un serveur PXE

Une serveur PXE permet de faire un boot d’une machine via le réseau. Pour installer ce serveur, je suis parti d’une debian installé via une netinst sur VirtualBox.

Configuration du réseau

Je souhaitais que mon serveur soit accessible sur mon réseau physique. J’ai donc configuré la carte réseau de la machine virtuel en « Accès par pont » pluggué sur ma carte réseau physique.

Pour éviter tout soucis, j’ai configuré une IP fixe en éditant le fichier /etc/network/interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
  address 192.168.1.12
  netmask 255.255.255.0
  gateway 192.168.1.1

Pour vérifier la configuration un petit ping sur google.fr à partir du serveur et un autre à partir de ma machine vers 192.168.1.12. Tout le monde répond donc la configuration réseau est bonne.

Serveur TFTP

Un serveur PXE sert les fichiers en TFTP. J’ai donc installé un serveur TFTP.

apt-get install atftpd

Le répertoire contenant les fichiers par TFTP est définit dans le fichier de conf /etc/default/atftpd. C’est donc /srv/tftp.

Serveur DHCP

Pour que le serveur PXE fonctionne correctement, nous devons aussi avoir un serveur DHCP sur votre réseau. Et j’en ai un: mon routeur ADSL fait office de serveur DHCP. Malheureusement, je ne vais pas pouvoir le configurer correctement (comme c’est souvent le cas, les options sont limités sur les serveurs fournis avec les routeurs pour particulier).
Je suis donc obligé de le désactiver temporairement et d’en installer un autre sur mon serveur.

apt-get install isc-dhcp-server

La configuration est dans le fichier /etc/dhcp/dhcpd.conf.
J’y ai rajouté le bloc:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.50 192.168.1.99;
    server-name "server";
    next-server 192.168.1.12;
    filename "/srv/tftp/pxelinux.0";
}

Et j’ai relancé le serveur dhcp:

/etc/init.d/isc-dhcp-server restart

Le serveur PXE

L’installation se fait classiquement:

apt-get install pxe

La configuration est située dans le fichier /etc/pxe.conf.
J’ai du changer l’IP d’écoute qui n’était pas bonne – la bonne valeur est l’IP du serveur 192.168.1.12 dans mon cas.
J’ai aussi changé le répertoire des fichiers TFTP.

Après les modifications de configuration, n’oublions pas de relancer le service

/etc/init.d/pxe restart

Le test

Pour essayer, je vais faire en sorte de servir une Debian via PXE.

Et les gars de chez Debian, ils sont sympas, ils nous filent directement une archive à décompresser dans le répertoire /srv/tftp.

cd /srv/tftp
curl http://ftp.fr.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xvf netboot.tar.gz

Lorsqu’on boot une machine sur le réseau, on arrive sur l’assistant d’installation de debian. Donc ça marche \o/

Conclusion

J’ai connu pire en terme d’installation. Ici ça se passe plutôt bien. Ça m’ennuie un peu d’avoir eu à installer un serveur DHCP car je vais devoir switcher entre les deux suivant si je veux lancer le serveur PXE ou pas. La prochaine étape est l’installation d’un serveur CoreOS via PXE. Mais on en reparle plus tard.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s