PXE-verkon käynnistyspalvelimen määrittäminen useille Linux-jakeluasennuksille RHEL/CentOS 7: ssä


PXE-palvelin - Preboot eXecution Environment - kehottaa asiakastietokonetta käynnistämään, suorittamaan tai asentamaan käyttöjärjestelmän suoraan verkkorajapinnasta, jolloin CD/DVD-levyjen polttaminen tai fyysisen tietovälineen käyttö ei ole tarpeen, tai voi helpottaa Linux-jakelujen asentamista verkkoinfrastruktuuriin useille koneille samanaikaisesti.

  1. CentOS 7: n vähäinen asennusmenettely
  2. RHEL 7: n vähäinen asennusmenettely
  3. Määritä staattinen IP-osoite RHEL/CentOS 7: ssä
  4. Poista ei-toivotut palvelut RHEL/CentOS 7 -palvelusta
  5. Asenna NTP-palvelin asettamaan oikea järjestelmäaika RHEL/CentOS 7: ssä

Tässä artikkelissa kerrotaan, kuinka voit asentaa ja määrittää PXE-palvelimen RHEL / CentOS 7 x64-bittisiin, peilattujen paikallisten asennustietovarastojen kanssa, toimitetut lähteet CentOS 7 DVD ISO -kuvan avulla DNSMASQ -palvelimen avulla.

Joka tarjoaa DNS ja DHCP -palvelut, Syslinux -paketin, joka tarjoaa käynnistyslataimet verkon käynnistämistä varten, TFTP-palvelin , joka tekee käynnistyskuvat, jotka on ladattavissa verkon kautta käyttämällä Trivial File Transfer Protocol (TFTP) ja VSFTPD -palvelinta, jotka isännöivät paikallista peilattuja DVD-kuvia - jotka toimivat virallisena RHEL: nä/CentOS 7: n peiliasennusvarasto, josta asennusohjelma purkaa vaaditut paketit.

Vaihe 1: Asenna ja määritä DNSMASQ Server

1. Ei tarvitse muistuttaa, mikä on ehdottoman vaativaa, että jollekin verkkokortin käyttöliittymästäsi, jos palvelimellasi on enemmän verkkokortteja, on määritettävä staattinen IP-osoite samalta IP-alueelta, joka kuuluu verkkosegmentille, joka tarjoaa PXE: n. palvelut.

Joten kun olet määrittänyt staattisen IP-osoitteen, päivittänyt järjestelmän ja suorittanut muut alkuasetukset, asenna DNSMASQ -demonemon seuraavalla komennolla.

# yum install dnsmasq

2. DNSMASQ-pääkonfiguraatiotiedosto, joka sijaitsee hakemistossa /etc , on itsestään selvä, mutta sen tarkoitus on olla melko vaikea muokata tekemällä sen erittäin kommentoidut selitykset.

Varmista ensin, että varmuuskopioit tämän tiedoston, jos haluat tarkistaa sen myöhemmin, ja luo sitten uusi tyhjä määritystiedosto suosikkitekstieditorilla antamalla seuraavat komennot.

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

3. Kopioi ja liitä seuraavat määritykset dnsmasq.conf -tiedostoon ja varmista, että muutat alla selitettyjä lauseita vastaamaan verkkoasetuksiasi.

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

Muutettavat lausunnot ovat seuraavat:

  1. käyttöliittymä - liitännät, joita palvelimen tulisi kuunnella ja tarjota palveluja.
  2. bind-interfaces - Kommentoi sitomista vain tältä käyttöliittymältä.
  3. verkkotunnus - Korvaa se verkkotunnuksellasi.
  4. dhcp-alue - Korvaa se tässä segmentissä verkkomaskin määrittelemällä IP-alueella.
  5. dhcp-boot - Korvaa IP-käsky käyttöliittymän IP-osoitteella.
  6. dhcp-option = 3 , 192.168.1.1 - Korvaa IP-osoite verkkosegmentin yhdyskäytävällä.
  7. dhcp-option = 6 , 92.168.1.1 - Korvaa IP-osoite DNS-palvelimen IP-osoitteella - useita DNS-IP-osoitteita voidaan määrittää.
  8. palvelin = 8.8.4.4 - Laita DNS-huolitsijoidesi IP-osoitteet.
  9. dhcp-option = 28 , 10.0.0.255 - Korvaa IP-osoite verkon lähetysosoitteella - valinnaisesti.
  10. dhcp-option = 42 , 0.0.0.0 - Laita verkon aikapalvelimet - valinnaisesti (0.0.0.0-osoite on tarkoitettu itse viitteeksi).
  11. pxe-prompt - Jätä se oletukseksi - tarkoittaa F8-näppäimen painamista päästäksesi valikkoon 60 sekunnin odotusajalla.
  12. pxe = palvelu - Käytä x86PC: tä 32-bittisille/64-bittisille arkkitehtuureille ja kirjoita valikkokuvauskehote merkkijonolainauskohtiin. Muita arvotyyppejä voivat olla: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI ja X86-64_EFI.
  13. enable-tftp - ottaa sisäänrakennetun TFTP-palvelimen käyttöön.
  14. tftp-root - Käytä/var/lib/tftpboot - kaikkien verkkokäynnistystiedostojen sijaintia.

