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


PXE-palvelin – Preboot eXecution Environment – ohjeistaa asiakastietokoneen käynnistämään, suorittamaan tai asentamaan käyttöjärjestelmän suoraan verkkoliitännästä, jolloin ei tarvitse polttaa CD-/DVD-levyä tai käyttää fyysistä tietovälinettä, tai voi helpottaa Linux-jakelujen asentamista verkkoinfrastruktuuriisi useille koneille samanaikaisesti.

Vaatimukset

  1. CentOS 7:n vähimmäisasennusmenettely
  2. RHEL 7 Minimiasennusmenettely
  3. Määritä staattinen IP-osoite RHEL/CentOS 7:ssä
  4. Poista ei-toivotut palvelut RHEL/CentOS 7:stä
  5. Asenna NTP-palvelin asettaaksesi oikean järjestelmäajan RHEL/CentOS 7:ssä

Tässä artikkelissa kerrotaan, kuinka voit asentaa ja määrittää PXE-palvelimen RHEL/CentOS 7 x64-bitin peilatuilla paikallisilla asennusvarastoilla, mukana toimitetut lähteet CentOS 7 DVD-ISO-kuvan avulla DNSMASQ Serverin avulla.

Joka tarjoaa DNS- ja DHCP-palveluita, Syslinux-paketti, joka tarjoaa käynnistyslataimet verkkokäynnistystä varten, TFTP-Server, joka tekee Käynnistyskuvat ovat ladattavissa verkon kautta käyttämällä Trivial File Transfer Protocol-protokollaa (TFTP) ja VSFTPD-palvelinta, joka isännöi paikallista asennettua peilattua DVD-kuvaa – joka toimii virallisena RHEL-tiedostona /CentOS 7:n peiliasennuksen arkisto, josta asennusohjelma purkaa tarvittavat paketit.

Vaihe 1: Asenna ja määritä DNSMASQ-palvelin

1. Sinun ei tarvitse muistuttaa, että yhdelle verkkokorttiliitännöistä on ehdottomasti määritettävä staattinen IP-osoite, joka kuuluu samalle IP-alueelle, jos palvelimellasi on enemmän verkkokortteja. verkkosegmentti, joka tarjoaa PXE-palveluita.

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

yum install dnsmasq

2. DNSMASQ:n pääoletusasetustiedosto, joka sijaitsee hakemistossa /etc, on itsestään selvä, mutta sen on tarkoitus olla melko vaikeasti muokattavissa.

Varmista ensin, että varmuuskopioit tämän tiedoston siltä varalta, että sinun on tarkistettava se myöhemmin, ja luo sitten uusi tyhjä asetustiedosto suosikkitekstieditorillasi antamalla seuraavat komennot.

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

3. Kopioi ja liitä nyt seuraavat määritykset dnsmasq.conf-tiedostoon ja varmista, että muutat alla selitetyt lauseet vastaamaan verkkoasetuksiasi vastaavasti.

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

Lausekkeet, joita sinun on muutettava, ovat seuraavat:

  1. käyttöliittymä – Liitännät, joita palvelimen tulee kuunnella ja tarjota palveluita.
  2. bind-interfaces – Poista kommentit, jos haluat sitoa vain tässä käyttöliittymässä.
  3. verkkotunnus – Korvaa se verkkotunnuksellasi.
  4. dhcp-range – Korvaa se tämän segmentin verkkomaskin määrittämällä IP-alueella.
  5. dhcp-boot – Korvaa IP-käsky käyttöliittymäsi IP-osoitteella.
  6. dhcp-option=3,192.168.1.1 – Korvaa IP-osoite verkkosegmentilläsi yhdyskäytävällä.
  7. dhcp-option=6,92.168.1.1 – Korvaa IP-osoite DNS-palvelimesi IP-osoitteella – useita DNS-IP-osoitteita voidaan määrittää.
  8. palvelin=8.8.4.4 – Aseta DNS-välittäjien IP-osoitteet.
  9. dhcp-option=28,10.0.0.255 – Korvaa IP-osoite verkkolähetysosoitteella – valinnaisesti.
  10. dhcp-option=42,0.0.0.0 – Aseta verkkoaikapalvelimet – valinnaisesti (0.0.0.0 osoite on itseviittaus).
  11. pxe-prompt – Jätä se oletukseksi – tarkoittaa F8-näppäimen painamista siirtyäksesi valikkoon 60 sekunnin odotusajalla.
  12. pxe=service – Käytä x86PC:tä 32-/64-bittisissä arkkitehtuureissa ja kirjoita valikon kuvauskehote merkkijonolainausmerkkien alle. Muut arvotyypit 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 käyttöön sisäänrakennetun TFTP-palvelimen.
  14. tftp-root – Käytä /var/lib/tftpboot – kaikkien verkkokäynnistystiedostojen sijaintia.

