PXE tīkla sāknēšanas servera iestatīšana vairākām Linux izplatīšanas instalācijām RHEL/CentOS 7


PXE serveris - Pre-boot eXecution Environment - uzdod klienta datoram palaist, palaist vai instalēt operētājsistēmu, tieši veidojot tīkla saskarni, novēršot nepieciešamību ierakstīt CD/DVD vai izmantot fizisku datu nesēju, vai var atvieglot darbu, instalējot Linux izplatījumus tīkla infrastruktūrā vienlaikus vairākās mašīnās.

  1. CentOS 7 minimālā uzstādīšanas procedūra
  2. RHEL 7 minimālā uzstādīšanas procedūra
  3. Konfigurējiet statisko IP adresi RHEL/CentOS 7
  4. Noņemiet nevēlamus pakalpojumus no RHEL/CentOS 7
  5. Instalējiet NTP serveri, lai iestatītu pareizu sistēmas laiku RHEL/CentOS 7

Šajā rakstā tiks paskaidrots, kā jūs varat instalēt un konfigurēt PXE serveri uz RHEL / CentOS 7 x64 bitu ar spoguļotām vietējām instalācijas repozitorijām. ar CentOS 7 DVD ISO attēlu ar servera DNSMASQ palīdzību.

Kas nodrošina DNS un DHCP pakalpojumus, pakotni Syslinux , kas nodrošina tīkla sāknēšanas sāknēšanas ielādētājus, TFTP-Server , sāknējami attēli, kurus var lejupielādēt tīklā, izmantojot Trivial File Transfer Protocol (TFTP) un VSFTPD serveri, kurā mitinās lokāli piestiprinātais spoguļattēla DVD attēls, kas darbosies kā oficiāla RHEL/CentOS 7 spoguļu instalācijas repozitorijs, no kura instalētājs izraksta nepieciešamās pakotnes.

1. darbība: instalējiet un konfigurējiet DNSMASQ Server

1. Jums nav jāatgādina, ka ir absolūti nepieciešams, lai viens no jūsu tīkla kartes interfeisiem, ja jūsu serveris piedāvā vairāk NIC, ir jākonfigurē ar statisku IP adresi no tā paša IP diapazona, kas pieder tīkla segmentam, kas nodrošinās PXE pakalpojumus.

Tātad, pēc tam, kad esat konfigurējis statisko IP adresi, atjauninājis sistēmu un veicis citus sākotnējos iestatījumus, izmantojiet šo komandu, lai instalētu dēmonu DNSMASQ .

# yum install dnsmasq

2. DNSMASQ galvenais noklusējuma konfigurācijas fails, kas atrodas direktorijā /etc , ir pats par sevi saprotams, taču to ir diezgan grūti rediģēt, veicot tā ļoti komentētos paskaidrojumus.

Vispirms pārliecinieties, ka dublējat šo failu, ja tas vēlāk jāpārskata, un pēc tam izveidojiet jaunu tukšu konfigurācijas failu, izmantojot iecienīto teksta redaktoru, izsniedzot šādas komandas.

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

3. Tagad failā dnsmasq.conf nokopējiet un ielīmējiet šādas konfigurācijas un pārliecinieties, ka maināt tālāk aprakstītos paziņojumus, lai tie atbilstoši atbilstu jūsu tīkla iestatījumiem.

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

Paziņojumi, kas jums jāmaina, ir šādi:

  1. saskarne - saskarnes, kuras serverim vajadzētu klausīties un sniegt pakalpojumus.
  2. iesiešanas saskarnes - noņemiet saistības tikai šajā saskarnē.
  3. domēns - aizstājiet to ar savu domēna nosaukumu.
  4. dhcp-range - aizstājiet to ar IP diapazonu, ko šajā segmentā ir noteikusi tīkla maska.
  5. dhcp-boot - aizstājiet IP priekšrakstu ar saskarnes IP adresi.
  6. dhcp-option = 3 , 192.168.1.1 - IP adresi aizstājiet ar tīkla segmenta vārteju.
  7. dhcp-option = 6 , 92.168.1.1 - Nomainiet IP adresi ar savu DNS servera IP - var definēt vairākus DNS IP.
  8. serveris = 8.8.4.4 - ievietojiet DNS ekspeditoru IP adreses.
  9. dhcp-option = 28 , 10.0.0.255 - aizstājiet IP adresi ar tīkla apraides adresi - pēc izvēles.
  10. dhcp-option = 42 , 0.0.0.0 - ievietojiet tīkla laika serverus - pēc izvēles (0.0.0.0 adrese ir paredzēta pašreferencei).
  11. pxe-prompt - atstājiet to kā noklusējumu - nozīmē nospiest taustiņu F8, lai ievadītu 60. izvēlni ar sekundes gaidīšanas laiku.
  12. pxe = service - 32 bitu/64 bitu arhitektūrām izmantojiet x86PC un zem virknes pēdiņām ievadiet izvēlnes apraksta uzvedni. Citi vērtību veidi var būt: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI un X86-64_EFI.
  13. enable-tftp - iespējo iebūvēto TFTP serveri.
  14. tftp-root - izmantojiet/var/lib/tftpboot - visu tīkla sāknēšanas failu atrašanās vietu.

