PXE-server – Preboot eXecution Environment er en standardiseret klient-server-arkitektur, der instruerer et klientsystem til at starte, køre eller installere flere Linux-operativsystemer ved hjælp af en PXE-kompatibel netværksgrænseflade på din netværksinfrastruktur.
- Krav
- Stræk 1: Installer og konfigurer DNSMASQ Server
- Stræk 2: Installer SYSLINUX Bootloaders
- Stræk 3: Installer TFTP-server og kopier den med SYSLINUX Bootloaders
- Stræk 4: Opsætning af PXE-serverkonfigurationsfil
- Stræk 5: Tilføj CentOS 8 boot images til PXE Server
- Stræk 6: Opret CentOS 8 Local Mirror Installation Source
- Stræk 7: Konfigurer klienter til at starte op fra netværk
Krav
-
- Installation af CentOS 8 Minimal Server
- Installation af RHEL 8 Minimal Server
- Konfigurer statisk IP-adresse i RHEL/CentOS 8
I denne artikel, lærer du, hvordan du installerer og konfigurerer en PXE Network Boot Server på CentOS/RHEL 8 med spejlede lokale installationsrepositorier, som leveres af CentOS 8 og RHEL 8 ISO Images.
Til denne PXE Network Boot-opsætning vil vi installere følgende pakker på systemet:
- DNSMASQ – en letvægts-DNS-forwarder, der leverer en DNS- og DHCP-tjeneste med understøttelse af PXE og en TFTP-server.
- Syslinux – en Linux boot loader, der leverer boot loaders til netværksopstart.
- TFTP-server – en simpel lockstep File Transfer Protocol, der skaber bootbare images, der er tilgængelige til download via et netværk.
- VSFTPD Server – en sikker filoverførselsprotokol, der vil være vært for det lokalt monterede spejlede dvd-aftryk – som vil fungere som et officielt RHEL/CentOS 8-spejl-installationsrepositorium, hvorfra installationsprogrammet vil hente sine nødvendige pakker.
Stræk 1: Installer og konfigurer DNSMASQ Server
1. Det er vigtigt at minde dig om, at en af dine netværksgrænseflader skal konfigureres med en statisk IP-adresse fra det samme netværks-IP-område, der leverer PXE-tjenester.
Når du har konfigureret en statisk IP-adresse, skal du opdatere dine systemsoftwarepakker og installere DNSMASQ-dæmonen.
# dnf install dnsmasq
2. Når DNSMASQ er installeret, finder du dens standardkonfigurationsfil under mappen /etc/dnsmasq.conf
, som er selvforklarende, men vanskeligere at konfigurere, på grund af dens meget kommenterede forklaringer.
Sørg først for at tage en sikkerhedskopi af denne fil, hvis du får brug for den til at gennemgå den senere, og opret derefter en ny konfigurationsfil ved hjælp af din foretrukne editor som vist.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup# nano /etc/dnsmasq.conf
3. Kopier nu følgende konfigurationer og indsæt dem i /etc/dnsmasq.conf
-filen, og ændr konfigurationsparametrene i henhold til dine netværksindstillinger.
De konfigurationsanvisninger, som du skal ændre, er følgende:
- interface – En netværksgrænseflade på serveren skal lytte og levere tjenester.
- bind-interfaces – Fjern kommentaren for at binde grænsefladen til et givet netværkskort.
- domain – Udskift det med dit domænenavn.
- dhcp-range – Udskift det med dit netværks IP-område.
- dhcp-boot – Udskift det med din netværksgrænseflades IP-adresse.
- dhcp-option=3,192.168.1.1 – Udskift det med din netværksgateway.
- dhcp-option=6,92.168.1.1.1 – Udskift den med din DNS-server-IP.
- server=8.8.4.4.4 – Tilføj dine DNS-forwarder-IP-adresser.
- dhcp-option=28,10.0.0.0.255 – Udskift den eventuelt med din netværks-IP-adresse for broadcast.
- dhcp-option=42,0.0.0.0.0 – Tilføj dine netværkstidsservere (0.0.0.0.0-adressen er til selvreference).
- pxe-prompt – Behold den som standard.
- pxe=service – Brug x86PC til 32-bit/64-bit-arkitekturer og tilføj en menubeskrivelsesprompt under string-kvotes.
- enable-tftp – Aktiverer den indbyggede TFTP-server.
- tftp-root – Tilføj placering af netværksopstartsfiler /var/lib/tftpboot.
For andre avancerede indstillinger vedrørende konfigurationsfiler er du velkommen til at læse dnsmasq-manualen.
Stræk 2: Installer SYSLINUX Bootloaders
4. Når DNSMASQs hovedkonfiguration er færdig, skal du installere Syslinx PXE bootloader-pakken ved hjælp af følgende kommando.
# dnf install syslinux
5. Syslinx PXE bootloaders er installeret under /usr/share/syslinux
, du kan bekræfte det ved at køre kommandoen ls som vist.
# ls /usr/share/syslinux
Stræk 3: Installer TFTP-server og kopier den med SYSLINUX Bootloaders
6. Installer nu TFTP-Server og kopier alle Syslinux bootloaders fra /usr/share/syslinux/
til /var/lib/tftpboot
som vist.
# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Stræk 4: Opsætning af PXE-serverkonfigurationsfil
7. Som standard læser PXE-serveren sin konfiguration fra et sæt specifikke filer, der findes i pxelinux.cfg
, som skal findes i den mappe, der er beskrevet i tftp-root-indstillingen fra DNSMASQ-konfigurationsfilen ovenfor.
Opret først en pxelinux.cfg
-mappe og opret en default
-fil ved at afgive følgende kommandoer.
# mkdir /var/lib/tftpboot/pxelinux.cfg# touch /var/lib/tftpboot/pxelinux.cfg/default
8. Åbn og rediger nu PXE default
-konfigurationsfilen med de korrekte installationsindstillinger for Linux-distributionen. Husk også, at de stier, der er angivet i denne fil, skal være relative til /var/lib/tftpboot
-mappen.
# nano /var/lib/tftpboot/pxelinux.cfg/default
Det følgende er en eksempelkonfigurationsfil, som du kan bruge, men sørg for at ændre installationsaftryk, protokoller og IP’er, så de afspejler dine netværksinstallations kildeopbevaringssteder og -placeringer i overensstemmelse hermed.
I ovenstående konfiguration kan du bemærke, at CentOS 8 boot images (kernel og initrd) befinder sig i en centos7-mappe i forhold til /var/lib/tftpboot
(i.e /var/lib/tftpboot/centos7
), og der er adgang til installationsrepositorierne ved hjælp af FTP-protokollen på 192.168.1.2/pub
(PXE-serverens IP-adresse).
Derudover beskriver menu label 2
officielle CentOS 8-installationskilder mirror repositories (internetforbindelse er et must på klientsystemet) og menu label 3
beskriver, at klientinstallationen skal foregå via en fjern-VNC (her erstattes VNC-adgangskoden med en stærk adgangskode).
Vigtigt: Som du kan se i ovenstående konfiguration, har vi brugt CentOS 8 image til demonstrationsformål, men du kan også bruge RHEL 8 images.
Stræk 5: Tilføj CentOS 8 boot images til PXE Server
9. For at tilføje CentOS 8-aftryk til PXE-serveren skal du downloade CentOS 8 DVD ISO Image lokalt ved hjælp af wget-kommandoen og montere det.
10. Når du har downloadet CentOS 8, skal du oprette en centos7
-mappe og kopiere bootable kernel- og initrd-images.
Grunden til at have denne fremgangsmåde er, at du senere kan have separate mapper for hver ny Linux-distribution under /var/lib/tftpboot
uden at ødelægge hele mappestrukturen.
Stræk 6: Opret CentOS 8 Local Mirror Installation Source
11. Der er en række forskellige protokoller (HTTP, HTTPS eller NFS), der er tilgængelige til opsætning af CentOS 8 lokale installationskilde-spejle, men jeg har valgt FTP-protokollen, fordi den er nem at opsætte ved hjælp af vsftpd-serveren.
Lad os installere Vsftpd-serveren og kopiere alt CentOS 8 DVD-indholdet til FTP-mappen /var/ftp/pub
som vist.
# dnf install vsftpd# cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
12. Nu hvor al PXE-serverkonfigurationen er afsluttet, kan du starte, aktivere og verificere status for DNSMASQ- og VSFTPD-serverne.
# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd
13. Dernæst skal du åbne porte på din firewall, så klientsystemerne kan nå og starte op fra PXE-serveren.
14. For at verificere FTP-installationskildens netværksplacering skal du åbne din browser og skrive PXE-serverens IP-adresse med FTP-protokollen efterfulgt af /pub
netværksplacering.
ftp://192.168.1.2/pub
Stræk 7: Konfigurer klienter til at starte op fra netværk
15. Konfigurer nu klientsystemer til at starte op og installere CentOS 8 på deres systemer ved at konfigurere Network Boot som primær opstartsenhed fra BIOS-menuen.
Når systemet starter op, får du en PXE-prompt, hvor du skal trykke på F8
-tasten for at komme ind i præsentationen og derefter trykke på Enter-tasten for at gå videre til PXE-menuen.
Det er alt for opsætning af en minimal PXE Server på CentOS/RHEL 8.