Instalirajte više distribucija Linuxa pomoću PXE mrežnog pokretanja na RHEL/CentOS 8


PXE poslužiteljPreboot eXecution Environment standardizirana je klijent-poslužiteljska arhitektura koja daje upute klijentskom sustavu da pokrene, pokrene ili instalira više operativnih sustava Linux koristeći mrežno sučelje koje podržava PXE na vašoj mrežnoj infrastrukturi.

Zahtjevi

    • Instalacija CentOS 8 Minimal Server
    • Instalacija RHEL 8 minimalnog poslužitelja
    • Konfigurirajte statičku IP adresu u RHEL/CentOS 8

U ovom ćete članku naučiti kako instalirati i konfigurirati PXE mrežni poslužitelj za pokretanje na CentOS/RHEL 8 sa zrcaljenim lokalnim instalacijskim spremištima koje pruža CentOS 8 i RHEL 8 ISO slike.

Za ovu postavku PXE mrežnog pokretanja instalirat ćemo sljedeće pakete na sustav:

  • DNSMASQ – lagani DNS prosljeđivač koji pruža DNS i DHCP usluge s podrškom za PXE i TFTPposlužitelj.
  • Syslinux – program za pokretanje sustava Linux koji nudi programe za pokretanje sustava za mrežno pokretanje.
  • TFTP poslužitelj – jednostavan zaključani protokol za prijenos datoteka koji stvara slike za pokretanje dostupne za preuzimanje putem mreže.
  • VSFTPD poslužitelj – siguran protokol za prijenos datoteka koji će ugostiti lokalno montiranu zrcaljenu DVD sliku – koja će djelovati kao službeno RHEL/CentOS 8 zrcalno instalacijsko spremište odakle će instalacijski program izvaditi potrebne pakete.

Korak 1: Instalirajte i konfigurirajte DNSMASQ poslužitelj

1. Važno je podsjetiti vas da jedno od vaših mrežnih sučelja mora biti konfigurirano sa statičkom IP adresom iz istog mrežnog IP raspona koji pruža PXE usluge.

Nakon što ste konfigurirali statičku IP adresu, ažurirajte softverske pakete svog sustava i instalirajte DNSMASQ demon.

dnf install dnsmasq

2. Nakon instaliranja DNSMASQ, pronaći ćete njegovu zadanu konfiguracijsku datoteku u direktoriju /etc/dnsmasq.conf, što je samo po sebi razumljivo, ali više teško konfigurirati, zbog svojih vrlo komentiranih objašnjenja.

Najprije napravite sigurnosnu kopiju ove datoteke u slučaju da vam kasnije zatreba za pregled, a zatim izradite novu konfiguracijsku datoteku koristeći svoj omiljeni editor kao što je prikazano.

mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

3. Sada kopirajte i zalijepite sljedeće konfiguracije u datoteku /etc/dnsmasq.conf i promijenite konfiguracijske parametre u skladu s vašim mrežnim postavkama.

interface=enp0s3,lo
#bind-interfaces
domain=tecmint
DHCP range-leases
dhcp-range= enp0s3,192.168.1.3,192.168.1.253,255.255.255.0,1h
PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.2
Gateway
dhcp-option=3,192.168.1.1
DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
Broadcast Address
dhcp-option=28,10.0.0.255
NTP Server
dhcp-option=42,0.0.0.0

pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 8 from network server 192.168.1.2", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

