Ne pas cliquer
Parrain-Linux
brille dans la nuit
Écrire un nouveau message
Page : 1
Serveur PXE pour installation via LAN (GUL AviGNU)
Avatar
linette
modérateur
Mixte
Inscrit le : 21/01/2014
Messages : 498
Point(s) : 3291
Localisation :
Avignon, Vaucluse, France
Posté le 23/06/2017 à 18:17:15
Citer

Salut :)


Je poste ici mon ébauche de tuto faite hier à la GUL, je le completerai au fur et à mesure de l'avancement du projet ^_^ la charge systeme n'a pas été testée ainsi que l'ajout d'autres cartes réseau. Passage à debian 9 prévu. Pour info le boot des images (6 configurées actuellement) est ultra rapide et la mise a jour est possible pendanty l'installation grace au routage entre interfaces reseau.


Description du serveur :

Cpu double coeur Xeon X3040
4Go RAM ECC
Carte réseau gigabit intégrée (eth1 dans le tuto)
Carte réseau gigabit en pcie (eth0 dans le tuto)

L’importance des deux cartes réseau est d’avoir une une dédiée à la connexion au net (pour mise a jour lors de l’installation notamment) et une pour un serveur DHCP qui servira à faire booter les pc sur le PXE.


INSTALLATION

Installation du système de base debian 8 avec utilitaires usuels du système et serveur ssh seulement.

Installation despaquets nécessaires à la mise en place du serveur PXE :

Code:
# apt-get install isc-dhcp-server tftpd-hpa syslinux pxe pxelinux nfs-kernel-server



CONFIGURATION

Configuration des cartes réseau : /etc/network/interfaces

Code:
####################################################
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet
loopback

# The primary network interface
allow-hotplug
eth1
iface eth1 inet dhcp

allow-hotplug eth0
iface
eth0 inet static
address 10.10.10.1
netmask 255.255.255.0
broadcast 10.10.10.255
network 10.10.10.0
nameserver 127.0.0.1
####################################################

Configurer le daemon dhcp : /etc/dhcp/dhcp.conf

Code:
####################################################
# Début de configuration du service DHCP
#
# Déclaration des leases et plages de service du serveur PXE:
 
subnet
10.10.10.0 netmask 255.255.255.0 {

range 10.10.10.10 10.10.10.20; # à adapter aux nombres de postes clients
option broadcast-address 10.10.10.255;
option routers 10.10.10.1; # IP du serveur PXE si on veut faire du routage
option domain-name-servers 10.10.10.1; # idem
filename "pxelinux.0";
}
 
group {
next-server 10.10.10.1; # si nécessaire
host tftpclient {
filename "pxelinux.0";
}
}
 
#
# Fin de configuration du service DHCP
####################################################

Configuration du serveur TFTP : /etc/default/tftpd-hpa

Code:
####################################################
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
####################################################

Configuration du serveur PXE : /etc/pxe.conf

Code:
####################################################
# which interface touse
interface=eth0
default_address=10.10.10.1

#
tftpd base dir:
tftpdbase=/srv/tftp
 
#
#
Fin de configuration du service PXE
####################################################

Téléchargement d’une image disque au format ISO, ici Linux Mint 18.1 Mate 64bits :

Code:
$ wget http://linuxmint.efemef.ovh/stable/18.1/linuxmint-18.1-mate-64bit.iso

Création du répertoire pour partage NFS du contenu de l’ISO :

Code:
# mkdir /srv/tftp/mint-18.1-64-mate

Copie du contenu de l’ISO dans le répertoire créé :

Code:
# mount linuxmint-18.1-mate-64bit.iso/mnt

Création du partage NFS : /etc/exports

Code:
####################################################
# /etc/exports: the access control list for filesystems which may be exported
#  to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
#/srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
#/srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#

/srv/tftp/mint-18.1-64-mate 10.10.10.0/24(async,no_root_squash,no_subtree_check,ro)
####################################################

Configuration du menu PXE pour le boot de l’hôte via le LAN : /srv/tftp/pxelinux.cfg/default

Code:
####################################################
# Début de configuration du menu PXE:
#
 
# Interface visuelle:
DEFAULT vesamenu.c32
MENU TITLE Bienvenue sur le
serveur PXE AviGNU
prompt 0
kbdmap french.kbd
 
menu separator

# Entrée du menu
LABEL LinuxMint Mate 18.1 64bits
KERNEL mint-18.1-64-mate/casper/vmlinuz
APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=10.10.10.1:/srv/tftp/mint-18.1-64-mate initrd=mint-18.1-64-mate/casper/initrd.lz nosplash --

menu separator

# Entrée du menu de redémarrage
LABEL Reboot
MENU LABEL Redemarrer
KERNEL reboot.c32
 #
# Fin de configuration du menu PXE
####################################################

Configuration du routage entre les interfaces réseau pour avoir accès au net depuis le réseau du PXE :

Code:
# /sbin/iptables -t nat -APOSTROUTING -o eth1 -j MASQUERADE
# /sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# /sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Installation de iptables-persistent afin de sauvegarder la configuration iptables de manière simple et de la rendre persistante :

Code:
# apt-get install iptables-persistent

Choisir oui pour sauvegarder les règles configurées.

Redémarrage du serveur ou de tout les services modifiés.


LANCEMENT

Pour booter sur le serveur PXE il suffit de brancher le câble réseau de l’hote sur son port ethernet relié à la carte additionnelle du serveur qui est configurée pour le boot PXE et profiter de la puissance du serveur :)

Dernière édition le 23/06/2017 à 18:24:42
Remonter Descendre Permalien du message
Écrire un nouveau message
Page : 1
Page générée en 0.7608 seconde(s).