Kusanidi Seva ya Kuanzisha Mtandao ya PXE kwa Usakinishaji wa Usambazaji wa Linux nyingi katika RHEL/CentOS 7


Seva ya PXE - Mazingira ya Utekelezaji ya Kuwasha Awali - huelekeza kompyuta mteja kuwasha, kuendesha au kusakinisha mfumo wa uendeshaji kuunda kiolesura cha mtandao moja kwa moja, kuondoa hitaji la kuchoma CD/DVD au kutumia kifaa halisi, au, inaweza kurahisisha kazi ya kusakinisha usambazaji wa Linux kwenye miundombinu ya mtandao wako kwenye mashine nyingi kwa wakati mmoja.

  1. Utaratibu Ndogo wa Usakinishaji wa CentOS 7
  2. Utaratibu Ndogo wa Usakinishaji wa RHEL 7
  3. Sanidi Anwani ya IP isiyobadilika katika RHEL/CentOS 7
  4. Ondoa Huduma Zisizotakikana katika RHEL/CentOS 7
  5. Sakinisha Seva ya NTP ili Kuweka Muda Sahihi wa Mfumo katika RHEL/CentOS 7

Makala haya yataeleza jinsi unavyoweza kusakinisha na kusanidi Seva ya PXE kwenye RHEL/CentOS 7 x64-bit yenye hazina za usakinishaji za ndani zilizoakisiwa, vyanzo vimetolewa. by CentOS 7 DVD ISO image, kwa usaidizi wa DNSMASQ Seva.

Ambayo hutoa huduma za DNS na DHCP, Syslinux kifurushi ambacho hutoa vipakiaji vya uanzishaji wa mtandao, TFTP-Server, ambayo hufanya picha zinazoweza kuboreshwa zinazopatikana kupakuliwa kupitia mtandao kwa kutumia Itifaki Ndogo ya Kuhamisha Faili (TFTP) na VSFTPD Seva ambayo itapangisha picha ya ndani ya DVD iliyopachikwa - ambayo itafanya kazi kama RHEL rasmi. /CentOS 7 hazina ya usakinishaji wa kioo kutoka ambapo kisakinishi kitatoa vifurushi vinavyohitajika.

Hatua ya 1: Sakinisha na usanidi Seva ya DNSMASQ

1. Hakuna haja ya kukukumbusha ambayo inadai kabisa kwamba moja ya kiolesura cha kadi yako ya mtandao, iwapo seva yako italeta NICs zaidi, lazima isanidiwe na anwani ya IP tuli kutoka kwa anuwai ya IP ambayo ni ya sehemu ya mtandao ambayo itatoa PXE. huduma.

Kwa hivyo, baada ya kusanidi Anwani yako ya IP tuli, kusasisha mfumo wako na kutekeleza mipangilio mingine ya awali, tumia amri ifuatayo kusakinisha DNSMASQ daemoni.

# yum install dnsmasq

2. Faili kuu ya usanidi chaguo-msingi ya DNSMASQ iliyoko katika saraka ya /etc inajieleza lakini inakusudia kuwa vigumu kuhariri, fanya kwa maelezo yake yenye maoni mengi.

Kwanza hakikisha umehifadhi nakala ya faili hii ikiwa utahitaji kuikagua baadaye na, kisha, unda faili mpya ya usanidi tupu kwa kutumia kihariri chako cha maandishi unachopenda kwa kutoa amri zifuatazo.

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

3. Sasa, nakili na ubandike usanidi ufuatao kwenye dnsmasq.conf faili na uhakikishe kuwa unabadilisha kauli zilizoelezwa hapa chini ili kuendana na mipangilio ya mtandao wako ipasavyo.

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

Taarifa ambazo unahitaji kubadilisha ni zifuatazo:

  1. kiolesura - Violesura ambavyo seva inapaswa kusikiliza na kutoa huduma.
  2. bind-interfaces - Usipendekeze kusweka kwenye kiolesura hiki pekee.
  3. kikoa - Badilisha kwa jina la kikoa chako.
  4. dhcp-range - Ibadilishe kwa anuwai ya IP iliyofafanuliwa na kinyago chako cha mtandao kwenye sehemu hii.
  5. dhcp-boot - Badilisha taarifa ya IP na Anwani yako ya IP ya kiolesura.
  6. dhcp-option=3,192.168.1.1 - Badilisha Anwani ya IP na Lango la sehemu ya mtandao wako.
  7. dhcp-option=6,92.168.1.1 - Badilisha Anwani ya IP na IP ya Seva yako ya DNS - IP kadhaa za DNS zinaweza kubainishwa.
  8. server=8.8.4.4 - Weka Anwani zako za IP za visambazaji DNS.
  9. dhcp-option=28,10.0.0.255 - Badilisha Anwani ya IP na anwani ya matangazo ya mtandao - kwa hiari.
  10. dhcp-option=42,0.0.0.0 - Weka seva zako za saa za mtandao - kwa hiari (0.0.0.0 Anwani ni ya kujirejelea).
  11. pxe-prompt - Iache kama chaguomsingi - inamaanisha kubofya kitufe cha F8 ili kuingiza menyu ya 60 na muda wa kusubiri wa sekunde..
  12. pxe=service - Tumia x86PC kwa usanifu wa 32-bit/64-bit na uweke kidokezo cha maelezo ya menyu chini ya nukuu za kamba. Aina zingine za maadili zinaweza kuwa: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI na X86-64_EFI.
  13. wezesha-tftp - Huwasha seva ya TFTP ya ndani.
  14. tftp-root - Tumia /var/lib/tftpboot - mahali pa faili zote za netbooting.

Kwa chaguo zingine za juu kuhusu faili ya usanidi jisikie huru kusoma mwongozo wa dnsmasq.

Hatua ya 2: Sakinisha SYSLINUX Bootloaders

4. Baada ya kuhariri na kuhifadhi DNSMASQ faili kuu ya usanidi, endelea na usakinishe Syslinx PXE kifurushi cha bootloader kwa kutoa amri ifuatayo.

# yum install syslinux

5. Faili za vipakiaji vya awali za PXE hukaa katika /usr/share/syslinux njia kamili ya mfumo, kwa hivyo unaweza kuiangalia kwa kuorodhesha maudhui ya njia hii. Hatua hii ni ya hiari, lakini huenda ukahitaji kufahamu njia hii kwa sababu katika hatua inayofuata, tutanakili maudhui yake yote kwenye njia ya Seva ya TFTP.

# ls /usr/share/syslinux

Hatua ya 3: Sakinisha Seva ya TFTP na Uijaze na Vipakiaji vya Boot vya SYSLINUX

6. Sasa, hebu tuende kwenye hatua inayofuata na kusakinisha TFTP-Server na, kisha, kunakili faili zote za vianzishaji vilivyotolewa na kifurushi cha Syslinux kutoka eneo lililoorodheshwa hapo juu hadi /var/lib/tftpboot njia kwa kutoa amri zifuatazo.

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

Hatua ya 4: Sanidi Faili ya Usanidi ya Seva ya PXE

7. Kwa kawaida Seva ya PXE husoma usanidi wake kutoka kwa kundi la faili mahususi (faili za GUID - kwanza, faili za MAC - zinazofuata, Chaguo-msingi faili - mwisho) iliyopangishwa katika folda inayoitwa pxelinux.cfg, ambayo lazima iwe katika saraka iliyobainishwa katika taarifa ya tftp-root kutoka faili kuu ya usanidi ya DNSMASQ. .

Unda saraka inayohitajika pxelinux.cfg na uijaze na faili chaguo-msingi kwa kutoa amri zifuatazo.

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

8. Sasa ni wakati wa kuhariri Seva ya PXE ya faili ya usanidi yenye chaguo sahihi za usakinishaji wa usambazaji wa Linux. Pia kumbuka kuwa njia zote zinazotumiwa katika faili hii lazima ziwe na uhusiano na saraka ya /var/lib/tftpboot.