Slijede konfiguracijske izjave koje trebate promijeniti:

  • Sučelje – Mrežna sučelja poslužitelja trebaju slušati i pružati usluge.
  • bind-interfaces – Uklonite komentar za povezivanje sučelja s određenom mrežnom karticom.
  • domena – Zamijenite je nazivom svoje domene.
  • dhcp-range – Promijenite ga s rasponom IP adresa vaše mreže.
  • dhcp-boot – Zamijenite ga IP adresom vašeg mrežnog sučelja.
  • dhcp-option=3,192.168.1.1 – Zamijenite ga svojim mrežnim pristupnikom.
  • dhcp-option=6,92.168.1.1 – Zamijenite ga IP-om vašeg DNS poslužitelja.
  • server=8.8.4.4 – Dodajte IP adrese svojih DNS prosljeđivača.
  • dhcp-option=28,10.0.0.255 – Zamijenite je svojom mrežnom IP adresom po želji.
  • dhcp-option=42,0.0.0.0 -Dodajte svoje mrežne vremenske poslužitelje (Adresa 0.0.0.0 služi za samoreferencu).
  • pxe-prompt – Neka bude zadana.
  • pxe=service – Koristite x86PC za 32-bitne/64-bitne arhitekture i dodajte upit za opis izbornika ispod znakova navodnika.
  • enable-tftp – Omogućuje ugrađeni TFTP poslužitelj.
  • tftp-root – Dodajte lokaciju mrežnih datoteka za pokretanje /var/lib/tftpboot.

Za druge napredne opcije koje se tiču konfiguracijskih datoteka slobodno pročitajte dnsmasq priručnik.

Korak 2: Instalirajte SYSLINUX Bootloadere

4. Nakon završetka glavne konfiguracije DNSMASQ-a, instalirajte Syslinx PXE paket pokretačkog programa pomoću sljedeće naredbe.

dnf install syslinux

5. Programi za pokretanje Syslinx PXE instalirani su pod /usr/share/syslinux, možete to potvrditi pokretanjem naredbe ls kao što je prikazano.

ls /usr/share/syslinux

Korak 3: Instalirajte TFTP-poslužitelj i kopirajte ga pomoću SYSLINUX pokretačkih programa

6. Sada instalirajte TFTP-poslužitelj i kopirajte sve Syslinux bootloadere iz /usr/share/syslinux/ u /var/lib /tftpboot kako je prikazano.

