Postavljanje mrežnog poslužitelja za pokretanje PXE za više Linux distribucijskih instalacija u RHEL/CentOS 7


PXE poslužitelj - Preboot eXecution Environment - nalaže klijentskom računalu da pokrene, pokrene ili instalira operativni sustav izravno s mrežnog sučelja, uklanjajući potrebu za narezivanjem CD/DVD-a ili korištenjem fizičkog medija, ili može olakšati posao instaliranja distribucija Linuxa na vašu mrežnu infrastrukturu na više računala istovremeno.

  1. Minimalni postupak instalacije CentOS 7
  2. RHEL 7 Minimalni postupak ugradnje
  3. Konfigurirajte statičku IP adresu u RHEL/CentOS 7
  4. Uklonite neželjene usluge u RHEL/CentOS 7
  5. Instalirajte NTP poslužitelj da biste postavili točno vrijeme sustava u RHEL/CentOS 7

Ovaj će vam članak objasniti kako možete instalirati i konfigurirati PXE poslužitelj na RHEL / CentOS 7 x64-bit s zrcalnim lokalnim instalacijskim spremištima, navedeni izvori od CentOS 7 DVD ISO slike, uz pomoć DNSMASQ poslužitelja.

Koji pruža usluge DNS i DHCP , paket Syslinux koji nudi pokretačke programe za mrežno pokretanje, TFTP-poslužitelj , što čini pokretačke slike dostupne za preuzimanje putem mreže pomoću Trivial File Transfer Protocol (TFTP) i VSFTPD poslužitelja koji će ugostiti lokalno montiranu zrcalnu DVD sliku - koja će djelovati kao službeni RHEL/CentOS 7 zrcalno instalacijsko spremište iz kojeg će instalacijski program izdvojiti potrebne pakete.

Korak 1: Instalirajte i konfigurirajte DNSMASQ poslužitelj

1. Ne treba vas podsjećati da je apsolutno zahtjevno da jedno od sučelja vaše mrežne kartice, u slučaju da vaš poslužitelj postavlja više NIC-ova, mora biti konfigurirano sa statičkom IP adresom iz istog IP raspona koji pripada mrežnom segmentu koji će pružiti PXE usluge.

Dakle, nakon što ste konfigurirali svoju statičku IP adresu, ažurirali sustav i izvršili druge početne postavke, upotrijebite sljedeću naredbu za instaliranje demona DNSMASQ .

# yum install dnsmasq

2. Glavna zadana konfiguracijska datoteka DNSMASQ-a koja se nalazi u direktoriju /etc je sama po sebi razumljiva, ali namjerava biti prilično teška za uređivanje, osim u njezinim visoko komentiranim objašnjenjima.

Prvo napravite sigurnosnu kopiju ove datoteke u slučaju da je kasnije trebate pregledati, a zatim stvorite novu praznu konfiguracijsku datoteku pomoću omiljenog uređivača teksta izdavanjem sljedećih naredbi.

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

3. Sada kopirajte i zalijepite sljedeće konfiguracije u datoteku dnsmasq.conf i osigurajte da dolje objašnjene izjave promijenite tako da odgovaraju vašim mrežnim postavkama.

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
# DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
# PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
# 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 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

Izjave koje trebate promijeniti su slijedeće:

  1. sučelje - sučelja koja bi poslužitelj trebao slušati i pružati usluge.
  2. bind-sučelja - poništite komentar vezanja samo na ovom sučelju.
  3. domena - zamijenite je imenom svog domene.
  4. dhcp-range - zamijenite ga IP rasponom definiranim mrežnom maskom na ovom segmentu.
  5. dhcp-boot - Zamijenite IP izjavu vašom IP adresom sučelja.
  6. dhcp-option = 3 , 192.168.1.1 - Zamijenite IP adresu mrežnim prolazom segmenta.
  7. dhcp-option = 6 , 92.168.1.1 - Zamijenite IP adresu IP-om DNS poslužitelja - može se definirati nekoliko DNS IP-ova.
  8. poslužitelj = 8.8.4.4 - Postavite svoje IP adrese DNS prosljeđivača.
  9. dhcp-option = 28 , 10.0.0.255 - Zamijenite IP adresu mrežnom adresom emitiranja - neobavezno.
  10. dhcp-option = 42 , 0.0.0.0 - stavite mrežne vremenske poslužitelje - po želji (adresa 0.0.0.0 služi za samokontrolu).
  11. pxe-prompt - Ostavite ga kao zadani - znači pritisnuti tipku F8 za ulazak u izbornik 60 s vremenom čekanja u sekundama.
  12. pxe = usluga - Upotrijebite x86PC za 32-bitne/64-bitne arhitekture i pod navodnicima niza unesite upit za opis izbornika. Ostale vrste vrijednosti mogu biti: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI i X86-64_EFI.
  13. enable-tftp - Omogućava ugrađeni TFTP poslužitelj.
  14. tftp-root - Upotrijebite/var/lib/tftpboot - mjesto za sve datoteke za mrežno podizanje.