Muita asetustiedostoa koskevia lisäasetuksia voit lukea dnsmasq-käyttöoppaasta.

Vaihe 2: Asenna SYSLINUX-käynnistyslataimet

4. Kun olet muokannut ja tallentanut DNSMASQ -päämääritystiedoston, asenna Syslinx PXE -käynnistyslatauspaketti antamalla seuraava komento.

# yum install syslinux

5. PXE-käynnistyslataimet-tiedostot sijaitsevat /usr/share/syslinux absoluuttisessa järjestelmän polussa, joten voit tarkistaa sen luetteloimalla polun sisällön. Tämä vaihe on valinnainen, mutta sinun on ehkä tiedettävä tämä polku, koska seuraavassa vaiheessa kopioimme kaiken sen sisällön TFTP-palvelin -polulle.

# ls /usr/share/syslinux

Vaihe 3: Asenna TFTP-palvelin ja täytä se SYSLINUX-käynnistyslataimilla

6. Siirrytään nyt seuraavaan vaiheeseen ja asennetaan TFTP-palvelin ja kopioidaan sitten kaikki Syslinux-paketin toimittamat käynnistyslataustiedostot yllä luetellusta sijainnista /var/lib/tftpboot polku antamalla seuraavat komennot.

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

Vaihe 4: Asenna PXE-palvelimen määritystiedosto

7. Yleensä PXE-palvelin lukee kokoonpanonsa tiettyjen tiedostojen ryhmästä ( GUID -tiedostot - ensin, MAC -tiedostot - seuraavaksi, Oletustiedosto - viimeinen) isännöi kansiossa nimeltä pxelinux.cfg , jonka on sijaittava DNSMASQ-pääasetustiedoston tftp-root -lausekkeessa määritetyssä hakemistossa. .

Luo vaadittu hakemisto pxelinux.cfg ja täytä se oletustiedostolla antamalla seuraavat komennot.

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

8. Nyt on aika muokata PXE Server -määritystiedostoa voimassa olevilla Linux-jakelujen asennusvaihtoehdoilla. Huomaa myös, että kaikkien tässä tiedostossa käytettyjen polkujen on oltava suhteessa hakemistoon /var/lib/tftpboot .

Alla on esimerkki kokoonpanotiedostosta, jota voit käyttää sitä, mutta muokkaa asennuskuvia (ydin- ja initrd-tiedostoja), protokollia (FTP, HTTP, HTTPS, NFS) ja IP-osoitteita vastaamaan verkon asennuslähteen arkistoja ja polkuja vastaavasti.

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

Lisää seuraava koko ote tiedostoon.

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

Kuten näette, CentOS 7: n käynnistyskuvat (ydin ja initrd) sijaitsevat hakemistossa nimeltä centos7 suhteessa /var/lib/tftpboot (absoluuttisella järjestelmäradalla tämä tarkoittaisi /var/lib/tftpboot/centos7 ) ja asennusohjelman tietovarastoihin pääsee käyttämällä FTP -protokollaa 192.168.1.20/pub -verkkosijainnissa - tässä tapauksessa repoja isännöidään paikallisesti, koska IP-osoite on sama kuin PXE-palvelimen osoite).

Myös valikossa tarra 3 määritetään, että asiakkaan asennus on tehtävä etäsijainnista VNC : n kautta (korvaa tässä VNC-salasana vahvalla salasanalla), jos asennat päätöttömälle asiakkaalle ja valikon tarra 2 määritetään
Asennuslähteet ovat CentOS 7: n virallinen Internet-peili (tässä tapauksessa tarvitaan Internet-yhteys, joka on käytettävissä asiakkaalla DHCP: n ja NAT: n kautta)

Tärkeää: Kuten yllä olevasta kokoonpanosta näet, olemme käyttäneet CentOS 7: tä esittelytarkoituksiin, mutta voit myös määrittää RHEL 7 -kuvia, ja kokonaiset ohjeet ja määritykset seuraavat vain CentOS 7: tä, joten ole varovainen jakelua valittaessa.

Vaihe 5: Lisää CentOS 7 Boot Images PXE-palvelimeen

9. Tätä vaihetta varten tarvitaan CentOS-ydin ja initrd-tiedostot. Näiden tiedostojen saamiseksi tarvitset CentOS 7 DVD ISO -kuvan. Joten mene eteenpäin ja lataa CentOS DVD Image, laita se DVD-asemaan ja kiinnitä kuva /mnt -järjestelmän polulle antamalla seuraava komento.

Syy DVD-levyn käyttämiseen eikä Minimaalinen CD-kuva on se, että myöhemmin tätä DVD-sisältöä käytettäisiin
FTP -lähteiden paikalliset asennusvarastot.

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