dnf install tftp-server
cp -r /usr/share/syslinux/* /var/lib/tftpboot

Korak 4: Postavite konfiguracijsku datoteku PXE poslužitelja

7. Prema zadanim postavkama, PXE poslužitelj čita svoju konfiguraciju iz skupa specifičnih datoteka koje se nalaze u pxelinux.cfg, koje se moraju pronaći u direktorij opisan u tftp-root postavci iz gornje konfiguracijske datoteke DNSMASQ.

Najprije stvorite pxelinux.cfg direktorij i izradite default datoteku izdavanjem sljedećih naredbi.

mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default

8. Sada otvorite i uredite PXE default konfiguracijsku datoteku s ispravnim opcijama instalacije Linux distribucije. Također, ne zaboravite da staze postavljene u ovoj datoteci moraju biti relativne prema direktoriju /var/lib/tftpboot.

nano /var/lib/tftpboot/pxelinux.cfg/default

Slijedi primjer konfiguracijske datoteke koju možete koristiti, ali svakako promijenite instalacijske slike, protokole i IP-ove kako bi odražavali izvorna spremišta i lokacije mrežne instalacije u skladu s tim.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 8 x64 with Local Repo
kernel centos8/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.2/pub devfs=nomount

label 2
menu label ^2) Install CentOS 8 x64 with http://mirror.centos.org Repo
kernel centos8/vmlinuz
append initrd=centos8/initrd.img method=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 8 x64 with Local Repo using VNC
kernel centos8/vmlinuz
append  initrd=centos8/initrd.img method=ftp://192.168.1.2/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

U gornjoj konfiguraciji možete primijetiti da se slike za pokretanje CentOS 8 (kernel i initrd) nalaze u centos7 direktorij u odnosu na /var/lib/tftpboot (tj. /var/lib/tftpboot/centos7) i repozitoriji programa za instalaciju mogu se pristupiti korištenjem FTP protokola na 192.168.1.2/pub (IP adresa PXE poslužitelja).

Također, oznaka izbornika 2 opisuje službene repozitorije zrcalnih izvora instalacije CentOS 8 (internetska veza je obavezna na sustavu klijenta), a oznaka izbornika 3 opisuje da treba izvršiti instalaciju klijenta putem udaljenog VNC-a (ovdje VNC lozinku zamijenite jakom lozinkom).

Važno: Kao što vidite u gornjoj konfiguraciji, upotrijebili smo sliku CentOS 8 za demonstracijske svrhe, ali također možete koristiti RHEL 8slike.

Korak 5: Dodajte CentOS 8 slike za pokretanje na PXE poslužitelj

9. Da biste dodali CentOS 8 slike na PXE poslužitelj, morate lokalno preuzeti CentOS 8 DVD ISO sliku pomoću naredbe wget i montirati je.

wget http://centos.mirrors.estointernet.in/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-dvd1.iso
mount -o loop CentOS-8.2.2004-x86_64-dvd1.iso /mnt

10. Nakon što preuzmete CentOS 8, morate stvoriti centos8 direktorij i kopirati kernel za pokretanje i initrd slike.

mkdir /var/lib/tftpboot/centos8
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos8
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos8

Razlog ovakvog pristupa je taj što kasnije možete imati zasebne direktorije za svaku novu distribuciju Linuxa pod /var/lib/tftpboot bez da zabrljate cijelu strukturu direktorija.

Korak 6: Stvorite CentOS 8 Local Mirror instalacijski izvor

11. Postoji niz protokola (HTTP, HTTPS ili NFS) koji su dostupni za postavljanje Lokalna instalacija CentOS 8 izvor zrcala, ali sam odabrao FTP protokol jer ga je lako postaviti pomoću vsftpd poslužitelja.

Instalirajmo Vsftpd poslužitelj i kopirajmo sav CentOS 8 DVD sadržaj u FTP direktorij /var/ftp/pub kao što je prikazano.

dnf install vsftpd
cp -r /mnt/*  /var/ftp/pub/ 
chmod -R 755 /var/ftp/pub

12. Sada kada je sva konfiguracija PXE poslužitelja dovršena, možete pokrenuti, omogućiti i provjeriti status DNSMASQ i VSFTPD poslužitelja.

systemctl start dnsmasq
systemctl status dnsmasq
systemctl start vsftpd
systemctl status vsftpd
systemctl enable dnsmasq
systemctl enable vsftpd

13. Zatim morate otvoriti portove na vašem vatrozidu kako bi klijentski sustavi dosegli i pokrenuli se s PXE poslužitelja.

firewall-cmd --add-service=ftp --permanent  	## Port 21
firewall-cmd --add-service=dns --permanent  	## Port 53
firewall-cmd --add-service=dhcp --permanent  	## Port 67
firewall-cmd --add-port=69/udp --permanent  	## Port for TFTP
firewall-cmd --add-port=4011/udp --permanent  ## Port for ProxyDHCP
firewall-cmd --reload  ## Apply rules

14. Za provjeru mrežne lokacije izvora FTP instalacije, otvorite svoj preglednik i upišite IP adresu PXE poslužitelja s FTP protokolom nakon čega slijedi /pub mrežna lokacija.

ftp://192.168.1.2/pub

Korak 7: Konfigurirajte klijente za pokretanje s mreže

15. Sada konfigurirajte klijentske sustave za pokretanje i instalirajte CentOS 8 na njihove sustave konfiguriranjem Network Boot kao glavnog uređaja za pokretanje iz BIOS izbornika.

Nakon podizanja sustava, dobit ćete PXE prompt, gdje morate pritisnuti tipku F8 za ulazak u prezentaciju, a zatim pritisnuti tipku Enter za nastavak na PXE izbornik.

To je sve za postavljanje minimalnog PXE poslužitelja na CentOS/RHEL 8.