Stretch: Serveur PXE avec support EFI

Partagez ici vos Trucs et vos Astuces.
Répondre
Avatar du membre
lol
Site Admin
Site Admin
Messages : 3375
Enregistré le : 04 avr. 2016, 12:11
Localisation : Madagascar
Contact :
Status : Hors ligne

25 juin 2017, 17:28

Salut,

Le Tuto sur le Wiki pour le serveur PXE date un peu, j'ai décidé de le refaire. C'est ICI que ça se passe!
Tant qu'a faire, je me suis dis qu'il serait intéressant d'intégrer l'EFI...

Image

Vos commentaires sont les bienvenus!

== Installation par le réseau - Boot PXE - Basique ==

Cet tuto propose de vous expliquer l’installation et la configuration d'un serveur PXE sur votre Debian.

Le démarrage PXE (Pre-boot eXecution Environment) permet à une station de travail de démarrer depuis le réseau en récupérant une image de système d'exploitation qui se trouve sur votre serveur.
De multiples distribution, installeurs et LiveCD peuvent être démarrées par le réseau.

Pour démarrer depuis le réseau il vous faudra deux serveurs:

* Un serveur TFTP
* Un serveur DHCP (Vous en avez normalement déjà un sur votre LAN)

=== Installation ===

====TFTP====

# apt install -y tftpd-hpa

C'est tout... Le serveur est accessible et fonctionnel sans plus de modifications:

# nano /etc/default/tftpd-hpa

Code : Tout sélectionner

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Vous penserez tout de même à ouvrir le pare-feu:

# iptables -A INPUT -p udp -m udp --dport 69 -j ACCEPT

# systemctl restart tftpd-hpa

Code : Tout sélectionner

# pgrep -lf tftpd
 11881 in.tftpd
# netstat -uap | grep tftp 
 udp        0      0 0.0.0.0:tftp            0.0.0.0:*                           11881/in.tftpd

====DHCP====

Si vous avez déjà un serveur DHCP Debian (isc-dhcp-server), il suffira de le configurer comme suit:

Code : Tout sélectionner

default-lease-time 600;
max-lease-time 7200;

allow booting;

# in this example, we serve DHCP requests from 192.168.0.(3 to 253)
# and we have a router at 192.168.0.1
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.3 192.168.0.253;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.1;
  option domain-name-servers 192.168.0.1;
  filename "pxelinux.0";
}

group {
  next-server 192.168.0.2;
  host tftpclient {
    filename "pxelinux.0";
  }
}

Les lignes importantes sont:

Le fichier d'amorce du serveur TFTP:

Code : Tout sélectionner

 filename "pxelinux.0";

La définition du serveur tftp qui fournis l'amorce:

Code : Tout sélectionner

 next-server 192.168.0.2;
 host tftpclient {
   filename "pxelinux.0";

====Premier test basique====

Test Basique avec l'installeur Stretch:

# cd /srv/tftp/

Récupération et décompression des fichiers de l'installeur Debian:

Code : Tout sélectionner

 # wget -c http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz
 # tar -zxf netboot.tar.gz 
 # rm netboot.tar.gz
 # ls -l
total 8
drwxrwxr-x 3 root root 4096 Jun 15 11:34 debian-installer
lrwxrwxrwx 1 root root   47 Jun 15 11:34 ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32
lrwxrwxrwx 1 root root   33 Jun 15 11:34 pxelinux.0 -> debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root   35 Jun 15 11:34 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
-rw-rw-r-- 1 root root   55 Jun 15 11:34 version.info

Et on teste:
On redémarre le serveur tftp
# systemctl restart tftpd-hpa

On configure une machine pour démarrer sur le réseau (Qemu ou VirtualBox feront très bien l'affaire) et on boot:

Image


La suite est sur le WIKI

Commentaires tests et discussion appréciées!
Debian stable. XFCE.
C'est curieux chez les marins ce besoin de faire des phrases (Les tontons flingueurs).
Répondre