Hapo chini unaweza kuona faili ya usanidi ya mfano ambayo unaweza kuitumia, lakini urekebishe picha za usakinishaji (faili za kernel na initrd), itifaki (FTP, HTTP, HTTPS, NFS) na IP ili kuonyesha hazina zako za chanzo cha usakinishaji wa mtandao na njia ipasavyo.

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

Ongeza dondoo nzima ifuatayo kwenye faili.

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

Kama unavyoona picha za buti za CentOS 7 (kernel na initrd) zinakaa kwenye saraka inayoitwa centos7 jamaa na /var/lib/tftpboot (kwenye njia kamili ya mfumo hii itamaanisha. /var/lib/tftpboot/centos7) na hazina za kisakinishi zinaweza kufikiwa kwa kutumia FTP itifaki kwenye 192.168.1.20/pub eneo la mtandao - katika kesi hii repos hupangishwa ndani kwa sababu anwani ya IP ni sawa na anwani ya seva ya PXE).

Pia menyu lebo ya 3 inabainisha kuwa usakinishaji wa kiteja unapaswa kufanywa kutoka eneo la mbali kupitia VNC (hapa badilisha nenosiri la VNC kwa nenosiri dhabiti) ikiwa utasakinisha kwenye kiteja kisicho na kichwa. na menyu lebo ya 2 inabainisha kama
vyanzo vya usakinishaji kioo rasmi cha Mtandao cha CentOS 7 (kesi hii inahitaji muunganisho wa Mtandao unaopatikana kwa mteja kupitia DHCP na NAT).

Muhimu: Kama unavyoona katika usanidi ulio hapo juu, tumetumia CentOS 7 kwa madhumuni ya onyesho, lakini unaweza pia kufafanua picha za RHEL 7, na kufuata maagizo na usanidi mzima unategemea CentOS 7 pekee, kwa hivyo kuwa mwangalifu unapochagua usambazaji.

Hatua ya 5: Ongeza Picha za CentOS 7 za Boot kwenye Seva ya PXE

9. Kwa hatua hii CentOS kernel na faili za initrd zinahitajika. Ili kupata faili hizo unahitaji Picha ya CentOS 7 DVD ISO. Kwa hivyo, endelea na pakua CentOS DVD Image, iweke kwenye kiendeshi chako cha DVD na uweke picha kwenye /mnt njia ya mfumo kwa kutoa amri iliyo hapa chini.

Sababu ya kutumia DVD na si Taswira Ndogo ya CD ni ukweli kwamba baadaye maudhui haya ya DVD yangetumika kuunda
hazina za kisakinishi za ndani za vyanzo vya FTP.

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

Iwapo mashine yako haina kiendeshi cha DVD unaweza pia kupakua CentOS 7 DVD ISO ndani ya nchi kwa kutumia wget au curl huduma kutoka kwa kioo cha CentOS na kuiweka.

# 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. Baada ya maudhui ya DVD kupatikana, unda saraka ya centos7 na unakili kernel inayoweza kusongeshwa ya CentOS 7 na picha za initrd kutoka eneo lililowekwa kwenye DVD hadi muundo wa folda 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

Sababu ya kutumia mbinu hii ni kwamba, baadaye unaweza kuunda saraka mpya tofauti katika /var/lib/tftpboot njia na kuongeza usambazaji mwingine wa Linux kwenye menyu ya PXE bila kuharibu muundo mzima wa saraka.

Hatua ya 6: Unda Chanzo cha Usakinishaji wa Kioo cha CentOS 7

11. Ingawa unaweza kusanidi Vioo vya Chanzo cha Usakinishaji kupitia itifaki mbalimbali kama vile HTTP, HTTPS au NFS, kwa mwongozo huu, nimechagua Itifaki ya FTP kwa sababu inategemewa sana na rahisi kusanidi kwa usaidizi wa seva ya vsftpd.

