(modifié le 22 janvier 2016 à 3:32)

Si comme moi vous utilisez un routeur open source avec le firmware TomatoUSB, c'est pour profiter de fonctionnalités non présentes dans les box et routeurs grand public.

pxe-tomato

Aujourd'hui je vous propose d'activer PXE, dans le but d'utiliser plus tard PXELINUX avec un NAS Synology.

Chacun son rôle

Le routeur Tomato est en charge de la distribution des IP sur mon réseau, il fait donc office de serveur DHCP. Lorsqu'une machine démarre sur le réseau à l'aide de PXE la première chose qu'elle reçoit c'est sa configuration IP ainsi que les différentes options associées.

Nous devons ajouter deux options DHCP présentes dans les RFC2132 :

  • option 66 "Server-Name" : l'IP du serveur TFTP
  • option 67 "Bootfile-Name" : le nom du fichier de boot (avec son chemin s'il n'est pas à la racine)

Le serveur TFTP sera assuré par un NAS Synology et un second billet y sera consacré, je ne m'attarde pas dessus. Ce NAS doit disposer d'une adresse IP fixe ou pseudo-statique car il est assimilable à un serveur et on ne met jamais de DHCP sur un serveur.

Les fichiers de boot seront donc stockés sur le NAS Synology et nous utilisons PXELINUX. Le fichier pxelinux.0 est déposé à la racine du partage TFTP, quand c'est simple c'est bien.

Paramétrage de dnsmasq

C'est donc le paquet dnsmasq qui va se charger de diffuser les deux options DHCP qui nous intéressent, ça tombe bien car il est présent nativement.

Se rendre dans le menu Advanced > DHCP/DNS > Dnsmasq Custom Configuration et ajoutez :

### PXE configuration ###
dhcp-boot=pxelinux.0,,192.168.0.12
  • pxelinux.0 correspond au premier fichier appelé par la carte réseau (stocké sur le NAS)
  • 192.168.0.12 correspond à l'IP du NAS

Attention : la double virgule ",," doit être présente, ce n'est pas une erreur

Faites Save, et c'est finit.

... et pour Linux ?

Si vous avez un serveur GNU/Linux faisant office de DHCP, voici les directives à placer dans dhcpd.conf

 filename "pxelinux.0";
 next-server 192.168.0.12;

Néanmoins vous pouvez tout de même utiliser dnsmasq si le coeur vous en dit, il faut simplement installer le package et la configuration sera alors identique à celle de mon routeur Tomato.

... et pour Windows Server ?

Si vous avez un serveur Windows faisant office de DHCP, aller dans dhcpmgmt.msc puis nom_serveur > IPv4 > étendue [x.x.x.x] > Options de serveur > clic droit > Configurer les options. Ajoutez les options 66 "nom d'hôte du serveur de démarrage" et 67 "nom du fichier de démarrage", puis relancez le service.

Et voilà, à vous les boot Acronis et PartedMagic direct depuis le LAN. Plus besoin d'empiler les CD ou clés USB bootables.

MàJ : j'ajoute cette documentation particulièrement instructive

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter