Nastavitev omrežnega zagonskega strežnika PXE za več distribucijskih sistemov Linuxa v RHEL/CentOS 7


Strežnik PXE - Preboot eXecution Environment - odjemalskemu računalniku naroči, da zažene, zažene ali namesti operacijski sistem neposredno iz omrežnega vmesnika, s čimer odpravi potrebo po zapisu CD/DVD-ja ali uporabi fizičnega medija ali, lahko olajša delo namestitve distribucij Linuxa v vašo omrežno infrastrukturo na več računalnikih hkrati.

  1. Minimalni postopek namestitve CentOS 7
  2. RHEL 7 Minimalni postopek namestitve
  3. Konfigurirajte statični naslov IP v RHEL/CentOS 7
  4. Odstranite neželene storitve v RHEL/CentOS 7
  5. Namestite strežnik NTP, da nastavite pravilen sistemski čas v RHEL/CentOS 7

Ta članek bo razložil, kako lahko namestite in konfigurirate strežnik PXE na RHEL / CentOS 7 x64-bit z zrcalnimi lokalnimi namestitvenimi repozitoriji, navedeni viri by CentOS 7 DVD ISO image, s pomočjo strežnika DNSMASQ .

Ki ponuja storitve DNS in DHCP , paket Syslinux , ki ponuja zagonske nalagalnike za zagon omrežja, TFTP-strežnik , ki omogoča zagonske slike, ki jih je mogoče prenesti prek omrežja z uporabo protokola za trivialni prenos datotek (TFTP) in strežnika VSFTPD , ki bo gostil lokalno nameščeno zrcalno sliko DVD-ja, ki bo delovala kot uradna RHEL/CentOS 7 zrcalno skladišče namestitve, od koder bo namestitveni program izvlekel zahtevane pakete.

1. korak: Namestite in konfigurirajte strežnik DNSMASQ

1. Ni vas treba opozarjati, da je izjemno zahtevno, da mora biti eden od vmesnikov vaše omrežne kartice, če strežnik predstavlja več omrežnih kartic, konfiguriran s statičnim naslovom IP iz istega obsega IP, ki spada v omrežni segment, ki bo zagotavljal PXE storitve.

Potem, ko ste konfigurirali svoj statični naslov IP, posodobili sistem in izvedli druge začetne nastavitve, uporabite naslednji ukaz za namestitev demona DNSMASQ .

# yum install dnsmasq

2. Glavna privzeta konfiguracijska datoteka DNSMASQ, ki se nahaja v imeniku /etc , je sama po sebi razumljiva, vendar jo je težko urediti, razen njenih zelo komentiranih razlag.

Najprej ustvarite varnostno kopijo te datoteke, če jo boste pozneje morali pregledati, nato pa ustvarite novo prazno konfiguracijsko datoteko z vašim najljubšim urejevalnikom besedil z izdajo naslednjih ukazov.

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

3. Zdaj kopirajte in prilepite naslednje konfiguracije v datoteko dnsmasq.conf in zagotovite, da spremenite spodnje pojasnjene izjave, da se bodo ustrezno ujemale z vašimi omrežnimi nastavitvami.

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, ki jih morate spremeniti, so naslednje:

  1. vmesnik - vmesniki, ki jih mora strežnik poslušati in zagotavljati storitve.
  2. bind-interfaces - Razveljavite komentar, ki se veže samo na tem vmesniku.
  3. domena - zamenjajte jo z imenom svoje domene.
  4. dhcp-range - zamenjajte ga z obsegom IP, ki ga na tem segmentu določa vaša omrežna maska.
  5. dhcp-boot - Izjavo IP zamenjajte z naslovom IP vmesnika.
  6. dhcp-option = 3 , 192.168.1.1 - Zamenjajte naslov IP z omrežnim odsekom Gateway.
  7. dhcp-option = 6 , 92.168.1.1 - Zamenjajte naslov IP z naslovom strežnika DNS - določiti je mogoče več naslovov DNS IP.
  8. strežnik = 8.8.4.4 - Vstavite svoje naslove IP-jev za posrednike DNS.
  9. dhcp-option = 28 , 10.0.0.255 - IP naslov zamenjajte z omrežnim naslovom - neobvezno.
  10. dhcp-option = 42 , 0.0.0.0 - Vstavite svoje omrežne časovne strežnike - neobvezno (0.0.0.0 Naslov je za samoreferenco).
  11. pxe-prompt - pusti privzeto - pomeni pritisniti tipko F8 za vstop v meni 60 s časom čakanja v sekundah ..
  12. pxe = storitev - Uporabite x86PC za 32-bitne/64-bitne arhitekture in pod narekovaji nizov vnesite poziv za opis menija. Druge vrste vrednosti so lahko: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI in X86-64_EFI.
  13. enable-tftp - Omogoči vgrajeni strežnik TFTP.
  14. tftp-root - Uporabite/var/lib/tftpboot - mesto za vse datoteke za zagon v omrežju.

