Opsætning af en PXE Network Boot-server til flere Linux-distributionsinstallationer i RHEL/CentOS 7


PXE Server - Preboot eXecution Environment - instruerer en klientcomputer om at starte, køre eller installere et operativsystem direkte fra en netværksgrænseflade, hvilket eliminerer behovet for at brænde en CD/DVD eller bruge et fysisk medium, eller kan lette jobbet med at installere Linux-distributioner på din netværksinfrastruktur på flere maskiner på samme tid.

  1. CentOS 7 Minimal installationsprocedure
  2. RHEL 7 Minimal installationsprocedure
  3. Konfigurer statisk IP-adresse i RHEL/CentOS 7
  4. Fjern uønskede tjenester i RHEL/CentOS 7
  5. Installer NTP-server for at indstille korrekt systemtid i RHEL/CentOS 7

Denne artikel forklarer, hvordan du kan installere og konfigurere en PXE-server RHEL / CentOS 7 x64-bit med spejlede lokale installationslagre, forudsat kilder af CentOS 7 DVD ISO-billede ved hjælp af DNSMASQ Server.

Som leverer DNS og DHCP tjenester, Syslinux pakke, der giver bootloadere til netværksstart, TFTP-server , hvilket gør bootbare billeder, der kan downloades via netværk ved hjælp af Trivial File Transfer Protocol (TFTP) og VSFTPD Server, som er vært for det lokalt monterede spejlede DVD-billede - som fungerer som en officiel RHEL/CentOS 7 spejlinstallationsopbevaringssted, hvorfra installationsprogrammet udpakker de nødvendige pakker.

Trin 1: Installer og konfigurer DNSMASQ Server

1. Ingen grund til at minde dig om, at det er absolut krævende, at et af dit netværkskortgrænseflade, hvis din server udgør flere NIC'er, skal konfigureres med en statisk IP-adresse fra det samme IP-interval, der hører til netværkssegmentet, der giver PXE tjenester.

Så efter at du har konfigureret din statiske IP-adresse, opdateret dit system og udført andre indledende indstillinger, skal du bruge følgende kommando til at installere DNSMASQ dæmonen.

# yum install dnsmasq

2. DNSMASQ-standardkonfigurationsfil, der findes i /etc -mappen, er selvforklarende, men har til hensigt at være ret vanskelig at redigere, gør det til sine stærkt kommenterede forklaringer.

Sørg først for at sikkerhedskopiere denne fil, hvis du har brug for at gennemgå den senere, og opret derefter en ny tom konfigurationsfil ved hjælp af din foretrukne teksteditor ved at udstede følgende kommandoer.

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

3. Nu skal du kopiere og indsætte følgende konfigurationer på filen dnsmasq.conf og sikre dig, at du ændrer nedenstående forklarede udsagn for at matche dine netværksindstillinger i overensstemmelse hermed.

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

De udsagn, du skal ændre, er følgende:

  1. interface - Grænseflader, som serveren skal lytte og levere tjenester.
  2. bind-interfaces - bemærkning, der kun bindes på denne interface.
  3. domæne - Erstat det med dit domænenavn.
  4. dhcp-range - Erstat det med IP-rækkevidde defineret af din netværksmaske på dette segment.
  5. dhcp-boot - Udskift IP-sætningen med din interface IP-adresse.
  6. dhcp-option = 3 , 192.168.1.1 - Erstat IP-adressen med dit netværkssegment Gateway.
  7. dhcp-option = 6 , 92.168.1.1 - Udskift IP-adressen med din DNS-server-IP - flere DNS-IP'er kan defineres.
  8. server = 8.8.4.4 - Anbring dine DNS-videresenders IP-adresser.
  9. dhcp-option = 28 , 10.0.0.255 - Udskift IP-adressen med netværksudsendelsesadresse - valgfrit.
  10. dhcp-option = 42 , 0.0.0.0 - Sæt dine netværkstidservere - valgfrit (0.0.0.0 Adresse er til selvreference).
  11. pxe-prompt - Lad det være som standard - betyder at trykke på F8-tasten for at komme ind i menu 60 med sekunders ventetid ..
  12. pxe = service - Brug x86PC til 32-bit/64-bit arkitekturer og indtast en menubeskrivelsesprompt under strengcitater. Andre værdityper kan være: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI og X86-64_EFI.
  13. aktiv-tftp - Aktiverer den indbyggede TFTP-server.
  14. tftp-root - Brug/var/lib/tftpboot - placeringen for alle netbooting-filer.

