Installation d'un serveur PXE sur Debian

Installation d'un serveur PXE sur Debian.

Publié le 05/04/2017

1 - Installation du serveur DCHP


sudo apt-get install isc-dhcp-server

Configuration du serveur DHCP :


sudo nano /etc/dhcp/dhcpd.conf

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.254
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.30 192.168.0.100;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.254;
  option domain-name-servers 192.168.0.254;
  filename "pxelinux.0";
}

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

Redémarrage du dhcp :


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

2- Installation serveur TFTP


sudo apt-get install tftpd-hpa

modification du path tftp directory si besoin :


sudo nano /etc/default/tftpd-hpa

Redémarrage de tftpd-hpa :


sudo /etc/init.d/tftpd-hpa restart

3 - Installation d'Apache


sudo apt-get install apache2

4 - Préparation source d'installation Debian

Téléchargement et préparation du dossier d'installation :


cd /srv/tftp/
sudo wget http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz
sudo tar xvf netboot.tar.gz
sudo rm netboot.tar.gz

Création du dossiers debian pour apache :


sudo mkdir /var/www/html/debian
sudo cp -fr debian-installer/* /var/www/html/debian/

5 - Préparation source Ubuntu server

Téléchargement et préparation du dossier d'installation :


cd /srv/tftp/
sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.5-server-amd64.iso
sudo mkdir /mnt/iso
sudo mount -o loop ubuntu-14.04.5-server-amd64.iso /mnt/iso
cd /mnt/iso
sudo cp -fr install/netboot/* /srv/tftp/

Création du dossier ubuntu pour apache :


sudo mkdir /var/www/html/ubuntu
sudo cp -fr /mnt/iso/* /var/www/html/ubuntu/

Création du fichier kickstart :


sudo nano /var/www/html/ubuntu/ks.cfg

#Generated by Kickstart Configurator
#platform=x86

#System language
lang fr_FR
#Language modules to install
langsupport fr_FR
#System keyboard
keyboard fr
#System mouse
mouse
#System timezone
timezone Europe/Paris
#Root password
rootpw --disabled
#Initial user
user test --fullname "USER" --iscrypted --password PASSWORD
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel 
#System authorization infomation
auth  --useshadow  --enablemd5 
#Firewall configuration
firewall --disabled 
#Do not configure the X Window System
skipx

6 - Création du fichier default pour la configuration du menu


sudo nano /srv/tftp/pxelinux.cfg/default

# D-I config version 2.0
include ubuntu-installer/amd64/boot-screens/menu.cfg
default ubuntu-installer/amd64/boot-screens/vesamenu.c32
#prompt 0
timeout 10000

MENU TITLE LAN PXE
MENU MARGIN 0

menu color screen    *    #90ffffff #00000000 *
menu color border    *    #ff6bff6b #00000000 *
menu color title    *    #ffffffff #00000000 *
menu color unsel    *    #90ffffff #00000000 *
menu color hotkey    *    #ff6bff6b #00000000 *
menu color sel        *    #e0ffffff #200cd22d *
menu color hotsel    *    #e06bff6b #200cd22d *
menu color scrollbar    *    #200cd22d #00000000 *
menu color tabmsg    *    #60ffffff #00000000 *
menu color cmdmark    *    #c000ffff #00000000 *
menu color cmdline    *    #c0ffffff #00000000 *
menu color pwdborder    *    #ff6bff6b #200cd22d *
menu color pwdheader    *    #ffffffff #200cd22d *
menu color pwdentry    *    #90ffffff #200cd22d *
menu color timeout_msg    *    #80ffffff #00000000 *
menu color timeout    *    #c0ffffff #00000000 *

MENU BACKGROUND /pxelinux.cfg/logo.png

label OS

label Debian amd64
        kernel debian-installer/amd64/linux
        append ks=http://192.168.0.2/debian/amd64/initrd.gz vga=normal initrd=debian-installer/amd64/initrd.gz
ramdisk_size=16432 root=/dev/rd/0 rw  --
quiet

label Ubuntu Server 14.04.5 amd64
        kernel ubuntu-installer/amd64/linux
        append ks=http://192.168.0.2/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz
ramdisk_size=16432 root=/dev/rd/0 rw  --
quiet

7 - Réglage des permissions et redémarrage


cd /srv/tftp
chmod -R a+r *
/etc/init.d/tftpd-hpa restart

8 - Netboot d'un client VirtualBox

F12 au démarrage de la VM, puis L.

Entrer les commandes suivantes pour démarrer sur le PXE.


dhcp
chain tftp://192.168.0.2/pxelinux.0