Za ostale napredne opcije u vezi s konfiguracijskom datotekom slobodno pročitajte dnsmasq priručnik.

Korak 2: Instalirajte SYSLINUX pokretačke programe

4. Nakon što ste uredili i spremili glavnu konfiguracijsku datoteku DNSMASQ , nastavite i instalirajte paket za učitavanje Syslinx PXE izdavanjem sljedeće naredbe.

# yum install syslinux

5. Datoteke za učitavanje PXE nalaze se na apsolutnoj sistemskoj putanji /usr/share/syslinux , tako da je možete provjeriti navođenjem sadržaja ove staze. Ovaj je korak neobavezan, ali možda ćete morati biti svjesni ovog puta, jer ćemo u sljedećem koraku kopirati sav njegov sadržaj na put TFTP poslužitelja .

# ls /usr/share/syslinux

Korak 3: Instalirajte TFTP-poslužitelj i napunite ga SYSLINUX pokretačima

6. Sada, prijeđimo na sljedeći korak i instalirajte TFTP-poslužitelj , a zatim kopirajte sve datoteke bootlodera koje pruža paket Syslinux s gore navedenog mjesta na /var/lib/tftpboot put izdavanjem sljedećih naredbi.

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

Korak 4: Postavljanje datoteke za konfiguraciju PXE poslužitelja

7. Tipično PXE poslužitelj čita svoju konfiguraciju iz grupe određenih datoteka ( GUID datoteke - prvo, MAC datoteke - sljedeće, Zadana datoteka - zadnja) hostirana u mapi pod nazivom pxelinux.cfg , koja se mora nalaziti u direktoriju navedenom u tftp-root izjavi iz glavne konfiguracijske datoteke DNSMASQ .

Stvorite potrebni direktorij pxelinux.cfg i popunite ga zadanom datotekom izdavanjem sljedećih naredbi.

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

8. Sada je vrijeme za uređivanje konfiguracijske datoteke PXE Server s važećim mogućnostima instalacije distribucije Linuxa. Također imajte na umu da sve staze korištene u ovoj datoteci moraju biti u odnosu na direktorij /var/lib/tftpboot .

Ispod možete vidjeti primjer konfiguracijske datoteke koju možete koristiti, ali modificirajte instalacijske slike (kernel i initrd datoteke), protokole (FTP, HTTP, HTTPS, NFS) i IP-ove kako bi u skladu s tim odražavali vaša mrežna izvorišta i staze.

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

U datoteku dodajte sljedeći cijeli odlomak.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

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

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

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

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

label 4
menu label ^4) Boot from local drive

Kao što vidite, slike za podizanje CentOS 7 (kernel i initrd) nalaze se u direktoriju nazvanom centos7 u odnosu na /var/lib/tftpboot (na apsolutnom putu sustava to bi značilo /var/lib/tftpboot/centos7 ) i spremištima instalatera može se pristupiti pomoću protokola FTP na mrežnom mjestu 192.168.1.20/pub - u ovom slučaju repo-oglasi se hostiraju lokalno, jer je IP adresa ista kao adresa PXE poslužitelja).

Također izbornik oznaka 3 navodi da bi se instalacija klijenta trebala izvršiti s udaljenog mjesta putem VNC (ovdje VNC lozinku zamijenite snažnom lozinkom) u slučaju da instalirate na klijenta bez glave a izbornik oznaka 2 navodi kao
instalacijski izvori službeno internetsko zrcalo CentOS 7 (u ovom slučaju potrebna je internetska veza dostupna na klijentu putem DHCP-a i NAT-a).

Važno: Kao što vidite u gornjoj konfiguraciji, koristili smo CentOS 7 u svrhu demonstracije, ali također možete definirati i RHEL 7 slike, a slijeđenje cijelih uputa i konfiguracija temelje se samo na CentOS 7, pa budite oprezni prilikom odabira distribucije.

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

9. Za ovaj korak potrebne su CentOS kernel i initrd datoteke. Da biste dobili te datoteke, potrebna vam je slika CentOS 7 DVD ISO . Dakle, nastavite i preuzmite CentOS DVD sliku, stavite je u svoj DVD pogon i montirajte sliku na sistemsku putanju /mnt izdavanjem naredbe u nastavku.

Razlog korištenja DVD-a, a ne minimalne CD slike, jest činjenica da će se kasnije ovaj DVD sadržaj koristiti za stvaranje
lokalno instalirana spremišta za FTP izvore.

