GNU/Linux >> Tutoriels Linux >  >> Debian

Installer Debian 9 (Stretch) via le serveur de démarrage réseau PXE

Dans ce didacticiel, nous vous expliquerons comment installer la dernière version du serveur Debian 9 via un serveur PXE avec des sources de miroirs HTTP distantes sur Internet proposées par les miroirs d'archives Debian. Le serveur DHCP que nous utiliserons dans ce didacticiel pour configurer l'environnement PXE sera le serveur ISC-DHCP et les fichiers Debian netboot seront servis sur le réseau local par le serveur TFTPD-HPA. L'installation d'un système via PXE peut améliorer la vitesse d'installation et en cas de déploiement de plusieurs installations de Debian dans un court laps de temps ou dans les cas où les machines ne sont pas équipées d'une unité CD/DVD ROM.

Exigences

  • Debian 9 installée sur une machine bare metal ou sur une machine virtuelle.
  • Une interface réseau configurée avec une adresse IP statique pour le segment de réseau qui sera utilisée pour allouer dynamiquement l'adresse IP et d'autres paramètres DHCP et PXE associés.
  • Un compte local ou distant avec des privilèges root sur le serveur Debian ou un accès direct au compte root via la console du serveur ou un accès distant via SSH.
  • Une connexion Internet est nécessaire pour installer Debian via le réseau.

Configuration initiale

Dans la première étape, vous devez vous assurer que le système Debian que nous utiliserons pour installer de nouveaux serveurs possède l'interface réseau qui sera utilisée pour se lier à un serveur DHCP, configuré avec une adresse IP statique.

Afin de configurer manuellement votre carte d'interface réseau, ouvrez le fichier d'interface réseau et modifiez les lignes suivantes à l'aide de votre éditeur de texte préféré, tel que nano . Remplacez les lignes de paramètres IP décrites ci-dessous pour correspondre à vos propres configurations réseau.

sudo nano /etc/network/interfaces

Interfaces extrait de fichier :

auto ens33
iface ens33 inet statique
adresse 192.168.1.102
masque réseau 255.255.255.0
réseau 192.168.1.0
diffusion 192.168.1.255
passerelle 192.168.1.1
DNS-nameservers 192.168.1.2 8.8.4.4
DNS-search debian.local

Après avoir modifié le fichier des interfaces réseau, enregistrez et fermez le fichier et réduisez l'interface réseau, puis vers le haut, pour appliquer les paramètres, en exécutant les commandes ci-dessous. En supposant que votre carte d'interface réseau s'appelle ens33, exécutez les commandes ci-dessous pour désactiver et activer la carte réseau.

ifdown ens33
ifup ens33

Pour vérifier si la nouvelle adresse IP a été configurée pour l'interface réseau, exécutez la commande suivante.

ip a

Parfois, les paramètres IP ne s'appliquent pas simplement en redémarrant le démon réseau ou en désactivant et en activant l'interface. Dans ce cas, vous devez redémarrer le système avec la commande ci-dessous.

init 6

Ou

redémarrage de systemctl

Vous devez également effectuer une mise à jour complète du système en exécutant les commandes ci-dessous :

mise à jour apt
mise à niveau apt

À l'étape suivante, exécutez la commande suivante afin d'installer certains utilitaires requis qui seront utilisés pour gérer davantage votre système à partir de la ligne de commande.

apt install wget bash-completion unzip

Installer et configurer le serveur ISC-DHCP

Afin de configurer un serveur DHCP et une configuration PXE, connectez-vous au système avec le compte root ou un compte avec des privilèges root et installez isc-dhcp-server package fourni par le référentiel Debian 9 en exécutant la commande suivante.

apt installer isc-dhcp-server

Sauvegardez maintenant le fichier de configuration principal du serveur ISC-DHCP et modifiez le fichier de configuration du serveur dhcpc pour qu'il contienne les paramètres suivants.

mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup
nano /etc/dhcp/dhcpd.conf

dhcpcd.conf extrait de fichier :

ddns-update-style none ;
option option-128 code 128 =string ;
option option-129 code 129 =text ;
authoritative ;
log-facility local7;
code d'arc d'option 93 =entier non signé 16 ;