Citas papildu iespējas attiecībā uz konfigurācijas failu droši izlasiet dnsmasq rokasgrāmatu.

2. darbība: instalējiet SYSLINUX sāknēšanas ielādētājus

4. Kad esat rediģējis un saglabājis DNSMASQ galveno konfigurācijas failu, dodieties uz priekšu un instalējiet Syslinx PXE sāknēšanas ielādes pakotni, izsniedzot šādu komandu.

# yum install syslinux

5. PXE sāknēšanas programmu faili atrodas absolūtā sistēmas ceļā /usr/share/syslinux , tāpēc to varat pārbaudīt, uzskaitot šī ceļa saturu. Šī darbība nav obligāta, taču jums, iespējams, būs jāzina šis ceļš, jo nākamajā darbībā mēs kopēsim visu tā saturu uz TFTP servera ceļu.

# ls /usr/share/syslinux

3. darbība: instalējiet TFTP-Server un aizpildiet to ar SYSLINUX sāknēšanas ielādētājiem

6. Tagad pārejam uz nākamo soli un instalējiet TFTP-Server un pēc tam nokopējiet visus Syslinux pakotnes nodrošinātos bootloders failus no iepriekš norādītās vietas uz /var/lib/tftpboot ceļš, izsniedzot šādas komandas.

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

4. darbība: iestatiet PXE servera konfigurācijas failu

7. Parasti PXE serveris nolasa savu konfigurāciju no noteiktu failu grupas ( GUID faili - vispirms, MAC faili - nākamie, Noklusējuma fails - pēdējais) mitināts mapē ar nosaukumu pxelinux.cfg , kuram jāatrodas direktorijā tftp-root norādītajā direktorijā no DNSMASQ galvenā konfigurācijas faila .

Izveidojiet nepieciešamo direktoriju pxelinux.cfg un aizpildiet to ar noklusējuma failu, izsniedzot šādas komandas.

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

8. Tagad ir pienācis laiks rediģēt konfigurācijas failu PXE Server ar derīgām Linux izplatīšanas instalēšanas opcijām. Ņemiet vērā arī to, ka visiem šajā failā izmantotajiem ceļiem jābūt salīdzināmiem ar direktoriju /var/lib/tftpboot .

Zemāk ir redzams konfigurācijas faila piemērs, kuru varat izmantot, taču modificējiet instalācijas attēlus (kodola un initrd failus), protokolus (FTP, HTTP, HTTPS, NFS) un IP, lai attiecīgi atspoguļotu tīkla instalācijas avotu krātuves un ceļus.

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

Pievienojiet failam visu šo fragmentu.

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

Kā redzat, CentOS 7 sāknēšanas attēli (kodols un initrd) atrodas direktorijā ar nosaukumu centos7 attiecībā pret /var/lib/tftpboot (absolūtā sistēmas ceļā tas nozīmētu /var/lib/tftpboot/centos7 ) un instalēšanas krātuves var sasniegt, izmantojot FTP protokolu tīkla vietā 192.168.1.20/pub - šajā gadījumā repo tiek mitināti lokāli, jo IP adrese ir tāda pati kā PXE servera adrese).

Arī izvēlne 3. etiķete norāda, ka klienta instalēšana jāveic no attālās vietas, izmantojot VNC (šeit nomainiet VNC paroli ar spēcīgu paroli), ja instalējat klientam bez galvas un izvēlne 2. etiķete norāda kā
instalācijas avoti ir CentOS 7 oficiālais interneta spogulis (šajā gadījumā klientam ir nepieciešams interneta savienojums, izmantojot DHCP un NAT).

Svarīgi: kā redzat iepriekšminētajā konfigurācijā, mēs esam izmantojuši CentOS 7 demonstrācijas vajadzībām, taču jūs varat arī definēt RHEL 7 attēlus, un visu instrukciju un konfigurāciju ievērošana ir balstīta tikai uz CentOS 7, tāpēc esiet piesardzīgs, izvēloties izplatīšanu.

5. darbība: CentX 7 sāknēšanas attēlu pievienošana PXE serverim

9. Šim solim ir nepieciešami CentOS kodola un initrd faili. Lai iegūtu šos failus, nepieciešams attēls CentOS 7 DVD ISO . Tātad, turpiniet un lejupielādējiet CentOS DVD Image, ievietojiet to DVD diskdzinī un pievienojiet attēlu /mnt sistēmas ceļam, izsniedzot tālāk norādīto komandu.

DVD, nevis minimālā kompaktdiska attēla izmantošanas iemesls ir fakts, ka vēlāk šis DVD saturs tiks izmantots, lai izveidotu
FTP avotu lokāli instalētāju krātuves.

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