# mount -o loop /dev/cdrom  /mnt
# ls /mnt

Ako vaš uređaj nema DVD pogon, možete i lokalno preuzeti CentOS 7 DVD ISO pomoću uslužnih programa wget ili curl iz CentOS zrcala i montirati ga.

# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
# mount -o loop /path/to/centos-dvd.iso  /mnt

10. Nakon što DVD sadržaj postane dostupan, izradite direktorij centos7 i kopirajte jezgru za pokretanje CentOS 7 i initrd slike s mjesta montiranja na DVD u strukturu mape centos7.

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

Razlog korištenja ovog pristupa je taj što kasnije možete stvoriti nove zasebne direktorije u putanji /var/lib/tftpboot i dodati druge Linux distribucije u PXE izbornik bez zabrljavanja cijele strukture direktorija.

Korak 6: Stvorite izvor instalacije CentOS 7 Local Mirror

11. Iako možete postaviti Zrcala za instalaciju izvora putem različitih protokola poput HTTP-a, HTTPS-a ili NFS-a, za ovaj vodič odabrao sam protokol FTP jer je vrlo pouzdan i jednostavno postavljanje uz pomoć vsftpd poslužitelja.

Dalje instalirajte vsftpd daemon, kopirajte sav sadržaj montiran na DVD na vsftpd zadani put poslužitelja (/var/ftp/pub ) - to može potrajati ovisno o resursima vašeg sistema i dodati čitljiva dopuštenja za ovaj put izdavanjem sljedećih naredbi.

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

Korak 7: Pokrenite i omogućite Daemons širok sustav

12. Sada kada je konfiguracija PXE poslužitelja konačno gotova, pokrenite DNSMASQ i VSFTPD poslužitelje, provjerite njihov status i omogućite ga po cijelom sustavu, da se automatski pokrene nakon svakog ponovnog pokretanja sustava, pokretanjem naredbi u nastavku.

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

Korak 8: Otvorite vatrozid i testirajte izvor instalacije FTP-a

13. Da biste dobili popis svih priključaka koji moraju biti otvoreni na vašem vatrozidu da bi klijentski strojevi mogli doći i pokrenuti se s PXE poslužitelja, pokrenite naredbu netstat i dodajte centOS 7 pravila vatrozida u skladu s dnsmasq i vsftpd luke za slušanje.

# netstat -tulpn
# 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. Da biste testirali mrežnu stazu FTP instalacije, otvorite preglednik lokalno (ris bi to trebao učiniti) ili na drugom računalu i upišite IP adresu vašeg PXE poslužitelja s
FTP protokol praćen mrežnom lokacijom /pub na prijavljenom URL-u, a rezultat bi trebao biti kao što je prikazano na donjoj snimci zaslona.

ftp://192.168.1.20/pub

15. Za otklanjanje pogrešaka u PXE poslužitelju za eventualne pogrešne konfiguracije ili druge informacije i dijagnostiku u načinu rada uživo pokrenite sljedeću naredbu.

# tailf /var/log/messages

16. Napokon, posljednji potreban korak koji morate učiniti je demontiranje DVD-a CentOS 7 i uklanjanje fizičkog medija.

# umount /mnt

Korak 9: Konfigurirajte klijente za pokretanje s mreže

17. Sada vaši klijenti mogu pokrenuti i instalirati CentOS 7 na svoje strojeve konfiguriranjem Network Boot-a kao primarnog uređaja za pokretanje iz svog BIOS-a sustava ili pritiskom na određeni ključ tijekom BIOS POST operacija kako je navedeno u priručniku za matičnu ploču.

Da biste odabrali mrežno pokretanje. Nakon što se pojavi prva PXE prompt, pritisnite tipku F8 da biste ušli u prezentaciju, a zatim pritisnite tipku Enter za nastavak prema PXE izborniku.

18. Kada dođete do PXE izbornika, odaberite vrstu instalacije CentOS 7, pritisnite tipku Enter i nastavite s postupkom instalacije na isti način na koji biste je mogli instalirati s uređaja za pokretanje lokalnog medija.

Imajte na umu da korištenje inačice 2 s ovog izbornika zahtijeva aktivnu internetsku vezu na ciljnom klijentu. Također, u nastavku
snimke zaslona možete vidjeti primjer udaljene instalacije klijenta putem VNC-a.

To je sve za postavljanje minimalnog PXE poslužitelja na CentOS 7 . U sljedećem članku iz ove serije raspravljat ću o drugim pitanjima u vezi s ovom konfiguracijom PXE poslužitelja, poput načina postavljanja automatiziranih instalacija CentOS 7 pomoću datoteka Kickstart i dodavanja drugih Linux distribucija na PXE izbornik - Ubuntu Server i Debian 7 .