sous-réseau 192.168.1.0 masque de réseau 255.255.255.0 {
plage 192.168.1.50 192.168.1.100 ;
option routeurs 192.168 .1.1 ;
option broadcast-address 192.168.1.255 ;
option subnet-mask 255.255.255.0 ;
option ntp-servers 192.168.1.102 ;
option time-servers 192.168.1.102;

option domain-name "debian.local" ;
option domain-name-servers 192.168.1.1, 192.168.1.2 ;
allow booting ;
allow bootp;
if option arch =00:07 or option arch =00:09 {
nom de fichier "bootnetx64.efi";
} else {
nom de fichier "pxelinux.0";
}
next-server 192.168.1.102 ;

#default bail 4H, max bail 8H
default-lease-time 14400 ;
max-lease- heure 28800 ;

}

hôte nas {
matériel ethernet 00:17:a4:f6:b2:2e;
adresse fixe 192.168.1.105;
}

Dans le fichier de configuration ci-dessus, remplacez les lignes suivantes en conséquence.

sous-réseau {..
plage 192.168.1.50 192.168.1.100 ;

Pour définir votre propre plage de réseau pour que DHCP alloue des adresses IP à ce segment de réseau

routeurs d'options =configurer votre passerelle IP

option adresse de diffusion =configurer votre adresse de diffusion réseau

masque de sous-réseau d'option =configurer l'adresse du masque de sous-réseau de votre réseau

option ntp-servers

option serveurs de temps =configurer l'adresse IP de votre serveur NTP réseau

option nom de domaine =configurer le nom de domaine de votre réseau, le cas échéant

option serveurs de noms de domaine =configurer les adresses IP de votre serveur DNS réseau

si option arch =00:07 ou option arch =00:09 =si le périphérique final est une machine basée sur UEFI, démarrez le périphérique à l'aide de bootnetx64.efi fichier ou démarrer toute autre machine qui n'est pas basée sur UEFI à l'aide de pxelinux.0 dossier. Ces machines sont généralement des systèmes BIOS plus anciens.

serveur suivant 192.168.1.102 = Il s'agit de l'adresse IP du serveur TFTP, où se trouve le fichier pxelinux.0 ou bootnetx64.efi peut être trouvé dans votre réseau. Dans ce cas, le serveur TFTP est situé sur la même machine.

durée de bail par défaut =temps par défaut en secondes accordé à une adresse IP avant son expiration.

durée maximale du bail =temps maximum en secondes accordé à une adresse IP avant son expiration.

hôte nas { 
matériel ethernet 00:17:a4:f6:b2:2e ;
adresse fixe 192.168.1.105 ;
}

C'est ainsi qu'une adresse IP statique est déclarée dans le serveur DHCP. L'appareil avec l'adresse MAC définie par Ethernet matériel obtiendra toujours la même adresse IP. Le nom d'hôte déclaré n'a aucune importance. Vous pouvez utiliser n'importe quelle chaîne arbitraire pour le nom d'hôte.

Ouvrez ensuite isc-dhcp-server fichier dans le /etc/default/ répertoire à modifier, accédez à la fin du fichier et ajoutez votre carte d'interface réseau configurée avec une adresse IP statique à la ligne Interfaces IPv4, comme décrit dans l'exemple ci-dessous. Assurez-vous d'ajouter le nom de carte d'interface réseau approprié. Utiliser ip ou ifconfig commandes pour répertorier les interfaces réseau de votre machine et trouver le nom correct.

nano /etc/default/isc-dhcp-server

extrait du fichier par défaut isc-dhcp-server :

INTERFACESv4="ens33"

Enfin, redémarrez le démon DHCP pour appliquer les modifications. Vérifiez l'état du service DHCP en exécutant la commande ci-dessous afin de vérifier si le service a été démarré.

systemctl redémarre isc-dhcp-server.service
statut systemctl isc-dhcp-server.service

Exécutez également ss ou netstat commande pour lister tous les sockets ouverts par serveur DHCP.

netstat –tulpn
ss –tulpn

Si netstat n'est pas installé sur votre système, lancez la commande ci-dessous pour l'installer.

apt install net-tools

Installer le serveur TFTP

Afin de servir les fichiers de démarrage réseau requis par les clients pour démarrer Debian à distance via PXE et TFTP, vous devez également installer un serveur TFTP sur votre système. L'un des serveurs TFTP les plus courants et les plus sécurisés disponibles pour les réseaux locaux est le tftpd-hpa serveur. Les packages TFTP-HPA peuvent être installés à partir des dépôts officiels proposés par Debian 9. Exécutez la commande ci-dessous pour installer le serveur tftpd-hpa dans Debian 9.

apt installer tftpd-hpa

Une fois le package installé, ouvrez le fichier de configuration par défaut TFTPD-HPA et assurez-vous que le fichier a le contenu ci-dessous.

nano /etc/default/tftpd-hpa

tftpd-hpa extrait de fichier :

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

Si la ligne TFTP_OPTIONS a le contenu ci-dessous, assurez-vous de supprimer le --create flag afin de sécuriser le serveur TFTP.

TFTP_OPTIONS="--secure --create"    

La création L'indicateur permet aux clients distants de télécharger des fichiers sur le serveur TFTP. Cette option est dangereuse car des utilisateurs arbitraires peuvent télécharger ou supprimer des fichiers du chemin racine du serveur TFTP.

Enfin, activez le service à l'échelle du système, démarrez le serveur TFTP et vérifiez l'état du démon TFTP en exécutant la série de commandes ci-dessous :

systemctl activer tftpd-hpa
systemctl démarrer tftpd-hpa
statut systemctl tftpd-hpa

Vous devez également exécuter netstat ou ss afin de répertorier toutes les sockets réseau ouvertes en état d'écoute dans votre système. Les ports UDP suivants requis par les serveurs DHCP et TFTP doivent être ouverts dans votre pile réseau :67 et 69. Vous devez ouvrir ces ports dans votre pare-feu en exécutant les commandes suivantes :

ufw autorise 67/udp
ufw autorise 69/udp

Si vous utilisez iptables règles brutes pour gérer la politique de pare-feu sur votre serveur Debian, ajoutez les règles suivantes pour autoriser le trafic entrant UDP des ports 67 et 69 à passer le pare-feu afin que les clients puissent accéder aux serveurs DHCP et TFTP.

apt-get install iptables-persistent
iptables -A INPUT -p udp --dport 67 -j ACCEPTER
iptables -A INPUT -p udp --dport 69 -j ACCEPTER
systemctl iptables-persistent save
rechargement persistant de systemctl iptables

Dans l'étape suivante, nous allons installer les utilitaires du chargeur de démarrage Syslinux en exécutant la commande suivante.

apt install syslinux-utils syslinux

Déployer les fichiers Netboot de Debian 9

Ensuite, rendez-vous sur la page Web Debian netinstall à l'adresse suivante https://www.debian.org/distrib/netinst et téléchargez la dernière version de l'archive tar de Debian netboot à l'aide de l'utilitaire de ligne de commande wget.

wget http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz

Une fois l'archive tar de Debian netinstall téléchargée, extrayez le contenu de l'archive directement vers le chemin racine TFTP en exécutant la commande ci-dessous.

tar xfz netboot.tar.gz -C /srv/tftp/

Copiez également le fichier memdisk fourni par le package Syslinux dans le chemin racine TFTP et répertoriez le contenu du répertoire TFTP en exécutant les commandes ci-dessous. Le répertoire /srv/tftp doit avoir le contenu affiché dans la capture d'écran ci-dessous.

cp /usr/lib/syslinux/memdisk /srv/tftp/
ls /srv/tftp/

Ensuite, créez un lien symbolique pour le fichier du chargeur de démarrage UEFI fourni par le package Debian netinstall vers le chemin racine TFTP en exécutant la commande ci-dessous. En outre, faites une longue liste du répertoire TFTP pour voir si le lien logiciel pointe correctement vers le fichier netboot UEFI.

ln -s /srv/tftp/debian-installer/amd64/bootnetx64.efi /srv/tftp/
ls -l /srv/tftp/

Le serveur PXE lit et exécute les fichiers de configuration situés dans pxelinux.cfg répertoire à partir du chemin racine TFTP dans cet ordre :fichiers GUID, fichiers MAC et fichier par défaut. Le répertoire pxelinux.cfg a déjà été créé et rempli avec le fichier de configuration par défaut PXE requis, car nous avons précédemment extrait les fichiers netboot requis de l'archive Debian netinstall vers le répertoire /srv/tftp. Il n'est pas nécessaire de modifier davantage le fichier de configuration par défaut de PXE à partir du répertoire pxelinux.cfg. Cependant, le fichier qui contrôle réellement le menu de démarrage initial de Debian est nommé txt.cfg et se trouve dans /srv/tftp/debian-installer/amd64/boot-screens/ annuaire. Le fichier de configuration pxe par défaut de pxelinux.cfg répertoire est en fait un lien symbolique qui pointe vers le fichier txt.cfg. Afin de modifier ou d'ajouter d'autres options à transmettre au noyau pendant le processus de démarrage net ou d'ajouter d'autres entrées ou de démarrer d'autres distributions Linux via le serveur PXE, vous devez ouvrir le fichier de configuration txt.cfg PXE par défaut avec la commande ci-dessous et faire les modifications appropriées.

   nano /srv/tftp/debian-installer/amd64/boot-screens/txt.cfg

t xt.cfg extrait de fichier :

label install
menu label ^Install
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz --- quiet

Si vous souhaitez utiliser le mode de secours Debian via PXE, ajoutez une entrée à ce fichier avec les configurations ci-dessous.

label rescue
label menu ^Rescue mode
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz rescue/enable=true --- calme

Pour ajouter les entrées requises pour démarrer Debian sur le réseau en mode expert ou utiliser le mode d'installation automatique, ajoutez les autres configurations au fichier txt.cfg comme indiqué dans les extraits ci-dessous.

Installation experte :

label expert
label menu ^Expert install
kernel debian-installer/amd64/linux
append priority=low vga=788 initrd=debian-installer/amd64/initrd.gz -- -
inclure debian-installer/amd64/boot-screens/rqtxt.cfg

Installation automatisée :

label auto
menu label ^Installation automatique
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd. gz --- silencieux

De plus, en inspectant le contenu de ce fichier, vous verrez que le noyau et initrd.gz les images, qui sont chargées dans la mémoire RAM du client via le protocole réseau TFTP, après le menu PXE initial, se trouvent dans /srv/tftp/debian-installer/amd64/ annuaire. Vous ne pouvez modifier que ces deux fichiers pour les futures mises à jour du noyau Debian et initrd.gz.

C'est tout! Vous avez maintenant la possibilité de démarrer une machine cliente via le réseau, d'utiliser toutes les entrées qui sont normalement affichées lors du démarrage de Debian via l'image DVD et de commencer à installer Debian 9 via un serveur PXE.

Pour voir les messages de journal DHCP qui sont échangés entre les clients et le serveur en temps réel, utilisez tail commande contre le fichier système syslog. Le serveur DHCP supprime tous ses messages de journal dans le fichier syslog. Les messages du journal du serveur TFTP peuvent être observés via le fichier daemon.log. Les captures d'écran ci-dessous illustrent un extrait des messages de journal émis par les serveurs DHCP et TFTP.

tailf /var/log/syslog
tailf /var/log/daemon.log

Vous pouvez également exécuter la commande ci-dessous afin d'afficher les messages de journal générés par le serveur TFTP.

journalctl -fu tftpd-hpa

Pour révéler des informations étendues sur les baux accordés par le serveur DHCP à ses clients, affichez le contenu de dhcpd.leases fichier à l'aide de la commande cat, comme illustré dans l'exemple ci-dessous.

cat /var/lib/dhcp/dhcpd.leases

C'est tout! Vous avez déployé avec succès un serveur PXE sur votre réseau. Vous pouvez maintenant commencer à installer Debian sur le réseau en demandant à la machine cliente de démarrer via PXE. Vous pouvez démarrer en réseau une machine cliente en appuyant sur une touche de fonction spéciale lors de l'initialisation POST de la machine. Consultez la documentation du fournisseur de la carte mère de votre machine afin de trouver la clé de démarrage réseau appropriée.

Le processus d'installation de Debian sur le réseau est très similaire (seulement quelques petites différences) avec le processus d'installation du système via une image ISO de DVD ou à l'aide d'une clé USB amorçable.


Debian
  1. Comment installer un serveur LAMP sur Debian 9 Stretch Linux

  2. Comment installer le serveur de communauté MySQL sur Debian 9 Stretch Linux

  3. Comment installer le serveur Redis sur Debian 11

  4. Installer Cockpit sur Debian 9

  5. Comment installer le réseau social Elgg sur Debian 9

Comment installer le serveur proxy Shadowsocks-Libev sur le VPS Debian 9 Stretch

Comment installer VestaCP sur Debian 9 Stretch

Comment installer le serveur Minecraft sur Debian 9 Stretch

Comment installer Plex Media Server sur Debian 9 Stretch

Comment installer Go sur Debian 9 Stretch

Comment installer Jetty sur Debian 9 Stretch