GNU/Linux >> Linux Esercitazione >  >> Debian

Installa Debian 9 (Stretch) tramite il server di avvio di rete PXE

In questo tutorial, ti guideremo su come installare l'ultima versione del server Debian 9 tramite un server PXE con sorgenti mirror HTTP remote Internet offerte dai mirror degli archivi Debian. Il server DHCP che useremo in questo tutorial per configurare l'ambiente PXE sarà il server ISC-DHCP e i file Debian netboot saranno serviti sulla rete locale dal server TFTPD-HPA. L'installazione di un sistema tramite PXE può migliorare la velocità di installazione e in caso di distribuzione di più installazioni di Debian in un breve periodo di tempo o nei casi in cui le macchine non sono dotate di un'unità CD/DVD ROM.

Requisiti

  • Debian 9 installato su una macchina bare-metal o su una macchina virtuale.
  • Un'interfaccia di rete configurata con un indirizzo IP statico per il segmento di rete che verrà utilizzato per allocare dinamicamente l'indirizzo IP e altre impostazioni DHCP e PXE correlate.
  • Un account locale o remoto con privilegi di root sul server Debian o accesso diretto all'account di root tramite la console del server o accesso remoto tramite SSH.
  • Una connessione Internet necessaria per l'installazione di Debian tramite rete.

Configurazione iniziale

Nel primo passaggio, devi assicurarti che il sistema Debian da cui utilizzeremo per installare nuovi server abbia l'interfaccia di rete che verrà utilizzata per collegarsi a un server DHCP, configurato con un indirizzo IP statico.

Per configurare manualmente la scheda dell'interfaccia di rete, apri il file delle interfacce di rete e modifica le seguenti righe utilizzando il tuo editor di testo preferito, ad esempio nano . Sostituisci le righe delle impostazioni IP descritte di seguito in modo che corrispondano alle tue configurazioni di rete.

sudo nano /etc/network/interfaces

Interfacce estratto del file:

auto ens33
iface ens33 inet static
address 192.168.1.102
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.2 8.8.4.4
dns-search debian.local

Dopo aver modificato il file delle interfacce di rete, salva e chiudi il file e abbassa l'interfaccia di rete, quindi su, per applicare le impostazioni, eseguendo i comandi seguenti. Supponendo che la tua scheda di interfaccia di rete sia denominata ens33, immetti i comandi seguenti per disabilitare e abilitare la scheda di rete.

ifdown ens33
ifup ens33

Per verificare se il nuovo indirizzo IP è stato configurato per l'interfaccia di rete, emettere il seguente comando.

ip a

A volte le impostazioni IP non si applicano semplicemente riavviando il demone di rete o disabilitando e abilitando l'interfaccia. In questo caso dovresti riavviare il sistema con il comando seguente.

init 6

Oppure

systemctl reboot

Dovresti anche eseguire un aggiornamento completo del sistema eseguendo i comandi seguenti:

apt update
apt upgrade

Nel passaggio successivo, esegui il comando seguente per installare alcune utilità richieste che verranno utilizzate per gestire ulteriormente il tuo sistema dalla riga di comando.

apt install wget bash-completion unzip

Installa e configura il server ISC-DHCP

Per configurare un server DHCP e una configurazione PXE, accedi al sistema con l'account root o un account con privilegi di root e installa isc-dhcp-server pacchetto fornito dal repository Debian 9 emettendo il seguente comando.

apt install isc-dhcp-server

Ora esegui il backup del file di configurazione principale del server ISC-DHCP e modifica il file di configurazione del server dhcpc in modo che contenga le seguenti impostazioni.

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

dhcpcd.conf estratto del file:

ddns-update-style none;
option option-128 code 128 = string;
option option-129 code 129 = text;
authoritative;
log-facility local7;
option arch code 93 = unsigned integer 16;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.100;
option routers 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 {
filename "bootnetx64.efi";
} else {
filename "pxelinux.0";
}
next-server 192.168.1.102;

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

}

host nas {
hardware ethernet 00:17:a4:f6:b2:2e;
fixed-address 192.168.1.105;
}

Nel file di configurazione sopra, sostituisci le seguenti righe di conseguenza.

