Sakinisha Usambazaji wa Linux Nyingi Kwa Kutumia PXE Network Boot kwenye RHEL/CentOS 8


Seva ya PXE - Mazingira ya Utekelezaji ya Preboot ni usanifu sanifu wa seva-teja ambao huelekeza mfumo wa mteja kuwasha, kuendesha, au kusakinisha mifumo mingi ya uendeshaji ya Linux kwa kutumia kiolesura cha mtandao chenye uwezo wa PXE kwenye miundombinu ya mtandao wako.

    • Usakinishaji wa Seva ndogo ya CentOS 8
    • Usakinishaji wa Seva ya RHEL 8 Ndogo
    • Sanidi Anwani Tuli ya IP katika RHEL/CentOS 8

    Katika makala haya, utajifunza jinsi ya kusakinisha na kusanidi Seva ya Kuanzisha Mtandao ya PXE kwenye CentOS/RHEL 8 yenye hazina za usakinishaji za ndani zinazoakisiwa zinazotolewa na CentOS 8 na RHEL 8 ISO Images.

    Kwa usanidi huu wa Kuanzisha Mtandao wa PXE, tutasakinisha vifurushi vifuatavyo kwenye mfumo:

    • DNSMASQ – kisambaza data chepesi cha DNS ambacho hutoa huduma za DNS na DHCP zenye usaidizi wa PXE na seva ya TFTP.
    • Syslinux – kipakiaji cha kuwasha cha Linux ambacho hutoa vipakiaji vijirudishi kwa ajili ya kuwasha mtandao.
    • Seva ya TFTP – Itifaki rahisi ya Kuhamisha Faili ya lockstep ambayo huunda picha zinazoweza kuwashwa zinapatikana ili kupakuliwa kupitia mtandao.
    • Seva ya VSFTPD – itifaki salama ya kuhamisha faili ambayo itapangisha picha ya DVD iliyopachikwa ndani ya nchi - ambayo itafanya kazi kama ghala rasmi la usakinishaji wa kioo cha RHEL/CentOS 8 ambapo kisakinishi kitachukua vifurushi vinavyohitajika.

    Hatua ya 1: Sakinisha na Usanidi Seva ya DNSMASQ

    1. Ni muhimu kukukumbusha kwamba moja ya violesura vya mtandao wako lazima isanidiwe na anwani ya IP tuli kutoka kwa anuwai ya IP ya mtandao ambayo hutoa huduma za PXE.

    Baada ya kusanidi anwani tuli ya IP, sasisha vifurushi vya programu yako ya mfumo na usakinishe daemoni ya DNSMASQ.

    # dnf install dnsmasq
    

    2. Baada ya DNSMASQ kusakinishwa, utapata faili yake chaguo-msingi ya usanidi chini ya /etc/dnsmasq.conf saraka, ambayo inajieleza lakini ni ngumu zaidi kusanidi, kutokana na maelezo yake yenye maoni mengi.

    Kwanza, hakikisha kuwa umechukua nakala rudufu ya faili hii ikiwa utaihitaji ili ikague baadaye na kisha, unda faili mpya ya usanidi kwa kutumia kihariri chako unachokipenda kama inavyoonyeshwa.

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

    3. Sasa, nakili na ubandike usanidi ufuatao kwenye faili ya /etc/dnsmasq.conf na ubadilishe vigezo vya usanidi kulingana na mipangilio ya mtandao wako.

    interface=enp0s3,lo
    #bind-interfaces
    domain=tecmint
    # DHCP range-leases
    dhcp-range= enp0s3,192.168.1.3,192.168.1.253,255.255.255.0,1h
    # PXE
    dhcp-boot=pxelinux.0,pxeserver,192.168.1.2
    # 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 8 from network server 192.168.1.2", pxelinux
    enable-tftp
    tftp-root=/var/lib/tftpboot
    

    Taarifa za usanidi ambazo unahitaji kubadilisha zinafuatwa:

    • kiolesura - Miingiliano ya mtandao ya seva inapaswa kusikiliza na kutoa huduma.
    • bind-interfaces - Ondoa maoni ili kuunganisha kiolesura kwa kadi fulani ya mtandao.
    • kikoa - Badilisha kwa jina la kikoa chako.
    • dhcp-range - Ibadilishe kwa anuwai ya IP ya mtandao wako.
    • dhcp-boot - Ibadilishe na Anwani yako ya IP ya kiolesura cha mtandao.
    • dhcp-option=3,192.168.1.1 - Ibadilishe na Lango la mtandao wako.
    • dhcp-option=6,92.168.1.1 - Ibadilishe na IP ya Seva yako ya DNS.
    • server=8.8.4.4 - Ongeza Anwani zako za IP za visambazaji DNS.
    • dhcp-option=28,10.0.0.255 - Ibadilishe kwa hiari anwani yako ya IP ya tangazo la mtandao.
    • dhcp-option=42,0.0.0.0 -Ongeza seva zako za saa za mtandao (0.0.0.0 Anwani ni ya kujirejelea).
    • pxe-prompt - Iweke kama chaguomsingi.
    • pxe=service - Tumia x86PC kwa usanifu wa 32-bit/64-bit na uongeze kidokezo cha menyu chini ya nukuu za kamba.
    • wezesha-tftp - Huwasha seva ya TFTP iliyojengewa ndani.
    • tftp-root - Ongeza faili za uanzishaji mtandao mahali /var/lib/tftpboot.

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

    Hatua ya 2: Sakinisha SYSLINUX Bootloaders

    4. Baada ya usanidi mkuu wa DNSMASQ kufanywa, sakinisha kifurushi cha kupakia bootloader cha Syslinx PXE kwa kutumia amri ifuatayo.

    # dnf install syslinux
    

    5. Vipakiaji vya vijarida vya Syslinx PXE vimesakinishwa chini ya /usr/share/syslinux, unaweza kuithibitisha kwa kuendesha amri ya ls kama inavyoonyeshwa.

    # ls /usr/share/syslinux
    

    Hatua ya 3: Sakinisha Seva ya TFTP na Uinakili na Vipakiaji vya Uendeshaji vya SYSLINUX

    6. Sasa, sakinisha TFTP-Server na unakili vipakiaji vyote vya kuwasha Syslinux kutoka /usr/share/syslinux/ hadi /var/lib/tftpboot kama inavyoonyeshwa.

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

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

    7. Kwa chaguo-msingi, Seva ya PXE husoma usanidi wake kutoka kwa seti ya faili mahususi zinazopatikana katika pxelinux.cfg, ambayo lazima ipatikane katika saraka iliyofafanuliwa katika mpangilio wa tftp-root kutoka kwa faili ya usanidi ya DNSMASQ hapo juu. .

    Kwanza, unda saraka ya pxelinux.cfg na uunde faili ya default kwa kutoa amri zifuatazo.

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

    8. Sasa fungua na uhariri PXE chaguo-msingi faili ya usanidi na chaguo sahihi za usakinishaji wa usambazaji wa Linux. Pia, hakikisha kukumbuka kuwa njia zilizowekwa katika faili hii lazima ziwe na uhusiano na saraka ya /var/lib/tftpboot.

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

    Ifuatayo ni mfano wa faili ya usanidi ambayo unaweza kuitumia, lakini hakikisha umebadilisha picha za usakinishaji, itifaki na IP ili kuonyesha hazina zako za chanzo cha usakinishaji wa mtandao na maeneo ipasavyo.

    default menu.c32
    prompt 0
    timeout 300
    ONTIMEOUT local
    
    menu title ########## PXE Boot Menu ##########
    
    label 1
    menu label ^1) Install CentOS 8 x64 with Local Repo
    kernel centos8/vmlinuz
    append initrd=centos7/initrd.img method=ftp://192.168.1.2/pub devfs=nomount
    
    label 2
    menu label ^2) Install CentOS 8 x64 with http://mirror.centos.org Repo
    kernel centos8/vmlinuz
    append initrd=centos8/initrd.img method=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp
    
    label 3
    menu label ^3) Install CentOS 8 x64 with Local Repo using VNC
    kernel centos8/vmlinuz
    append  initrd=centos8/initrd.img method=ftp://192.168.1.2/pub devfs=nomount inst.vnc inst.vncpassword=password
    
    label 4
    menu label ^4) Boot from local drive
    

    Katika usanidi ulio hapo juu, unaweza kugundua kuwa picha za boot za CentOS 8 (kernel na initrd) zinakaa kwenye saraka ya centos7 inayohusiana na /var/lib/tftpboot (yaani /var/lib/tftpboot /centos7) na hazina za kisakinishi zinaweza kufikiwa kwa kutumia itifaki ya FTP kwenye 192.168.1.2/pub (anwani ya IP ya seva ya PXE).

    Pia, lebo ya menyu 2 inafafanua hazina rasmi za vyanzo vya usakinishaji vya CentOS 8 (muunganisho wa intaneti ni lazima kwenye mfumo wa mteja) na lebo ya menyu 3 inaeleza kuwa usakinishaji wa mteja unapaswa kufanywa. kupitia VNC ya mbali (hapa badilisha nenosiri la VNC na nenosiri kali).

    Muhimu: Kama unavyoona katika usanidi ulio hapo juu, tumetumia picha ya CentOS 8 kwa madhumuni ya onyesho, lakini pia unaweza kutumia picha za RHEL 8.

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

    9. Ili kuongeza picha za CentOS 8 kwenye Seva ya PXE, unahitaji wget amri na kuiweka.

    # wget http://centos.mirrors.estointernet.in/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-dvd1.iso
    # mount -o loop CentOS-8.2.2004-x86_64-dvd1.iso /mnt
    

    10. Mara tu unapopakua CentOS 8, unahitaji kuunda saraka ya centos8 na kunakili kernel inayoweza kusongeshwa na picha za initrd.

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

    Sababu ya kuwa na mbinu hii ni kwamba baadaye unaweza kuwa na saraka tofauti kwa kila usambazaji mpya wa Linux chini ya /var/lib/tftpboot bila kuharibu muundo mzima wa saraka.

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

    11. Kuna aina mbalimbali za itifaki (HTTP, HTTPS, au NFS) zinazopatikana kwa ajili ya kusanidi vioo vya chanzo cha usakinishaji cha CentOS 8, lakini nimechagua itifaki ya FTP kwa sababu ni rahisi kusanidi kwa kutumia seva ya vsftpd.

    Hebu tusakinishe seva ya Vsftpd na kunakili maudhui yote ya DVD ya CentOS 8 kwenye saraka ya FTP /var/ftp/pub kama inavyoonyeshwa.

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

    12. Sasa kwa kuwa usanidi wote wa seva ya PXE umekamilika, unaweza kuanza, kuwezesha na kuthibitisha hali ya seva za DNSMASQ na VSFTPD.

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

    13. Kisha, unahitaji kufungua milango kwenye ngome yako ili mifumo ya mteja ifikie na kuwasha kutoka kwa seva ya PXE.

    # 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 kuthibitisha eneo la mtandao la Chanzo cha Usakinishaji wa FTP, fungua kivinjari chako na uandike anwani ya IP ya Seva ya PXE kwa itifaki ya FTP ikifuatiwa na /pub eneo la mtandao.

    ftp://192.168.1.2/pub
    

    Hatua ya 7: Sanidi Wateja ili Kuwasha kutoka kwa Mtandao

    15. Sasa sanidi mifumo ya mteja ili kuwasha na kusakinisha CentOS 8 kwenye mifumo yao kwa kusanidi Boot ya Mtandao kama kifaa kikuu cha kuwasha kutoka kwenye Menyu ya BIOS.

    Baada ya kuwasha mfumo, utapata kidokezo cha PXE, ambapo unahitaji kubonyeza kitufe cha F8 ili kuingiza wasilisho na kisha ubonyeze kitufe cha Enter ili kuendelea mbele kwa menyu ya PXE.

    Hiyo yote ni kwa ajili ya kusanidi Seva ndogo ya PXE kwenye CentOS/RHEL 8.