Lue dnsmasq-käsikirja, jos haluat lisätietoja asetustiedostoon liittyvistä lisävaihtoehdoista.

Vaihe 2: Asenna SYSLINUX Bootloaders

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

yum install syslinux

5. PXE-käynnistyslatainten tiedostot sijaitsevat /usr/share/syslinux absoluuttisessa järjestelmäpolussa, joten voit tarkistaa sen luettelemalla polun sisällön. Tämä vaihe on valinnainen, mutta sinun on ehkä oltava tietoinen tästä polusta, koska seuraavassa vaiheessa kopioimme sen kaiken sisällön TFTP-palvelimen 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-Server ja kopioidaan sitten kaikki Syslinux-paketin toimittamat bootloder-tiedostot yllä mainitusta sijainnista osoitteeseen / var/lib/tftpboot -polun 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 määrityksensä tiettyjen tiedostojen ryhmästä (GUID-tiedostot – ensin MAC tiedostot – seuraava, Oletus tiedosto – viimeinen) isännöidään kansiossa nimeltä pxelinux.cfg, jonka on sijaittava tftp-root:ssa määritetyssä hakemistossa. > lauseke DNSMASQ:n pääasetustiedostosta.

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 kelvollisilla Linux-jakelujen asennusvaihtoehdoilla. Huomaa myös, että kaikkien tässä tiedostossa käytettyjen polkujen on oltava suhteessa /var/lib/tftpboot-hakemistoon.

Alla näet esimerkin konfiguraatiotiedostosta, jota voit käyttää, mutta muokkaa asennusotoksia (ydin- ja initrd-tiedostot), protokollia (FTP, HTTP, HTTPS, NFS) ja IP-osoitteita vastaamaan verkon asennuslähdetietovarastoja 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äynnistysotokset (ydin ja initrd) sijaitsevat hakemistossa centos7 suhteessa /var/lib/tftpboot-hakemistoon (absoluuttisella järjestelmäpolulla tämä tarkoittaisi /var/lib/tftpboot/centos7) ja asennusohjelman tietovarastot voidaan saavuttaa FTP-protokollan avulla verkkosijainnissa 192.168.1.20/pub – tässä tapauksessa varastot isännöidään paikallisesti, koska IP-osoite on sama kuin PXE-palvelimen osoite).

Myös valikon tunniste 3 määrittää, että asiakkaan asennus tulee tehdä etäpaikasta VNC:n kautta (tässä korvaa VNC-salasana vahvalla salasanalla), jos asennat päättömään asiakaskoneeseen. ja valikko tunniste 2 määrittää muodossa
asennus lähtee CentOS 7:n virallisesta Internet-peilistä (tämä tapaus vaatii Internet-yhteyden, joka on saatavilla asiakaskoneessa DHCP:n ja NAT:n kautta).

Tärkeää: Kuten yllä olevasta kokoonpanosta näet, olemme käyttäneet CentOS 7:ää esittelytarkoituksessa, mutta voit myös määrittää RHEL 7 -kuvia ja noudattaa kokonaisia ohjeita ja määrityksiä. perustuvat vain CentOS 7:ään, joten ole varovainen valitessasi jakelua.

Vaihe 5: Lisää CentOS 7 -käynnistyskuvat PXE-palvelimeen

9. Tätä vaihetta varten tarvitaan CentOS-ydin- ja initrd-tiedostot. Näiden tiedostojen saamiseksi tarvitset CentOS 7 DVD ISO -kuvan. Lataa siis CentOS DVD Image, aseta se DVD-asemaan ja liitä kuva /mnt järjestelmäpolkuun antamalla alla oleva komento.