subnet {..
range 192.168.1.50 192.168.1.100;

Per definire il tuo intervallo di rete affinché DHCP allochi IP a questo segmento di rete

router opzionali =imposta il tuo IP Gateway

opzione indirizzo di trasmissione =imposta il tuo indirizzo di trasmissione di rete

opzione maschera di sottorete =imposta l'indirizzo della subnet mask di rete

opzione ntp-server

server orari opzionali =imposta l'indirizzo IP del tuo server NTP di rete

opzione nome-dominio =imposta il tuo nome di dominio di rete, se presente

opzione server-nome-dominio =imposta gli indirizzi IP del tuo server DNS di rete

se opzione arco =00:07 o opzione arco =00:09 =se il dispositivo finale è una macchina basata su UEFI, avvia il dispositivo utilizzando bootnetx64.efi eseguire il file o avviare qualsiasi altra macchina che non sia basata su UEFI utilizzando pxelinux.0 file. Queste macchine in genere sono sistemi BIOS meno recenti.

server successivo 192.168.1.102 = Questo è l'indirizzo IP del server TFTP, dove si trova il file pxelinux.0 o bootnetx64.efi possono essere trovati nella tua rete. In questo caso il server TFTP si trova nella stessa macchina.

Tempo di locazione predefinito =tempo predefinito in secondi concesso a un indirizzo IP prima della scadenza.

Tempo massimo di locazione =tempo massimo in secondi concesso a un indirizzo IP prima della scadenza.

host nas {
hardware ethernet 00:17:a4:f6:b2:2e;
fixed-address 192.168.1.105;
}

Ecco come viene dichiarato un indirizzo IP statico nel server DHCP. Il dispositivo con l'indirizzo MAC definito da hardware ethernet l'istruzione otterrà sempre lo stesso indirizzo IP. Il nome host dichiarato non ha importanza. Puoi utilizzare qualsiasi stringa arbitraria per il nome host.

Quindi apri isc-dhcp-server nel /etc/default/ directory per la modifica, vai alla fine del file e aggiungi la tua scheda di interfaccia di rete configurata con un indirizzo IP statico alla riga Interfacce IPv4 come descritto nell'esempio seguente. Assicurati di aggiungere il nome della scheda di interfaccia di rete appropriato. Usa ip o ifconfig comandi per elencare le interfacce di rete della tua macchina e trovare il nome corretto.

nano /etc/default/isc-dhcp-server

estratto del file predefinito isc-dhcp-server:

INTERFACESv4=”ens33”

Infine, riavvia il demone DHCP per applicare le modifiche. Controlla lo stato del servizio DHCP emettendo il comando seguente per verificare se il servizio è stato avviato.

systemctl restart isc-dhcp-server.service
systemctl status isc-dhcp-server.service

Inoltre, esegui ss o netstat comando per elencare tutti i socket aperti dal server DHCP.

netstat –tulpn
ss –tulpn

Se netstat l'utilità non è installata nel tuo sistema, esegui il comando seguente per installarla.

apt install net-tools

Installa server TFTP

Per servire i file netboot richiesti dai client per avviare Debian in remoto tramite PXE e TFTP, devi anche installare un server TFTP nel tuo sistema. Uno dei server TFTP più comuni e sicuri disponibili per le LAN è tftpd-hpa server. I pacchetti TFTP-HPA possono essere installati dai repository ufficiali offerti da Debian 9. Eseguire il comando seguente per installare il server tftpd-hpa in Debian 9.

apt install tftpd-hpa

Dopo aver installato il pacchetto, apri il file di configurazione predefinito TFTPD-HPA e assicurati che il file abbia il contenuto seguente.

nano /etc/default/tftpd-hpa

tftpd-hpa estratto del file:

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

Se la riga TFTP_OPTIONS ha i seguenti contenuti, assicurati di rimuovere --create flag per proteggere il server TFTP.

TFTP_OPTIONS="--secure --create"

Il crea flag consente ai client remoti di caricare file sul server tftp. Questa opzione è pericolosa perché utenti arbitrari possono caricare o eliminare file dal percorso principale del server TFTP.

Infine, abilita il servizio a livello di sistema e avvia il server TFTP e controlla lo stato del demone tftp emettendo la seguente serie di comandi:

systemctl enable tftpd-hpa
systemctl start tftpd-hpa
systemctl status tftpd-hpa

Dovresti anche eseguire netstat o ss comando per elencare tutti i socket di rete aperti in stato di ascolto nel tuo sistema. Le seguenti porte UDP richieste dai server DHCP e TFTP dovrebbero essere aperte nello stack di rete:67 e 69. Dovresti aprire queste porte nel tuo firewall, eseguendo i seguenti comandi:

ufw allow 67/udp
ufw allow 69/udp

Se stai utilizzando iptables regole grezze per gestire la politica del firewall nel tuo server Debian, aggiungi le seguenti regole per consentire al traffico in entrata delle porte 67 e 69 UDP di passare il firewall in modo che i client possano accedere ai server DHCP e TFTP.

apt-get install iptables-persistent
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p udp --dport 69 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Nel passaggio successivo, installeremo le utilità del bootloader Syslinux eseguendo il comando seguente.

apt install syslinux-utils syslinux

Distribuisci file Debian 9 Netboot

Quindi, vai alla pagina web di Debian netinstall al seguente indirizzo https://www.debian.org/distrib/netinst e scarica l'ultima versione di Debian netboot archive tarball usando l'utilità della riga di comando wget.

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

Dopo aver scaricato il tarball di Debian netinstall, estrai il contenuto dell'archivio direttamente nel percorso radice TFTP eseguendo il comando seguente.

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

Copia anche il file memdisk fornito dal pacchetto Syslinux nel percorso radice TFTP ed elenca il contenuto della directory TFTP eseguendo i comandi seguenti. La directory /srv/tftp dovrebbe avere il contenuto visualizzato nello screenshot qui sotto.

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

Quindi, crea un collegamento simbolico per il file del bootloader UEFI fornito dal pacchetto Debian netinstall al percorso radice TFTP eseguendo il comando seguente. Inoltre, fai un lungo elenco della directory TFTP per vedere se il collegamento software punta correttamente al file UEFI netboot.

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

Il server PXE legge ed esegue i file di configurazione che si trovano in pxelinux.cfg directory dal percorso radice TFTP in questo ordine:file GUID, file MAC e file predefinito. La directory pxelinux.cfg è già stata creata e popolata con il file di configurazione predefinito PXE richiesto perché in precedenza abbiamo estratto i file netboot richiesti dall'archivio netinstall di Debian nella directory /srv/tftp. Non è necessario modificare ulteriormente il file di configurazione predefinito PXE dalla directory pxelinux.cfg. Tuttavia, il file che controlla effettivamente il menu di avvio iniziale di Debian si chiama txt.cfg e si trova in /srv/tftp/debian-installer/amd64/boot-screens/ directory. Il file di configurazione pxe predefinito da pxelinux.cfg directory è in realtà un collegamento software che punta al file txt.cfg. Per modificare o aggiungere altre opzioni da passare al kernel durante il processo di avvio da rete o aggiungere altre voci o avviare altre distribuzioni Linux tramite il server PXE, è necessario aprire il file di configurazione PXE txt.cfg predefinito con il comando seguente e fare le modifiche appropriate.

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

t xt.cfg estratto del file:

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

Nel caso in cui desideri utilizzare la modalità di ripristino di Debian tramite PXE, aggiungi una voce a questo file con le configurazioni seguenti.

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

Per aggiungere le voci richieste per avviare Debian dalla rete in modalità esperto o utilizzare la modalità di installazione automatica, aggiungi le ulteriori configurazioni al file txt.cfg come mostrato negli estratti seguenti.

Installazione esperta:

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

Installazione automatizzata:

label auto
menu label ^Automated install
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd.gz --- quiet

Inoltre, esaminando il contenuto di questo file, vedrai che il kernel e initrd.gz le immagini, che vengono caricate nella memoria RAM del client tramite il protocollo di rete TFTP, dopo il menu PXE iniziale, si trovano in /srv/tftp/debian-installer/amd64/ directory. Puoi modificare solo questi due file per futuri aggiornamenti del kernel Debian e initrd.gz.

È tutto! Ora hai la possibilità di avviare una macchina client tramite rete, utilizzare tutte le voci che vengono normalmente visualizzate all'avvio di Debian tramite l'immagine del DVD e iniziare a installare Debian 9 tramite un server PXE.

Per visualizzare i messaggi di registro DHCP scambiati tra i client e il server in tempo reale, utilizzare tail comando contro il file syslog di sistema. Il server DHCP elimina tutti i suoi messaggi di registro nel file syslog. I messaggi di registro del server TFTP possono essere osservati tramite il file daemon.log. Gli screenshot seguenti illustrano un estratto dei messaggi di registro emessi dai server DHCP e TFTP.

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

Puoi anche eseguire il comando seguente per visualizzare i messaggi di registro generati dal server TFTP.

journalctl -fu tftpd-hpa

Per rivelare informazioni estese sui contratti di locazione concessi dal server DHCP ai propri client, visualizzare il contenuto di dhcpd.leases file utilizzando il comando cat, come illustrato nell'esempio seguente.

cat /var/lib/dhcp/dhcpd.leases

È tutto! Hai distribuito correttamente un server PXE nella tua rete. È ora possibile avviare l'installazione di Debian sulla rete indicando alla macchina client di eseguire l'avvio tramite PXE. È possibile avviare in rete una macchina client premendo un tasto funzione speciale durante l'inizializzazione POST della macchina. Consulta la documentazione del fornitore della scheda madre della tua macchina per trovare la chiave di avvio da rete corretta.

Il processo di installazione di Debian sulla rete è molto simile (solo alcune piccole differenze) con il processo di installazione del sistema tramite un'immagine ISO DVD o utilizzando un'unità flash USB avviabile.


Debian
  1. Come installare un server LAMP su Debian 9 Stretch Linux

  2. Come installare il server della comunità MySQL su Debian 9 Stretch Linux

  3. Come installare Redis Server su Debian 11

  4. Installa Cockpit su Debian 9

  5. Come installare il social network Elgg su Debian 9

Come installare il server proxy Shadowsocks-Libev su Debian 9 Stretch VPS

Come installare VestaCP su Debian 9 Stretch

Come installare il server Minecraft su Debian 9 Stretch

Come installare Plex Media Server su Debian 9 Stretch

Come installare Vai su Debian 9 Stretch

Come installare Jetty su Debian 9 Stretch