Įdiekite kelis Linux platinimus naudodami PXE tinklo įkrovą RHEL/CentOS 8


PXE serverisPreboot eXecution Environment yra standartizuota kliento ir serverio architektūra, kuri nurodo kliento sistemai paleisti, paleisti arba įdiegti kelias Linux operacines sistemas naudojant PXE palaikantį tinklo sąsają. savo tinklo infrastruktūroje.

Reikalavimai

    • CentOS 8 Minimal Server įdiegimas
    • RHEL 8 minimalaus serverio įdiegimas
    • Konfigūruokite statinį IP adresą RHEL/CentOS 8

Šiame straipsnyje sužinosite, kaip įdiegti ir konfigūruoti PXE tinklo įkrovos serverį naudojant CentOS/RHEL 8 su veidrodinėmis vietinėmis diegimo saugyklomis, kurias teikia CentOS 8 ir RHEL 8 ISO vaizdai.

Šiai PXE tinklo įkrovos sąrankai sistemoje įdiegsime šiuos paketus:

  • DNSMASQ – lengvas DNS peradresatorius, teikiantis DNS ir DHCP paslaugas su PXE ir palaikymu. TFTPserveris.
  • Syslinux – „Linux“ įkrovos įkroviklis, teikiantis tinklo įkrovos įkroviklius.
  • TFTP serveris – paprastas blokuojamas failų perdavimo protokolas, sukuriantis įkrovos vaizdus, kuriuos galima atsisiųsti per tinklą.
  • VSFTPD serveris – saugus failų perdavimo protokolas, kuriame bus vietoje sumontuotas veidrodinis DVD vaizdas, kuris veiks kaip oficiali RHEL/CentOS 8 veidrodinio diegimo saugykla, iš kurios diegimo programa paims reikiamus paketus.

1 veiksmas: įdiekite ir sukonfigūruokite DNSMASQ serverį

1. Svarbu priminti, kad viena iš jūsų tinklo sąsajų turi būti sukonfigūruota naudojant statinį IP adresą iš to paties tinklo IP diapazono, kuriame teikiamos PXE paslaugos.

Sukonfigūravę statinį IP adresą, atnaujinkite sistemos programinės įrangos paketus ir įdiekite DNSMASQ demoną.

dnf install dnsmasq

2. Įdiegę DNSMASQ, jo numatytąjį konfigūracijos failą rasite kataloge /etc/dnsmasq.conf, kuris yra savaime suprantamas, bet daugiau sunku konfigūruoti dėl labai komentuojamų paaiškinimų.

Pirmiausia būtinai pasidarykite šio failo atsarginę kopiją, jei vėliau gali prireikti jį peržiūrėti, tada sukurkite naują konfigūracijos failą naudodami mėgstamą redaktorių, kaip parodyta.

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

3. Dabar nukopijuokite ir įklijuokite toliau nurodytas konfigūracijas į /etc/dnsmasq.conf failą ir pakeiskite konfigūracijos parametrus pagal tinklo nustatymus.

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

Toliau pateikiami konfigūracijos teiginiai, kuriuos turite pakeisti:

  • sąsaja – serverio tinklo sąsajos turi klausytis ir teikti paslaugas.
  • susiejimo sąsajos – panaikinkite komentarą, norėdami susieti sąsają su tam tikra tinklo plokšte.
  • domenas – pakeiskite jį savo domeno pavadinimu.
  • dhcp-range – pakeiskite jį naudodami tinklo IP diapazoną.
  • dhcp-boot – pakeiskite jį savo tinklo sąsajos IP adresu.
  • dhcp-option=3,192.168.1.1 – pakeiskite jį savo tinklo šliuzu.
  • dhcp-option=6,92.168.1.1 – pakeiskite jį savo DNS serverio IP.
  • server=8.8.4.4 – pridėkite savo DNS peradresatorių IP adresus.
  • dhcp-option=28,10.0.0.255 – pasirinktinai pakeiskite jį tinklo transliacijos IP adresu.
  • dhcp-option=42,0.0.0.0 – Pridėkite savo tinklo laiko serverius (0.0.0.0 adresas skirtas savarankiškai).
  • pxe-prompt – palikti jį kaip numatytąjį.
  • pxe=service – naudokite x86PC 32 bitų/64 bitų architektūroms ir pridėkite meniu aprašo raginimą po kabutėmis.
  • enable-tftp – įgalina integruotą TFTP serverį.
  • tftp-root – pridėkite tinklo įkrovos failų vietą /var/lib/tftpboot.

Dėl kitų išplėstinių parinkčių, susijusių su konfigūracijos failais, skaitykite dnsmasq vadovą.

2 veiksmas: įdiekite SYSLINUX įkrovos tvarkykles

4. Atlikę pagrindinę DNSMASQ konfigūraciją, įdiekite Syslinx PXE įkrovos paketą naudodami šią komandą.

dnf install syslinux