Za druge napredne možnosti v zvezi s konfiguracijsko datoteko preberite priročnik dnsmasq.

2. korak: Namestite zagonske nalagalnike SYSLINUX

4. Ko uredite in shranite glavno konfiguracijsko datoteko DNSMASQ , nadaljujte in namestite paket zagonskega nalagalnika Syslinx PXE z izdajo naslednjega ukaza.

# yum install syslinux

5. Datoteke zagonskih nalagalnikov PXE se nahajajo na absolutni sistemski poti /usr/share/syslinux , zato jo lahko preverite tako, da navedete vsebino te poti. Ta korak ni obvezen, vendar se boste morda morali zavedati te poti, ker bomo v naslednjem koraku vso njeno vsebino kopirali na pot strežnika TFTP .

# ls /usr/share/syslinux

3. korak: Namestite strežnik TFTP in ga zapolnite z zagonskimi nalagalniki SYSLINUX

6. Zdaj pa pojdimo na naslednji korak in namestite TFTP-strežnik in nato kopirajte vse datoteke zagonskih datotek, ki jih ponuja paket Syslinux, z zgoraj navedenega mesta na /var/lib/tftpboot pot z izdajo naslednjih ukazov.

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

4. korak: Nastavite konfiguracijsko datoteko strežnika PXE

7. Običajno strežnik PXE prebere svojo konfiguracijo iz skupine določenih datotek (datoteke GUID - najprej, datoteke MAC - naslednje, Privzeta datoteka - zadnja), ki gostuje v mapi z imenom pxelinux.cfg , ki mora biti v imeniku, navedenem v izjavi tftp-root iz glavne konfiguracijske datoteke DNSMASQ .

Ustvarite zahtevani imenik pxelinux.cfg in ga izpolnite s privzeto datoteko z izdajo naslednjih ukazov.

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

8. Zdaj je čas, da uredite konfiguracijsko datoteko PXE Server z veljavnimi možnostmi namestitve distribucij Linuxa. Upoštevajte tudi, da morajo biti vse poti, uporabljene v tej datoteki, povezane z imenikom /var/lib/tftpboot .

Spodaj si lahko ogledate primer konfiguracijske datoteke, ki jo lahko uporabite, vendar spremenite namestitvene slike (datoteke jedra in initrd), protokole (FTP, HTTP, HTTPS, NFS) in IP-je, da bodo ustrezno odražali vaše izvorne repozitorije in poti omrežne namestitve.

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

V datoteko dodajte naslednji celoten odlomek.

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

Kot lahko vidite zagonske slike CentOS 7 (jedro in initrd) se nahajajo v imeniku z imenom centos7 glede na /var/lib/tftpboot (na absolutni sistemski poti bi to pomenilo /var/lib/tftpboot/centos7 ) in repozitorije namestitvenih programov je mogoče doseči s protokolom FTP na omrežni lokaciji 192.168.1.20/pub - v tem primeru se repo-oglasi gostijo lokalno, ker je naslov IP enak naslovu strežnika PXE).

Tudi meni oznaka 3 določa, da je treba namestitev odjemalca opraviti z oddaljenega mesta prek VNC (tukaj zamenjajte geslo VNC z močnim geslom), če namestite na odjemalca brez glave in meni oznaka 2 določa kot
namestitveni viri uradno internetno ogledalo CentOS 7 (v tem primeru je potrebna internetna povezava, ki je na voljo na odjemalcu prek DHCP in NAT).

Pomembno: Kot vidite v zgornji konfiguraciji, smo CentOS 7 uporabili za predstavitev, lahko pa definirate tudi slike RHEL 7 in upoštevanje celotnih navodil in konfiguracij temelji samo na CentOS 7, zato bodite previdni pri izbiri distribucije.

5. korak: Dodajte zagonske slike CentOS 7 na strežnik PXE

9. Za ta korak so potrebne jedra CentOS in datoteke initrd. Za pridobitev teh datotek potrebujete sliko CentOS 7 DVD ISO . Torej, nadaljujte in prenesite CentOS DVD Image, ga vstavite v pogon DVD in s pomočjo spodnjega ukaza sliko namestite na sistemsko pot /mnt .