For andre avancerede indstillinger vedrørende konfigurationsfil er du velkommen til at læse dnsmasq manual.

Trin 2: Installer SYSLINUX Bootloaders

4. Når du har redigeret og gemt DNSMASQ hovedkonfigurationsfil, skal du installere Syslinx PXE bootloader-pakke ved at udstede følgende kommando.

# yum install syslinux

5. PXE-bootloaders-filerne findes i /usr/share/syslinux absolut systemsti, så du kan kontrollere det ved at angive dette stiens indhold. Dette trin er valgfrit, men du skal muligvis være opmærksom på denne sti, fordi vi i det næste trin kopierer alt dets indhold til TFTP-server sti.

# ls /usr/share/syslinux

Trin 3: Installer TFTP-server og udfyld den med SYSLINUX Bootloaders

6. Lad os nu gå til næste trin og installere TFTP-server og derefter kopiere alle bootloders-filer leveret af Syslinux-pakken fra ovenstående placering til /var/lib/tftpboot sti ved at udstede følgende kommandoer.

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

Trin 4: Opsæt PXE-serverkonfigurationsfil

7. Typisk læser PXE Server dens konfiguration fra en gruppe af specifikke filer ( GUID filer - først, MAC filer - næste, Standard -fil - sidst) hostet i en mappe kaldet pxelinux.cfg , som skal være placeret i den mappe, der er angivet i tftp-root -erklæring fra DNSMASQ-hovedkonfigurationsfil .

Opret det krævede bibliotek pxelinux.cfg , og udfyld det med en standard -fil ved at udstede følgende kommandoer.

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

8. Nu er det tid til at redigere PXE Server konfigurationsfil med gyldige installationsindstillinger for Linux-distributioner. Bemærk også, at alle stier, der bruges i denne fil, skal være relative til mappen /var/lib/tftpboot .

Nedenfor kan du se et eksempel på en konfigurationsfil, som du kan bruge den, men ændre installationsbillederne (kerne- og initrd-filer), protokoller (FTP, HTTP, HTTPS, NFS) og IP'er for at afspejle dine netværksinstallationskildelagre og stier i overensstemmelse hermed.

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

Føj følgende hele uddrag til filen.

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

Som du kan se, findes CentOS 7-opstartsbilleder (kerne og initrd) i en mappe med navnet centos7 i forhold til /var/lib/tftpboot (på en absolut systemsti vil det betyde /var/lib/tftpboot/centos7 ) og installationsprogrammerne kan nås ved hjælp af FTP -protokollen på 192.168.1.20/pub netværksplacering - i dette tilfælde er repos hostet lokalt, fordi IP-adressen er den samme som PXE-serveradressen).

Menuen etiket 3 specificerer, at klientinstallationen skal udføres fra en ekstern placering via VNC (her udskift VNC-adgangskoden med en stærk adgangskode), hvis du installerer på en hovedløs klient og menuen label 2 angiver som
installationskilder et officielt CentOS 7-internetspejl (denne sag kræver en internetforbindelse tilgængelig på klienten via DHCP og NAT).

Vigtigt: Som du ser i ovenstående konfiguration, har vi brugt CentOS 7 til demonstrationsformål, men du kan også definere RHEL 7-billeder, og at følge hele instruktioner og konfigurationer er kun baseret på CentOS 7, så vær forsigtig, når du vælger distribution.

Trin 5: Tilføj CentOS 7 Boot-billeder til PXE Server

9. Til dette trin kræves CentOS-kerne- og initrd-filer. For at få disse filer skal du have CentOS 7 DVD ISO Image. Så fortsæt og download CentOS DVD Image, læg det i dit DVD-drev, og monter billedet til /mnt systemstien ved at udstede kommandoen nedenfor.

Årsagen til at bruge DVD'en og ikke et minimalt CD-billede er, at dette DVD-indhold senere ville blive brugt til at oprette
lokalt installationsregister til FTP kilder.

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