5. Syslinx PXE įkrovos tvarkyklės įdiegtos /usr/share/syslinux, tai galite patvirtinti vykdydami komandą ls, kaip parodyta.

ls /usr/share/syslinux

3 veiksmas: įdiekite TFTP serverį ir nukopijuokite jį naudodami SYSLINUX įkrovos tvarkykles

6. Dabar įdiekite TFTP-Server ir nukopijuokite visas Syslinux įkrovos programas iš /usr/share/syslinux/ į /var/lib /tftpboot, kaip parodyta.

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

4 veiksmas: nustatykite PXE serverio konfigūracijos failą

7. Pagal numatytuosius nustatymus PXE serveris nuskaito savo konfigūraciją iš konkrečių failų, esančių pxelinux.cfg, rinkinio, kurį reikia rasti katalogą, aprašytą aukščiau esančiame DNSMASQ konfigūracijos failo tftp-root nustatyme.

Pirmiausia sukurkite pxelinux.cfg katalogą ir sukurkite numatytąjį failą, išduodami šias komandas.

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

8. Dabar atidarykite ir redaguokite PXE numatytąjį konfigūracijos failą naudodami teisingas Linux platinimo diegimo parinktis. Be to, nepamirškite, kad šiame faile nustatyti keliai turi būti susiję su /var/lib/tftpboot katalogu.

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

Toliau pateikiamas konfigūracijos failo pavyzdys, kurį galite naudoti, tačiau būtinai pakeiskite diegimo vaizdus, protokolus ir IP, kad jie atitinkamai atspindėtų jūsų tinklo diegimo šaltinio saugyklas ir vietas.

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

Aukščiau pateiktoje konfigūracijoje galite pastebėti, kad CentOS 8 įkrovos vaizdai (branduolys ir initrd) yra centos7 > katalogą, susijusį su /var/lib/tftpboot (ty /var/lib/tftpboot/centos7) ir diegimo programos saugyklas galima pasiekti naudojant FTP protokolą 192.168.1.2/pub (PXE serverio IP adresas).

Be to, 2 meniu etiketė apibūdina oficialių CentOS 8 diegimo šaltinių veidrodines saugyklas (kliento sistemoje būtinas interneto ryšys), o 3 meniu etiketė aprašo, kad kliento diegimas turi būti atliktas. per nuotolinį VNC (čia pakeiskite VNC slaptažodį stipriu slaptažodžiu).

Svarbu: kaip matote anksčiau pateiktoje konfigūracijoje, demonstravimo tikslais naudojome CentOS 8 vaizdą, bet galite naudoti ir RHEL 8vaizdai.

5 veiksmas: pridėkite CentOS 8 įkrovos vaizdus į PXE serverį

9. Norėdami prie PXE serverio pridėti CentOS 8 vaizdų, turite atsisiųsti CentOS 8 DVD ISO atvaizdą vietoje naudodami komandą wget ir jį prijungti.

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. Atsisiuntę CentOS 8, turite sukurti centos8 katalogą ir nukopijuoti įkrovos branduolį bei initrd vaizdus.

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

Šio metodo priežastis yra ta, kad vėliau galėsite turėti atskirus katalogus kiekvienam naujam Linux platinimui, esantį /var/lib/tftpboot, nesugadindami visos katalogo struktūros.

6 veiksmas: sukurkite CentOS 8 vietinio veidrodžio diegimo šaltinį

11. Yra įvairių protokolų (HTTP, HTTPS arba NFS), kuriuos galima nustatyti CentOS 8 vietinio diegimo šaltinio veidrodžiai, bet pasirinkau FTP protokolą, nes jį lengva nustatyti naudojant vsftpd serverį.

Įdiegkime Vsftpd serverį ir nukopijuokime visą CentOS 8 DVD turinį į FTP katalogą /var/ftp/pub, kaip parodyta.

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

12. Dabar, kai baigta visa PXE serverio konfigūracija, galite paleisti, įjungti ir patikrinti DNSMASQ ir VSFTPD serverių būseną.

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

13. Tada turite atidaryti ugniasienės prievadus, kad klientų sistemos galėtų pasiekti ir paleisti iš PXE serverio.

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. Norėdami patikrinti FTP diegimo šaltinio tinklo vietą, atidarykite naršyklę ir įveskite PXE serverio IP adresą su FTP protokolu, po to /pub tinklo vietą.

ftp://192.168.1.2/pub

7 veiksmas: sukonfigūruokite klientus, kad jie būtų paleisti iš tinklo

15. Dabar sukonfigūruokite klientų sistemas, kad būtų paleistas, ir įdiekite CentOS 8, sukonfigūruodami Tinklo įkrovą kaip pagrindinį įkrovos įrenginį iš BIOS meniu.

Paleidę sistemą, gausite PXE raginimą, kuriame turėsite paspausti klavišą F8, kad įeitumėte į pristatymą, tada paspauskite klavišą Enter, kad pereitumėte į PXE meniu.

Tai viskas, norint nustatyti minimalų PXE serverį CentOS/RHEL 8.