Sakinisha zaidi daemon ya vsftpd, nakili maudhui yote yaliyowekwa kwenye DVD kwenye vsftpd njia chaguo-msingi ya seva (/var/ftp/pub) - hii inaweza kuchukua muda kulingana na rasilimali za mfumo wako na kuambatanisha. ruhusa zinazoweza kusomeka kwa njia hii kwa kutoa amri zifuatazo.

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

Hatua ya 7: Anza na Wezesha Daemons System-Wide

12. Kwa kuwa usanidi wa seva ya PXE hatimaye umekamilika, anzisha seva za DNSMASQ na VSFTPD, thibitisha hali zao na uiwashe kwa mfumo mzima, ili uanze kiotomatiki baada ya kila mfumo kuwasha upya, kwa kuendesha amri zilizo hapa chini.

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

Hatua ya 8: Fungua Firewall na Jaribu Chanzo cha Usakinishaji wa FTP

13. Ili kupata orodha ya milango yote inayohitaji kufunguliwa kwenye Firewall yako ili mashine za mteja zifikie na kuwasha kutoka kwa seva ya PXE, endesha netstat amri na uongeze sheria za CentOS 7 Firewalld ipasavyo kwenye dnsmasq na. bandari za kusikiliza za vsftpd.

# 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. Ili kujaribu njia ya mtandao ya Usakinishaji wa FTP fungua kivinjari ndani yako (lynx inapaswa kuifanya) au kwenye kompyuta tofauti na uandike Anwani ya IP ya seva yako ya PXE ukitumia
Itifaki ya FTP ikifuatiwa na /pub eneo la mtandao kwenye URL iliyowasilishwa na matokeo yanapaswa kuwa kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

ftp://192.168.1.20/pub

15. Ili kutatua seva ya PXE kwa usanidi usiofaa au taarifa nyingine na uchunguzi katika hali ya moja kwa moja tumia amri ifuatayo.

# tailf /var/log/messages

16. Hatimaye, hatua ya mwisho inayohitajika ambayo unahitaji kufanya ni kuteremsha CentOS 7 DVD na kuondoa nyenzo ya kimwili.

# umount /mnt

Hatua ya 9: Sanidi Wateja ili Kuwasha kutoka kwa Mtandao

17. Sasa wateja wako wanaweza kuwasha na kusakinisha CentOS 7 kwenye mashine zao kwa kusanidi Network Boot kama kifaa kikuu cha kuwasha kutoka kwa mifumo yao ya BIOS au kwa kugonga kitufe maalum wakati wa BIOS POST ya shughuli. kama ilivyoainishwa katika mwongozo wa ubao wa mama.

Ili kuchagua uanzishaji wa mtandao. Baada ya kidokezo cha kwanza cha PXE kuonekana, bonyeza kitufe cha F8 ili kuingiza wasilisho kisha ubofye kitufe cha Enter ili kuendelea mbele kwa menyu ya PXE.

18. Mara tu unapofika kwenye menyu ya PXE, chagua aina yako ya usakinishaji ya CentOS 7, gonga kitufe cha Enter na uendelee na utaratibu wa usakinishaji kwa njia sawa na vile unavyoweza kusakinisha kutoka kwa kifaa cha kuwasha media ya ndani.

Tafadhali kumbuka kuwa kutumia lahaja 2 kutoka kwa menyu hii kunahitaji muunganisho amilifu wa Mtandao kwenye mteja lengwa. Pia, hapa chini
viwambo unaweza kuona mfano wa usakinishaji wa mbali wa mteja kupitia VNC.

Hiyo yote ni kwa ajili ya kusanidi Seva ya PXE ndogo kwenye CentOS 7. Kwenye makala yangu yajayo ya mfululizo huu, nitajadili masuala mengine kuhusu usanidi huu wa seva ya PXE kama vile jinsi ya kusanidi usakinishaji otomatiki wa CentOS 7 kwa kutumia faili za Kickstart na kuongeza usambazaji mwingine wa Linux. kwa menyu ya PXE - Seva ya Ubuntu na Debian 7.