Jos koneellasi ei ole DVD-asemaa, voit myös ladata CentOS 7 DVD ISO paikallisesti käyttämällä wget - tai curl -apuohjelmia CentOS-peilistä ja liittää sen.

# 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. Kun DVD-sisältö on saatavilla, luo centos7 -hakemisto ja kopioi käynnistettävä CentOS 7 -ydin ja initrd-kuvat DVD-levylle asennetusta sijainnista centos7-kansiorakenteeseen.

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

Syy tämän lähestymistavan käyttämiseen on, että myöhemmin voit luoda uusia erillisiä hakemistoja /var/lib/tftpboot -polulle ja lisätä muita Linux-jakeluja PXE-valikkoon sekoittamatta koko hakemistorakennetta.

Vaihe 6: Luo CentOS 7 Local Mirror -asennuslähde

11. Vaikka Asennuksen lähdepeilit voidaan määrittää useiden protokollien, kuten HTTP, HTTPS tai NFS, kautta, oppaaksi olen valinnut FTP -protokollan, koska se on erittäin luotettava ja helppo asentaa vsftpd -palvelimen avulla.

Asenna vsftpd-daemon edelleen, kopioi kaikki DVD-asennettu sisältö vsftpd -palvelimen oletuspolulle (/var/ftp/pub ) - tämä voi kestää jonkin aikaa riippuen järjestelmän resursseista ja liittää luettavissa olevat oikeudet tälle polulle antamalla seuraavat komennot.

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

Vaihe 7: Käynnistä ja ota käyttöön Daemons System-Wide

12. Nyt kun PXE-palvelimen kokoonpano on lopullisesti valmis, käynnistä DNSMASQ ja VSFTPD -palvelimet, tarkista niiden tila ja ota se käyttöön koko järjestelmässä ja käynnisty automaattisesti jokaisen järjestelmän uudelleenkäynnistyksen jälkeen. suorittamalla alla olevat komennot.

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

Vaihe 8: Avaa palomuuri ja testaa FTP-asennuksen lähde

13. Saadaksesi luettelon kaikista palomuureista, jotka on avattava palomuurissasi, jotta asiakaslaitteet pääsevät PXE-palvelimelle ja käynnistyvät siitä, suorita netstat -komento ja lisää CentOS 7 Firewalld -säännöt dnsmasq: iin ja vsftpd-kuunteluportit.

# 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. Voit testata FTP-asennuksen lähdeverkkopolun avaamalla selaimen paikallisesti (ilveksen pitäisi tehdä se) tai toisella tietokoneella ja kirjoittamalla PXE-palvelimen IP-osoite valitsemalla
FTP-protokolla, jota seuraa /pub -verkko sijainti URL-osoitteessa, ja tuloksen tulisi olla alla olevan kuvakaappauksen mukainen.

ftp://192.168.1.20/pub

15. Voit korjata PXE-palvelimen virheellisten määritysten tai muiden tietojen ja diagnoosien varalta suorassa tilassa suorittamalla seuraavan komennon.

# tailf /var/log/messages

16. Lopuksi viimeinen vaadittava vaihe on irrottaa CentOS 7 DVD ja poistaa fyysinen tallennusväline.

# umount /mnt

Vaihe 9: Määritä asiakkaat käynnistymään verkosta

17. Nyt asiakkaasi voivat käynnistää ja asentaa CentOS 7: n koneisiinsa määrittelemällä Verkon käynnistysasetuksen ensisijaiseksi käynnistyslaitteeksi järjestelmän BIOS: sta tai lyömällä määritettyä avainta BIOS POST -toimintojen aikana. kuten emolevyn käyttöoppaassa on määritelty.

Verkon käynnistämisen valitsemiseksi. Kun ensimmäinen PXE-kehote ilmestyy, paina F8 -näppäintä päästäksesi esitykseen ja paina sitten Enter -näppäintä siirtyäksesi eteenpäin PXE-valikkoon.

18. Kun olet päässyt PXE-valikkoon, valitse CentOS 7 -asennustyyppi, paina Enter -näppäintä ja jatka asennusta samalla tavalla kuin voisit asentaa sen paikallisesta medialaitteesta.

Huomaa, että tämän valikon version 2 käyttäminen vaatii aktiivisen Internet-yhteyden kohdeasiakkaalla. Myös alapuolella
kuvakaappauksista näet esimerkin asiakkaan etäasennuksesta VNC: n kautta.

Se on kaikki, kun määrität vähäisimmän PXE-palvelimen palveluun CentOS 7 . Seuraavassa tämän sarjan artikkelissani keskustelen muista tätä PXE-palvelimen kokoonpanoa koskevista kysymyksistä, kuten CentOS 7: n automaattisten asennusten määrittämisestä Kickstart -tiedostojen avulla ja muiden Linux-jakelujen lisäämisestä PXE-valikkoon - Ubuntu Server ja Debian 7 .