PXE Server – Preboot eXecution Environment is een gestandaardiseerde client-server architectuur die een client-systeem instrueert om meerdere Linux-besturingssystemen op te starten, uit te voeren of te installeren met behulp van een PXE-compatibele netwerkinterface op uw netwerkinfrastructuur.
- Eisen
- Step 1: Installeer en Configureer DNSMASQ Server
- Step 2: Installeer SYSLINUX Bootloaders
- Step 3: Installeer TFTP-Server en kopieer het met SYSLINUX Bootloaders
- Step 4: Setup PXE Server Configuration File
- Stap 5: Voeg CentOS 8 Boot Images toe aan PXE Server
- Stap 6: Maak CentOS 8 Local Mirror Installation Source
- Stap 7: Configureer clients om op te starten vanaf het netwerk
Eisen
-
- Installatie van CentOS 8 Minimal Server
- Installatie van RHEL 8 Minimal Server
- Configure Static IP Address in RHEL/CentOS 8
In dit artikel, leert u hoe u een PXE Network Boot Server op CentOS/RHEL 8 installeert en configureert met gespiegelde lokale installatie repositories geleverd door CentOS 8 en RHEL 8 ISO Images.
Voor deze PXE Network Boot set-up, zullen we de volgende pakketten op het systeem installeren:
- DNSMASQ – een lichtgewicht DNS forwarder die een DNS en DHCP services levert met ondersteuning voor PXE en een TFTP server.
- Syslinux – een Linux boot loader die boot loaders levert voor netwerk booting.
- TFTP Server – een eenvoudig lockstep File Transfer Protocol dat bootable images maakt die via een netwerk gedownload kunnen worden.
- VSFTPD Server – een veilig bestandsoverdracht protocol dat de lokaal gemounte gespiegelde DVD image zal hosten – die zal fungeren als een officiële RHEL/CentOS 8 mirror installatie repository van waaruit het installatieprogramma zijn vereiste packages zal halen.
Step 1: Installeer en Configureer DNSMASQ Server
1. Het is belangrijk om u eraan te herinneren dat een van uw netwerk interfaces moet worden geconfigureerd met een statisch IP adres uit dezelfde netwerk IP range die PXE services levert.
Als u eenmaal een statisch IP adres heeft geconfigureerd, update dan uw systeem software pakketten en installeer de DNSMASQ daemon.
# dnf install dnsmasq
2. Zodra DNSMASQ is geïnstalleerd, vindt u het standaard configuratiebestand onder /etc/dnsmasq.conf
directory, dat voor zichzelf spreekt maar moeilijker te configureren is, vanwege de zeer becommentarieerde uitleg.
Vooreerst, zorg ervoor om een backup van dit bestand te nemen voor het geval je het later nodig hebt om te herzien en dan, maak een nieuw configuratie bestand met je favoriete editor zoals getoond.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup# nano /etc/dnsmasq.conf
3. Kopieer en plak nu de volgende configuraties in /etc/dnsmasq.conf
bestand en verander de configuratie parameters volgens je netwerk instellingen.
De configuratieverklaringen die u moet wijzigen, volgen hieronder:
- interface – Een netwerkinterface van de server moet luisteren en diensten leveren.
- bind-interfaces – Haal het commentaar weg om de interface aan een bepaalde netwerkkaart te binden.
- domain – Vervang het door uw domeinnaam.
- dhcp-range – Vervang het door uw netwerk IP range.
- dhcp-boot – Vervang het door uw netwerk interface IP Address.
- dhcp-option=3,192.168.1.1 – Vervang het door uw netwerk Gateway.
- dhcp-option=6,92.168.1.1 – Vervang het door uw DNS Server IP.
- server=8.8.4.4 – Voeg uw DNS forwarders IP’s Adressen.
- dhcp-option=28,10.0.0.255 – Vervang het door uw netwerk broadcast IP adres optioneel.
- dhcp-option=42,0.0.0 – Voeg uw netwerk tijdservers (0.0.0.0 Adres is voor zelfverwijzing).
- pxe-prompt – Standaard houden.
- pxe=service – Gebruik x86PC voor 32-bit/64-bit architecturen en voeg een menu omschrijving prompt toe onder string aanhalingstekens.
- enable-tftp – Schakelt de ingebouwde TFTP server in.
- tftp-root – Voeg netwerk booting bestanden locatie /var/lib/tftpboot toe.
Voor andere geavanceerde opties betreffende configuratie bestanden, lees de dnsmasq manual.
Step 2: Installeer SYSLINUX Bootloaders
4. Nadat de hoofdconfiguratie van DNSMASQ is voltooid, installeert u het PXE-bootloaderpakket van Syslinx met het volgende commando.
# dnf install syslinux
5. De Syslinx PXE bootloaders zijn geïnstalleerd onder /usr/share/syslinux
, u kunt dit bevestigen door het ls commando uit te voeren zoals getoond.
# ls /usr/share/syslinux
Step 3: Installeer TFTP-Server en kopieer het met SYSLINUX Bootloaders
6. Installeer nu TFTP-Server en kopieer alle Syslinux bootloaders van /usr/share/syslinux/
naar /var/lib/tftpboot
zoals afgebeeld.
# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Step 4: Setup PXE Server Configuration File
7. Standaard leest de PXE-server zijn configuratie uit een set specifieke bestanden die te vinden zijn in pxelinux.cfg
, die gevonden moeten worden in de directory die beschreven is in de tftp-root instelling van het DNSMASQ configuratiebestand hierboven.
Maak eerst een pxelinux.cfg
directory aan en maak een default
bestand aan door de volgende commando’s uit te voeren.
# mkdir /var/lib/tftpboot/pxelinux.cfg# touch /var/lib/tftpboot/pxelinux.cfg/default
8. Open en bewerk nu het PXE default
configuratiebestand met de juiste Linux distributie installatie-opties. Vergeet ook niet dat de paden in dit bestand relatief moeten zijn ten opzichte van de /var/lib/tftpboot
directory.
# nano /var/lib/tftpboot/pxelinux.cfg/default
Het volgende is een voorbeeld configuratiebestand dat u kunt gebruiken, maar zorg ervoor dat u de installatie-images, protocollen en IP’s wijzigt om uw netwerkinstallatie bronrepositories en locaties dienovereenkomstig weer te geven.
In de bovenstaande configuratie kunt u zien dat de CentOS 8 boot images (kernel en initrd) zich bevinden in een centos7 directory relatief aan /var/lib/tftpboot
(i.e /var/lib/tftpboot/centos7
) en de installer repositories kunnen worden benaderd door gebruik te maken van het FTP protocol op 192.168.1.2/pub
(IP adres van de PXE server).
Ook beschrijft de menu label 2
de officiële CentOS 8 installatie bronnen mirror repositories (internet verbinding is vereist op het client systeem) en menu label 3
beschrijft dat de client installatie moet worden gedaan via een remote VNC (vervang hier het VNC wachtwoord door een sterk wachtwoord).
Belangrijk: Zoals u ziet in de bovenstaande configuratie, hebben we CentOS 8 image gebruikt voor demonstratie doeleinden, maar u kunt ook RHEL 8 images gebruiken.
Stap 5: Voeg CentOS 8 Boot Images toe aan PXE Server
9. Om CentOS 8 images aan PXE Server toe te voegen, moet u CentOS 8 DVD ISO Image lokaal downloaden met wget commando en het mounten.
10. Zodra u CentOS 8 hebt gedownload, moet u een centos7
directory maken en bootable kernel en initrd images kopiëren.
De reden achter deze aanpak is dat u later aparte directories voor elke nieuwe Linux-distributies onder /var/lib/tftpboot
kunt hebben zonder de hele directory-structuur te verknoeien.
Stap 6: Maak CentOS 8 Local Mirror Installation Source
11. Er zijn verschillende protocollen (HTTP, HTTPS, of NFS) beschikbaar voor het opzetten van CentOS 8 lokale installatie bron mirrors, maar ik heb FTP protocol gekozen omdat het makkelijk is op te zetten met behulp van vsftpd server.
Let’s install Vsftpd server en kopieer alle CentOS 8 DVD inhoud naar FTP directory /var/ftp/pub
zoals getoond.
# dnf install vsftpd# cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
12. Nu alle PXE server configuratie is voltooid, kunt u starten, inschakelen en de status van DNSMASQ en VSFTPD servers verifiëren.
# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd
13. Vervolgens moeten poorten op de firewall geopend worden zodat client systemen de PXE server kunnen bereiken en ervan kunnen booten.
14. Om de netwerklocatie van de FTP-installatiebron te verifiëren, opent u uw browser en typt u het IP-adres van de PXE-server in met het FTP-protocol gevolgd door /pub
netwerklocatie.
ftp://192.168.1.2/pub
Stap 7: Configureer clients om op te starten vanaf het netwerk
15. Configureer nu de clientsystemen om CentOS 8 op hun systemen op te starten en te installeren door Network Boot te configureren als primair opstartapparaat in het BIOS-menu.
Nadat het systeem is opgestart, krijgt u een PXE-prompt, waar u op de F8
-toets moet drukken om de presentatie te openen en vervolgens op de Enter-toets moet drukken om door te gaan naar het PXE-menu.
Dat is alles voor het opzetten van een minimale PXE Server op CentOS/RHEL 8.