Syy DVD-levyn käyttämiseen Minimaali-CD-kuvan sijaan on se, että tätä DVD-sisältöä käytetään myöhemmin
paikalliset asennusohjelmavarastot FTP-lähteille.

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

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

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 CentOS 7:n käynnistysydin ja initrd-kuvat DVD-liitännästä 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ähän lähestymistapaan on se, että myöhemmin voit luoda uusia erillisiä hakemistoja /var/lib/tftpboot-polulle ja lisätä muita Linux-jakeluita PXE-valikkoon sotkematta koko hakemistorakennetta.

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

11. Vaikka voit määrittää Asennuslähdepeilit useiden protokollien, kuten HTTP, HTTPS tai NFS, kautta, olen valinnut tässä oppaassa FTP:n > protokollaa, koska se on erittäin luotettava ja helppo asentaa vsftpd-palvelimen avulla.

Asenna vsftpd-daemon edelleen, kopioi kaikki DVD-levyyn liitetty sisältö vsftpd-oletuspalvelinpolkuun (/var/ftp/pub) – tämä voi kestää hetken riippuen järjestelmäresursseistasi ja liittämisestä lukuoikeudet 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 määritykset on vihdoin valmis, käynnistä DNSMASQ- ja VSFTPD-palvelimet, tarkista niiden tila ja ota se käyttöön koko järjestelmän osalta. käynnistyy 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-asennuslähde

13. Saat luettelon kaikista porteista, joiden on oltava avoinna palomuurissasi, jotta asiakaskoneet voivat saavuttaa yhteyden ja käynnistyä PXE-palvelimelta, suorittamalla netstat-komento ja lisäämällä CentOS 7 Palomuuri noudattaa dnsmasq- ja vsftpd-kuunteluportteja.

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. FTP-asennuksen lähteen verkkopolun testaamiseksi avaa selain paikallisesti (lynxin pitäisi tehdä se) tai toisella tietokoneella ja kirjoita PXE-palvelimesi IP-osoite
FTP-protokolla, jota seuraa /pub verkkosijainti arkistoidussa URL-osoitteessa, ja tuloksen pitäisi olla alla olevan kuvakaappauksen mukainen.

ftp://192.168.1.20/pub

15. Virheenkorjaaksesi PXE-palvelimen mahdolliset virheelliset kokoonpanot tai muut tiedot ja diagnostiikka live-tilassa suorita seuraava komento.

tailf /var/log/messages

16. Lopuksi viimeinen pakollinen vaihe, joka sinun on tehtävä, on irrottaa CentOS 7 -DVD ja poistaa fyysinen tietoväline.

umount /mnt

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

17. Nyt asiakkaasi voivat käynnistää ja asentaa CentOS 7:n koneilleen määrittämällä verkkokäynnistyksen ensisijaiseksi käynnistyslaitteeksi järjestelmän BIOSissa tai painamalla tiettyä näppäintä BIOS POST -toiminnot emolevyn käyttöoppaan mukaisesti.

Verkkokäynnistyksen valitsemiseksi. Kun ensimmäinen PXE-kehote tulee näkyviin, paina F8-näppäintä avataksesi esityksen ja paina sitten Enter-näppäintä siirtyäksesi eteenpäin PXE-valikkoon.

18. Kun olet avannut PXE-valikon, valitse CentOS 7 -asennustyyppi, paina Enter-näppäintä ja jatka asennusta samalla tavalla kuin asennat sen paikalliselta median käynnistyslaite.

Huomaa, että tämän valikon vaihtoehdon 2 käyttö vaatii aktiivisen Internet-yhteyden kohdeasiakkaassa. Myös alla
kuvakaappauksissa voit nähdä esimerkin asiakkaan etäasennuksesta VNC:n kautta.

Siinä kaikki minimaalisen PXE-palvelimen määrittämiseen CentOS 7:ssä. Seuraavassa artikkelissani tästä sarjasta käsittelen muita tähän PXE-palvelinkokoonpanoon liittyviä ongelmia, kuten CentOS 7:n automaattisten asennukset Kickstart-tiedostojen avulla ja muiden Linux-jakelujen lisäämistä. PXE-valikkoon – Ubuntu Server ja Debian 7.