Hvis din maskine ikke har noget DVD-drev, kan du også downloade CentOS 7 DVD ISO lokalt ved hjælp af wget eller curl hjælpeprogrammer fra et CentOS-spejl og montere det.

# 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. Når DVD-indholdet er gjort tilgængeligt, skal du oprette mappen centos7 og kopiere CentOS 7-startbar kerne og initrd-billeder fra den DVD-monterede placering til centos7-mappestruktur.

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

Årsagen til at bruge denne fremgangsmåde er, at du senere kan oprette nye separate mapper i /var/lib/tftpboot sti og tilføje andre Linux-distributioner til PXE-menuen uden at ødelægge hele katalogstrukturen.

Trin 6: Opret CentOS 7 Local Mirror Installation Source

11. Selvom du kan indstille Installationskildespejle via en række forskellige protokoller, såsom HTTP, HTTPS eller NFS, til denne vejledning, har jeg valgt FTP protokol, fordi den er meget pålidelig og let at konfigurere ved hjælp af vsftpd server.

Yderligere installation vsftpd-dæmon, kopier alt DVD-monteret indhold til vsftpd standardserversti (/var/ftp/pub ) - dette kan tage et stykke tid afhængigt af dine systemressourcer og tilføj læsbare tilladelser til denne sti ved at udstede følgende kommandoer.

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

Trin 7: Start og aktiver Daemons System-Wide

12. Nu hvor PXE-serverkonfigurationen endelig er afsluttet, skal du starte DNSMASQ og VSFTPD -serverne, kontrollere deres status og aktivere den hele systemet for automatisk at starte efter hver genstart af systemet, ved at køre nedenstående kommandoer.

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

Trin 8: Åbn Firewall og test FTP-installationskilde

13. For at få en liste over alle porte, der skal være åbne på din Firewall, for at klientmaskiner kan nå og starte fra PXE-serveren, skal du køre kommandoen netstat og tilføje CentOS 7 Firewalld-regler i overensstemmelse hermed til dnsmasq og vsftpd lytteporte.

# 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. For at teste FTP-installation Kilde-netværkssti skal du åbne en browser lokalt (lynx skal gøre det) eller på en anden computer og skrive IP-adressen på din PXE-server med
FTP-protokol efterfulgt af /pub netværksplacering på den arkiverede URL, og resultatet skal være som vist i nedenstående skærmbillede.

ftp://192.168.1.20/pub

15. Kør følgende kommando for at fejle PXE-server for eventuelle fejlkonfigurationer eller anden information og diagnosticering i live-tilstand.

# tailf /var/log/messages

16. Endelig er det sidste nødvendige trin, du skal gøre, at afmontere CentOS 7 DVD og fjerne det fysiske medium.

# umount /mnt

Trin 9: Konfigurer klienter til at starte fra netværk

17. Nu kan dine kunder starte og installere CentOS 7 på deres maskiner ved at konfigurere Network Boot som primær boot-enhed fra deres system BIOS eller ved at trykke på en specificeret nøgle under BIOS POST operationer som specificeret i bundkortmanualen.

For at vælge netværksstart. Når den første PXE-meddelelse vises, skal du trykke på F8 -tasten for at åbne præsentation og derefter trykke på Enter -tasten for at gå videre til PXE-menuen.

18. Når du har nået PXE-menuen, skal du vælge din CentOS 7-installationstype, trykke på Enter -tasten og fortsætte med installationsproceduren på samme måde som du kan installere den fra en lokal medie-boot-enhed.

Bemærk, at brug af variant 2 fra denne menu kræver en aktiv internetforbindelse på målklienten. Også nedenfor
skærmbilleder kan du se et eksempel på en klientfjerninstallation via VNC.

Alt dette er til opsætning af en minimal PXE-server CentOS 7 . På min næste artikel fra denne serie vil jeg diskutere andre spørgsmål vedrørende denne PXE-serverkonfiguration, såsom hvordan man opsætter automatiserede installationer af CentOS 7 ved hjælp af Kickstart filer og tilføjelse af andre Linux-distributioner til PXE-menu - Ubuntu Server og Debian 7 .