Razlog za uporabo DVD-ja in ne minimalne slike CD-ja je dejstvo, da bo kasneje ta vsebina DVD-ja uporabljena za ustvarjanje
lokalno namestitvena skladišča za vire FTP .

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

Če vaša naprava nima pogona DVD, lahko CentOS 7 DVD ISO prenesete tudi lokalno z orodji wget ali curl iz ogledala CentOS in ga pritrdite.

# 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. Ko je vsebina DVD-ja na voljo, ustvarite imenik centos7 in kopirajte zagonsko jedro CentOS 7 in slike initrd z mesta, nameščenega na DVD, v strukturo map 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 za uporabo tega pristopa je v tem, da lahko pozneje v poti /var/lib/tftpboot ustvarite nove ločene imenike in dodate druge distribucije Linuxa v meni PXE, ne da bi zamotili celotno strukturo imenikov.

6. korak: Ustvarite vir namestitve CentOS 7 Local Mirror

11. Čeprav lahko Namesti izvorna ogledala z različnimi protokoli, kot so HTTP, HTTPS ali NFS, sem za ta vodnik izbral protokol FTP , ker je zelo zanesljiv in enostavno namestitev s pomočjo strežnika vsftpd .

Nadalje namestite demon vsftpd, kopirajte vso nameščeno DVD vsebino na vsftpd privzeto pot strežnika (/var/ftp/pub ) - to lahko traja nekaj časa, odvisno od vaših sistemskih virov in se priloži berljiva dovoljenja za to pot z izdajo naslednjih ukazov.

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

7. korak: zaženite in omogočite sistemske programe Daemons

12. Ko je končno končana konfiguracija strežnika PXE, zaženite strežnika DNSMASQ in VSFTPD , preverite njihovo stanje in ga omogočite po celotnem sistemu, da se samodejno zažene po vsakem ponovnem zagonu sistema, tako da zaženete spodnje ukaze.

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

8. korak: Odprite požarni zid in preizkusite vir namestitve FTP

13. Če želite dobiti seznam vseh vrat, ki morajo biti odprta na vašem požarnem zidu, da bodo odjemalske naprave lahko dostopale in se zagnale s strežnika PXE, zaženite ukaz netstat in dodajte pravila CentOS 7 Firewalld v dnsmasq in vsftpd vrata za posluš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. Če želite preizkusiti omrežno pot namestitve FTP, odprite brskalnik lokalno (ris mora to storiti) ali v drugem računalniku in vnesite naslov IP strežnika PXE z
FTP protokol, ki mu sledi URL omrežja /pub na vloženem URL-ju, rezultat pa mora biti tak, kot je prikazan na spodnji sliki zaslona.

ftp://192.168.1.20/pub

15. Za odpravljanje napak strežnika PXE za morebitne napačne konfiguracije ali druge informacije in diagnostiko v načinu v živo zaženite naslednji ukaz.

# tailf /var/log/messages

16. Nazadnje, zadnji zahtevani korak, ki ga morate storiti, je odklopiti CentOS 7 DVD in odstraniti fizični medij.

# umount /mnt

9. korak: Konfigurirajte odjemalce za zagon iz omrežja

17. Zdaj lahko vaše stranke zaženejo in namestijo CentOS 7 na svoje računalnike, tako da konfigurirajo Network Boot kot primarno zagonsko napravo iz svojega sistemskega BIOS-a ali pritisnejo določen ključ med operacijami BIOS POST kot je določeno v priročniku za matično ploščo.

Če želite izbrati zagon omrežja. Ko se prikaže prvi poziv za PXE, pritisnite tipko F8 za vstop v predstavitev in nato pritisnite tipko Enter za nadaljevanje v meni PXE.

18. Ko pridete do menija PXE, izberite vrsto namestitve CentOS 7, pritisnite tipko Enter in nadaljujte z namestitvenim postopkom na enak način, kot bi ga lahko namestili iz lokalne predstavnostne zagonske naprave.

Upoštevajte, da uporaba različice 2 v tem meniju zahteva aktivno internetno povezavo na ciljnem odjemalcu. Prav tako spodaj
posnetke zaslona si lahko ogledate primer oddaljene namestitve odjemalca prek VNC.

To je vse za nastavitev minimalnega strežnika PXE na CentOS 7 . V naslednjem članku iz te serije bom razpravljal o drugih vprašanjih v zvezi s to konfiguracijo strežnika PXE, na primer o tem, kako nastaviti samodejne namestitve CentOS 7 z uporabo datotek Kickstart in dodati druge distribucije Linuxa v meni PXE - strežnik Ubuntu in Debian 7 .