Ja jūsu mašīnai nav DVD diska, varat arī lejupielādēt vietni CentOS 7 DVD ISO lokāli, izmantojot wget vai čokurošanās utilītus no CentOS spoguļa un to piestiprināt.

# 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. Kad DVD saturs ir pieejams, izveidojiet direktoriju centos7 un nokopējiet CentOS 7 sāknēšanas kodolu un initrd attēlus no DVD piestiprinātās vietas mapes struktūrā 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

Šīs pieejas izmantošanas iemesls ir tas, ka vēlāk /var/lib/tftpboot ceļā varat izveidot jaunus atsevišķus direktorijus un pievienot citus Linux izplatījumus PXE izvēlnei, neizjaucot visu direktoriju struktūru.

6. darbība: izveidojiet CentOS 7 lokālā spoguļa instalēšanas avotu

11. Lai arī šajā rokasgrāmatā varat iestatīt instalācijas avota spoguļus , izmantojot dažādus protokolus, piemēram, HTTP, HTTPS vai NFS, es izvēlējos FTP protokolu, jo tas ir ļoti uzticams un viegli iestatāms ar servera vsftpd palīdzību.

Turpmāk instalējiet vsftpd dēmonu, kopējiet visu DVD pievienoto saturu uz vsftpd noklusējuma servera ceļu (/var/ftp/pub ) - tas var aizņemt kādu laiku, atkarībā no jūsu sistēmas resursiem un pievienot lasāmas atļaujas šim ceļam, izsniedzot šādas komandas.

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

7. solis: Sāciet un iespējojiet Daemons System-Wide

12. Tagad, kad PXE servera konfigurācija ir beidzot pabeigta, palaidiet DNSMASQ un VSFTPD serverus, pārbaudiet to statusu un iespējojiet to visā sistēmā, lai automātiski sāktu pēc katras sistēmas restartēšanas. izpildot zemāk norādītās komandas.

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

8. darbība: atveriet ugunsmūri un pārbaudiet FTP instalācijas avotu

13. Lai iegūtu visu to portu sarakstu, kuriem jābūt atvērtiem jūsu ugunsmūrī, lai klienta mašīnas varētu piekļūt PXE serverim un palaist no tā, palaidiet komandu netstat un pievienojiet CentOS 7 Firewalld kārtulas atbilstoši dnsmasq un vsftpd klausīšanās porti.

# 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. Lai pārbaudītu FTP instalācijas avota tīkla ceļu, pārlūkprogrammu atveriet lokāli (lūšiem tas jādara) vai citā datorā un ierakstiet sava PXE servera IP adresi ar
FTP protokols, kam seko /pub tīkla atrašanās vieta iesniegtajā URL, un rezultātam jābūt tādam, kā parādīts zemāk redzamajā ekrānuzņēmumā.

ftp://192.168.1.20/pub

15. Lai atkļūdotu PXE serveri iespējamo nepareizu konfigurāciju vai citas informācijas un diagnostikas veikšanai tiešajā režīmā, izpildiet šādu komandu.

# tailf /var/log/messages

16. Visbeidzot, pēdējais nepieciešamais solis, kas jums jādara, ir atvienot CentOS 7 DVD un noņemt fizisko datu nesēju.

# umount /mnt

9. solis: Konfigurējiet klientus sāknēšanai no tīkla

17. Tagad jūsu klienti var boot un instalēt CentOS 7 savās mašīnās, konfigurējot tīkla sāknēšanu kā primāro sāknēšanas ierīci no viņu sistēmas BIOS vai nospiežot norādīto atslēgu BIOS POST operāciju laikā. kā norādīts mātesplates rokasgrāmatā.

Lai izvēlētos tīkla sāknēšanu. Kad parādās pirmā PXE uzvedne, nospiediet taustiņu F8 , lai ievadītu prezentāciju, un pēc tam nospiediet taustiņu Enter , lai pārietu uz PXE izvēlni.

18. Kad esat sasniedzis PXE izvēlni, izvēlieties savu CentOS 7 instalācijas veidu, nospiediet taustiņu Enter un turpiniet instalēšanas procedūru tāpat, kā jūs to varētu instalēt no vietējās multivides sāknēšanas ierīces.

Lūdzu, ņemiet vērā, ka, izmantojot šīs izvēlnes 2. variantu, mērķa klientam ir nepieciešams aktīvs interneta savienojums. Arī zemāk
ekrānuzņēmumos varat redzēt klienta attālās instalēšanas piemēru, izmantojot VNC.

Tas ir viss, lai iestatītu minimālu PXE serveri vietnē CentOS 7 . Nākamajā šīs sērijas rakstā es apspriedīšu citus jautājumus, kas attiecas uz šo PXE servera konfigurāciju, piemēram, kā iestatīt automatizētas CentOS 7 instalācijas, izmantojot failus Kickstart un pievienojot citus Linux izplatījumus uz PXE izvēlni - Ubuntu Server un Debian 7 .