serveurnumero1
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| serveurnumero1 [2026/09/02 16:11] – créée rene | serveurnumero1 [2026/09/02 16:53] (Version actuelle) – [Installation du serveur des Abeilles numéro 1 de clonage iPXE/Clonezilla sur Debian 13] rene | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Installation du serveur des Abeilles numéro 1 de clonage iPXE/ | ====== Installation du serveur des Abeilles numéro 1 de clonage iPXE/ | ||
| + | Cette documentation a été élaborée avec l'aide de Lumo, l' | ||
| + | développé par Proton (https:// | ||
| + | et les corrections ont été réalisées conjointement : les commandes de diagnostic ont été exécutées | ||
| + | et vérifiées sur le serveur réel, et les configurations proposées validées avant publication | ||
| + | mais sans pour autant être certain que tout fonctionne. A vous de vérifier :) | ||
| + | ReunigKozh | ||
| ===== ## 1. Vue d' | ===== ## 1. Vue d' | ||
| Ligne 7: | Ligne 12: | ||
| Le serveur permet de démarrer des machines en réseau (PXE) et de leur proposer soit la **restauration automatique d'une image système** (Debian, Ubuntu, Mint, PrimTux, MX Linux...), soit l' | Le serveur permet de démarrer des machines en réseau (PXE) et de leur proposer soit la **restauration automatique d'une image système** (Debian, Ubuntu, Mint, PrimTux, MX Linux...), soit l' | ||
| - | ``` | + | |
| - | PC client (PXE) | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | ``` | + | |
| Hypothèses : le serveur a **deux cartes réseau** — une reliée à Internet, l' | Hypothèses : le serveur a **deux cartes réseau** — une reliée à Internet, l' | ||
| Ligne 25: | Ligne 28: | ||
| - | ```bash | + | |
| - | sudo apt update | + | sudo apt update |
| - | sudo apt install isc-dhcp-server tftpd-hpa nginx nfs-kernel-server nfs-common rsync | + | sudo apt install isc-dhcp-server tftpd-hpa nginx nfs-kernel-server nfs-common rsync |
| - | ``` | + | |
| > Pendant l' | > Pendant l' | ||
| Ligne 37: | Ligne 39: | ||
| Identifier le nom de la carte (débrancher la carte Internet pour lever le doute, ou regarder `nmcli device status`) : | Identifier le nom de la carte (débrancher la carte Internet pour lever le doute, ou regarder `nmcli device status`) : | ||
| - | ```bash | + | |
| - | ip link | + | ip link |
| - | ``` | + | |
| Créer la connexion statique (remplacer `< | Créer la connexion statique (remplacer `< | ||
| - | ```bash | + | |
| - | sudo nmcli connection add type ethernet con-name " | + | sudo nmcli connection add type ethernet con-name " |
| ipv4.method manual ipv4.addresses 192.168.100.1/ | ipv4.method manual ipv4.addresses 192.168.100.1/ | ||
| - | sudo nmcli connection up pxe-lan | + | |
| - | ``` | + | |
| ⚠️ **Ne jamais brancher la carte LAN PXE sur un réseau existant** tant que le DHCP tourne : le serveur attribuerait des IP 192.168.100.x à votre réseau habituel. | ⚠️ **Ne jamais brancher la carte LAN PXE sur un réseau existant** tant que le DHCP tourne : le serveur attribuerait des IP 192.168.100.x à votre réseau habituel. | ||
| Ligne 54: | Ligne 54: | ||
| - | Créer | + | Créer |
| - | + | sudo nao / | |
| - | ```ini | + | |
| - | option domain-name " | + | |
| - | option domain-name-servers 8.8.8.8; | + | |
| - | option space PXE; | + | |
| - | option PXE.arch code 93 = unsigned integer 16; | + | |
| - | default-lease-time 600; | + | |
| - | max-lease-time 7200; | + | |
| - | authoritative; | + | |
| - | + | ||
| - | subnet 192.168.100.0 netmask 255.255.255.0 { | + | |
| - | range 192.168.100.10 192.168.100.120; | + | |
| - | option routers 192.168.100.1; | + | |
| - | option broadcast-address 192.168.100.255; | + | |
| - | next-server 192.168.100.1; | + | |
| - | if exists user-class and option user-class = " | + | |
| - | # iPXE sait parler HTTP : on lui passe directement le menu | + | option domain-name-servers 8.8.8.8; |
| - | filename " | + | option space PXE; |
| - | } elsif option PXE.arch = 00:07 or option PXE.arch = 00:09 { | + | option PXE.arch code 93 = unsigned integer 16; |
| - | # UEFI x64 → iPXE EFI | + | default-lease-time 600; |
| - | filename " | + | max-lease-time 7200; |
| - | } else { | + | authoritative; |
| - | # BIOS legacy → iPXE en mode chainloader | + | |
| - | filename " | + | subnet 192.168.100.0 netmask 255.255.255.0 { |
| + | range 192.168.100.10 192.168.100.120; | ||
| + | option routers 192.168.100.1; | ||
| + | option broadcast-address 192.168.100.255; | ||
| + | next-server 192.168.100.1; | ||
| + | |||
| + | | ||
| + | # iPXE sait parler HTTP : on lui passe directement le menu | ||
| + | filename " | ||
| + | } elsif option PXE.arch = 00:07 or option PXE.arch = 00:09 { | ||
| + | # UEFI x64 → iPXE EFI | ||
| + | filename " | ||
| + | } else { | ||
| + | # BIOS legacy → iPXE en mode chainloader | ||
| + | filename " | ||
| + | } | ||
| } | } | ||
| - | } | ||
| - | ``` | ||
| - | Déclarer l' | + | Déclarer l' |
| + | sudo nano / | ||
| - | ```ini | + | |
| - | INTERFACESv4="< | + | INTERFACESv6="" |
| - | INTERFACESv6="" | + | |
| - | ``` | + | |
| ===== ## 5. Configuration TFTP ===== | ===== ## 5. Configuration TFTP ===== | ||
| - | `/ | + | sudo nano / |
| - | ```ini | + | |
| - | TFTP_USERNAME=" | + | TFTP_DIRECTORY="/ |
| - | TFTP_DIRECTORY="/ | + | TFTP_ADDRESS=" |
| - | TFTP_ADDRESS=" | + | TFTP_OPTIONS=" |
| - | TFTP_OPTIONS=" | + | |
| - | ``` | + | |
| Créer la racine TFTP **minimaliste** (seuls les bootloaders sont servis par TFTP — tout le reste passe en HTTP) : | Créer la racine TFTP **minimaliste** (seuls les bootloaders sont servis par TFTP — tout le reste passe en HTTP) : | ||
| - | ```bash | + | |
| - | sudo mkdir -p /srv/tftp | + | sudo mkdir -p /srv/tftp |
| - | # Copier depuis l' | + | # Copier depuis l' |
| - | sudo rsync -av ancien:/ | + | sudo rsync -av ancien:/ |
| - | sudo chown -R root:tftp /srv/tftp | + | sudo chown -R root:tftp /srv/tftp |
| - | chmod 644 /srv/tftp/* | + | chmod 644 /srv/tftp/* |
| - | ``` | + | |
| > **Pourquoi ne pas recopier tout l' | > **Pourquoi ne pas recopier tout l' | ||
| Ligne 120: | Ligne 115: | ||
| La config nginx par défaut de Debian sert `/ | La config nginx par défaut de Debian sert `/ | ||
| - | ```bash | + | |
| - | sudo rsync -av ancien:/ | + | sudo rsync -av ancien:/ |
| - | sudo rsync -av ancien:/ | + | sudo rsync -av ancien:/ |
| - | ``` | + | |
| Contenu attendu dans `/ | Contenu attendu dans `/ | ||
| - | ``` | + | |
| - | filesystem.squashfs | + | initrd.img |
| - | initrd.img | + | vmlinuz |
| - | vmlinuz | + | |
| - | ``` | + | |
| ===== ## 7. NFS (images et scripts) ===== | ===== ## 7. NFS (images et scripts) ===== | ||
| Ligne 138: | Ligne 130: | ||
| Créer le répertoire des images et y copier le contenu de l' | Créer le répertoire des images et y copier le contenu de l' | ||
| - | ```bash | + | |
| - | sudo rsync -av ancien:/ | + | sudo rsync -av ancien:/ |
| - | ``` | + | |
| Arborescence attendue : | Arborescence attendue : | ||
| - | ``` | + | |
| - | / | + | ├── sda/ ← images pour cibles SATA (disques détectés en /dev/sda) |
| - | ├── sda/ ← images pour cibles SATA (disques détectés en /dev/sda) | + | ├── nvme/ ← images pour cibles NVMe |
| - | ├── nvme/ ← images pour cibles NVMe | + | └── scripts/ |
| - | └── scripts/ | + | ├── restore-by-disk.sh |
| - | ├── restore-by-disk.sh | + | └── effacement.sh |
| - | └── effacement.sh | + | |
| - | ``` | + | |
| - | Déclarer l' | + | Déclarer l' |
| + | sudo nano / | ||
| - | ``` | + | |
| - | / | + | |
| - | ``` | + | |
| Puis : | Puis : | ||
| - | ```bash | + | |
| - | sudo exportfs -ra | + | sudo exportfs -ra |
| - | ``` | + | |
| ===== ## 8. Démarrage et activation des services ===== | ===== ## 8. Démarrage et activation des services ===== | ||
| - | ```bash | + | |
| - | sudo systemctl enable --now isc-dhcp-server tftpd-hpa nginx nfs-server | + | sudo systemctl enable --now isc-dhcp-server tftpd-hpa nginx nfs-server |
| - | ``` | + | |
| Vérifications : | Vérifications : | ||
| - | ```bash | + | |
| - | sudo systemctl status isc-dhcp-server tftpd-hpa nginx nfs-server | + | sudo systemctl status isc-dhcp-server tftpd-hpa nginx nfs-server |
| - | ss -tulpn | grep -E ': | + | ss -tulpn | grep -E ': |
| - | curl http:// | + | curl http:// |
| - | curl -sI http:// | + | curl -sI http:// |
| - | showmount -e localhost | + | showmount -e localhost |
| - | ``` | + | |
| Si un pare-feu est actif, autoriser sur l' | Si un pare-feu est actif, autoriser sur l' | ||
| Ligne 236: | Ligne 221: | ||
| === **Méthode B === | === **Méthode B === | ||
| - | — ajouter une entrée au menu** : éditer | + | — ajouter une entrée au menu** : éditer |
| + | sudo nano / | ||
| - | ``` | + | |
| - | item Ma-Distrib-UEFI-img | + | |
| - | ``` | + | |
| et s' | et s' | ||
| Ligne 248: | Ligne 232: | ||
| **Voir les logs des clients** : | **Voir les logs des clients** : | ||
| - | ```bash | + | |
| - | sudo journalctl -u isc-dhcp-server -f # demandes DHCP en temps réel | + | sudo journalctl -u isc-dhcp-server -f # demandes DHCP en temps réel |
| - | sudo tail -f / | + | sudo tail -f / |
| - | ``` | + | |
| **Espace disque des images** : | **Espace disque des images** : | ||
| - | ```bash | + | |
| - | df -h / | + | df -h / |
| - | du -sh / | + | du -sh / |
| - | ``` | + | |
| **Redémarrer un service après modification** : | **Redémarrer un service après modification** : | ||
| - | ```bash | + | |
| - | sudo systemctl restart isc-dhcp-server | + | sudo systemctl restart isc-dhcp-server |
| - | sudo exportfs -ra # après modification de / | + | sudo exportfs -ra # après modification de / |
| - | sudo systemctl reload nginx # après modification de boot.ipxe (optionnel) | + | sudo systemctl reload nginx # après modification de boot.ipxe (optionnel) |
| - | ``` | + | |
| **Sauvegarder la configuration du serveur** : | **Sauvegarder la configuration du serveur** : | ||
| - | ```bash | + | |
| - | sudo tar czf config-ipxe-$(date +%F).tgz \ | + | sudo tar czf config-ipxe-$(date +%F).tgz \ |
| / | / | ||
| / | / | ||
| / | / | ||
| - | ``` | ||
| ==== ## 5. Dépannage rapide ==== | ==== ## 5. Dépannage rapide ==== | ||
| Ligne 295: | Ligne 275: | ||
| - Conserver l' | - Conserver l' | ||
| - | --- | + | |
| Quelques pistes d' | Quelques pistes d' | ||
| + | |||
| + | |||
| + | |||
| + | |||
serveurnumero1.1788365518.txt.gz · Dernière modification : de rene
