ຕິດຕັ້ງການແຈກຈ່າຍ Linux ຫລາຍໆແບບໂດຍໃຊ້ Boot Network PXE ເທິງ RHEL/CentOS 8


PXE Server - Preboot eXecution Environment ແມ່ນສະຖາປັດຕະຍະ ກຳ ຂອງລູກຄ້າເຊີຟເວີທີ່ໄດ້ມາດຕະຖານເຊິ່ງໄດ້ແນະ ນຳ ໃຫ້ລະບົບລູກຄ້າສາມາດໃສ່ເກີບ, ແລ່ນ, ຫຼືຕິດຕັ້ງລະບົບປະຕິບັດການ Linux ຫລາຍໆແບບໂດຍໃຊ້ອິນເຕີເຟດທີ່ມີຄວາມສາມາດ PXE ໃນໂຄງສ້າງພື້ນຖານເຄືອຂ່າຍຂອງທ່ານ.

    • ການຕິດຕັ້ງ CentOS 8 Minimal Server
    • ຕິດຕັ້ງ RHEL 8 Minimal Server
    • ຕັ້ງຄ່າ IP Address Static ໃນ RHEL/CentOS 8

    ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ PXE Network Boot Server ໃນ CentOS/RHEL 8 ໂດຍມີບ່ອນເກັບມ້ຽນທີ່ຕິດຕັ້ງໃນທ້ອງຖິ່ນທີ່ສະທ້ອນໂດຍ CentOS 8 ແລະ RHEL 8 ISO Images.

    ສຳ ລັບຊຸດ PXE Network Boot ນີ້, ພວກເຮົາຈະຕິດຕັ້ງແພັກເກດດັ່ງຕໍ່ໄປນີ້ໃນລະບົບ:

    • DNSMASQ - ຜູ້ສົ່ງຕໍ່ DNS ທີ່ມີນ້ ຳ ໜັກ ເບົາທີ່ໃຫ້ບໍລິການ DNS ແລະ DHCP ພ້ອມສະ ໜັບ ສະ ໜູນ PXE ແລະ server TFTP.
    • Syslinux - Linux bootloader ທີ່ໃຫ້ການໂຫຼດເກີບ ສຳ ລັບການບູດເຄືອຂ່າຍ
    • TFTP Server - ລະບົບການໂອນຍ້າຍເອກະສານງ່າຍໆທີ່ສາມາດດາວໂຫລດໄດ້ຜ່ານເຄືອຂ່າຍ.
    • VSFTPD Server - ໂປແກຼມໂອນຍ້າຍໄຟລ໌ທີ່ປອດໄພເຊິ່ງຈະເປັນເຈົ້າພາບຮູບພາບດີວີດີທີ່ໄດ້ຮັບການຕິດຕັ້ງຢູ່ໃນທ້ອງຖິ່ນ - ເຊິ່ງຈະເຮັດ ໜ້າ ທີ່ເປັນບ່ອນເກັບມ້ຽນບ່ອນຕິດຕັ້ງ RHEL/CentOS 8 ຢ່າງເປັນທາງການຈາກບ່ອນທີ່ຜູ້ຕິດຕັ້ງຈະອອກຊຸດທີ່ ຈຳ ເປັນ.

    ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ DNSMASQ Server

    1. ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະເຕືອນທ່ານວ່າ ໜຶ່ງ ໃນອິນເຕີເຟດເຄືອຂ່າຍຂອງທ່ານຕ້ອງໄດ້ຮັບການຕັ້ງຄ່າດ້ວຍທີ່ຢູ່ IP ຄົງທີ່ຈາກລະດັບ IP ເຄືອຂ່າຍດຽວກັນທີ່ໃຫ້ບໍລິການ PXE.

    ເມື່ອທ່ານໄດ້ຕັ້ງຄ່າທີ່ຢູ່ IP ແບບຄົງທີ່, ປັບປຸງຊຸດຊອບແວຂອງລະບົບຂອງທ່ານແລະຕິດຕັ້ງ daemon DNSMASQ.

    # dnf install dnsmasq
    

    2. ເມື່ອ DNSMASQ ຕິດຕັ້ງແລ້ວ, ທ່ານຈະພົບເອກະສານການຕັ້ງຄ່າເລີ່ມຕົ້ນຂອງມັນຢູ່ພາຍໃຕ້ໄດເລກະທໍລີ /etc/dnsmasq.conf , ເຊິ່ງມັນເປັນ ຄຳ ອະທິບາຍດ້ວຍຕົນເອງແຕ່ມີຄວາມຫຍຸ້ງຍາກໃນການ ກຳ ນົດ, ເນື່ອງຈາກ ຄຳ ອະທິບາຍທີ່ໄດ້ຮັບການຕີລາຄາສູງ.

    ກ່ອນອື່ນ ໝົດ, ຕ້ອງຮັບປະກັນວ່າຈະ ສຳ ຮອງຂໍ້ມູນເອກະສານນີ້ໃນກໍລະນີທີ່ທ່ານອາດຈະຕ້ອງການໃຫ້ມີການທົບທວນໃນພາຍຫຼັງແລະຕໍ່ມາ, ສ້າງເອກະສານການຕັ້ງຄ່າ ໃໝ່ ໂດຍໃຊ້ບັນນາທິການທີ່ທ່ານມັກຕາມທີ່ສະແດງໄວ້.

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

    3. ດຽວນີ້ຄັດລອກແລະວາງການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃສ່ແຟ້ມ /etc/dnsmasq.conf ແລະປ່ຽນຕົວ ກຳ ນົດການຕັ້ງຄ່າຕາມການຕັ້ງຄ່າເຄືອຂ່າຍຂອງທ່ານ.

    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
    

    ໃບລາຍງານການຕັ້ງຄ່າທີ່ທ່ານຕ້ອງການປ່ຽນແປງແມ່ນປະຕິບັດຕາມ:

    • ອິນເຕີເຟດ - ອິນເຕີເຟດເຄືອຂ່າຍຂອງເຊີບເວີຄວນຟັງແລະໃຫ້ບໍລິການ.
    • bind-interfaces - ຄວາມບໍ່ລົງລອຍກັນທີ່ຈະຜູກອິນເຕີເຟດກັບບັດເຄືອຂ່າຍທີ່ໄດ້ມອບໃຫ້
    • ໂດເມນ - ປ່ຽນແທນດ້ວຍຊື່ໂດເມນຂອງທ່ານ.
    • dhcp-range - ປ່ຽນມັນກັບລະດັບ IP ເຄືອຂ່າຍຂອງທ່ານ.
    • dhcp-boot - ປ່ຽນມັນດ້ວຍທີ່ຢູ່ IP ຂອງອິນເຕີເຟດເຄືອຂ່າຍຂອງທ່ານ.
    • dhcp-option = 3,192.168.1.1 - ປ່ຽນ ໃໝ່ ດ້ວຍເຄືອຂ່າຍ Gateway ຂອງທ່ານ.
    • dhcp-option = 6,92.168.1.1 - ແທນມັນດ້ວຍ DNS Server IP ຂອງທ່ານ.
    • server = 8.8.4.4 - ເພີ່ມທີ່ຢູ່ IP ຂອງຜູ້ສົ່ງຕໍ່ IP ຂອງທ່ານ.
    • dhcp-option = 28,10.0.0.255 - ປ່ຽນມັນດ້ວຍທີ່ຢູ່ IP ຂອງທ່ານທີ່ອອກອາກາດທາງເຄືອຂ່າຍ.
    • dhcp-option = 42,0.0.0.0 - ຕື່ມເຄື່ອງແມ່ຂ່າຍເວລາຂອງເຄືອຂ່າຍຂອງທ່ານ (0.0.0.0 ທີ່ຢູ່ແມ່ນເພື່ອການອ້າງອີງຕົນເອງ).
    • pxe-prompt - ຮັກສາມັນໄວ້ໃນຕອນຕົ້ນ.
    • pxe = ການບໍລິການ - ໃຊ້ x86PC ສຳ ລັບສະຖາປັດຕະຍະ ກຳ 32-bit/64-bit ແລະເພີ່ມ ຄຳ ສັ່ງລາຍລະອຽດກ່ຽວກັບເມນູພາຍໃຕ້ວົງຢືມສາຍ.
    • enable-tftp - ສາມາດເຮັດໃຫ້ເຊີບເວີ TFTP ທີ່ສ້າງຂຶ້ນມາ.
    • tftp-root - ເພີ່ມສະຖານທີ່ໄຟລ໌ບູດຂອງເຄືອຂ່າຍ/var/lib/tftpboot.

    ສຳ ລັບຕົວເລືອກຂັ້ນສູງອື່ນໆທີ່ກ່ຽວຂ້ອງກັບເອກະສານການຕັ້ງຄ່າມີຄວາມຮູ້ສຶກໃຫ້ອ່ານປື້ມຄູ່ມື dnsmasq.

    ຂັ້ນຕອນທີ 2: ຕິດຕັ້ງ SYSLINUX Bootloaders

    4. ຫຼັງຈາກການຕັ້ງຄ່າຕົ້ນຕໍຂອງ DNSMASQ ແລ້ວ, ຕິດຕັ້ງຊຸດ bootloader Syslinx PXE ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # dnf install syslinux
    

    5. ລະບົບ bootloaders Syslinx PXE ຖືກຕິດຕັ້ງຢູ່ພາຍໃຕ້ /usr/share/syslinux , ທ່ານສາມາດຢືນຢັນມັນໄດ້ໂດຍການແລ່ນ ຄຳ ສັ່ງ ls ດັ່ງທີ່ສະແດງໄວ້.

    # ls /usr/share/syslinux
    

    ຂັ້ນຕອນທີ 3: ຕິດຕັ້ງ TFTP-Server ແລະຄັດລອກມັນດ້ວຍ SYSLINUX Bootloaders

    6. ດຽວນີ້ຕິດຕັ້ງ TFTP-Server ແລະ ສຳ ເນົາ bootloaders Syslinux ທັງ ໝົດ ຈາກ /usr/share/syslinux/ ໄປ /var/lib/tftpboot ດັ່ງທີ່ເຫັນ.

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

    ຂັ້ນຕອນທີ 4: ຕັ້ງຄ່າເອກະສານການຕັ້ງຄ່າ Server PXE

    7. ໂດຍຄ່າເລີ່ມຕົ້ນ, PXE Server ອ່ານການຕັ້ງຄ່າຂອງມັນຈາກຊຸດຂອງເອກະສານສະເພາະທີ່ພົບໃນ pxelinux.cfg , ເຊິ່ງຕ້ອງມີຢູ່ໃນໄດເລກະທໍລີທີ່ອະທິບາຍໄວ້ໃນການຕັ້ງຄ່າ tftp-root ຈາກເອກະສານການຕັ້ງຄ່າ DNSMASQ ຂ້າງເທິງ .

    ທຳ ອິດ, ສ້າງໄດເລກະທໍລີ pxelinux.cfg ແລະສ້າງແຟ້ມ ຄ່າເລີ່ມຕົ້ນ ໂດຍການອອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

    8. ຕອນນີ້ເປີດແລະແກ້ໄຂເອກະສານການຕັ້ງຄ່າ PXE default ກັບຕົວເລືອກການຕິດຕັ້ງການແຈກຈ່າຍ Linux ທີ່ຖືກຕ້ອງ. ນອກຈາກນີ້, ໃຫ້ແນ່ໃຈວ່າຈື່ໄວ້ວ່າເສັ້ນທາງທີ່ຖືກ ກຳ ນົດໄວ້ໃນເອກະສານນີ້ຕ້ອງມີຄວາມກ່ຽວຂ້ອງກັບໄດເລກະທໍລີ /var/lib/tftpboot .

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

    ຕໍ່ໄປນີ້ແມ່ນເອກະສານການຕັ້ງຄ່າຕົວຢ່າງທີ່ທ່ານສາມາດໃຊ້ມັນ, ແຕ່ໃຫ້ແນ່ໃຈວ່າທ່ານຕ້ອງປ່ຽນຮູບພາບການຕິດຕັ້ງ, ໂປໂຕຄອນແລະ IP ເພື່ອສະທ້ອນໃຫ້ເຫັນຫໍສະ ໝຸດ ແລະສະຖານທີ່ຕິດຕັ້ງເຄືອຂ່າຍຂອງທ່ານຕາມຄວາມ ເໝາະ ສົມ.

    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
    

    ໃນການຕັ້ງຄ່າຂ້າງເທິງນີ້, ທ່ານສາມາດສັງເກດໄດ້ວ່າຮູບພາບ bootOS CentOS 8 (kernel ແລະ initrd) ແມ່ນຢູ່ໃນໄດເລກະທໍລີ centos7 ທີ່ກ່ຽວຂ້ອງກັບ /var/lib/tftpboot (ເຊັ່ນ: /var/lib/tftpboot/centos7 ) ແລະຫໍສະມຸດຕິດຕັ້ງສາມາດເຂົ້າເບິ່ງໄດ້ໂດຍການໃຊ້ໂປໂຕຄອນ FTP ໃນລະຫັດ <192> 192.168.1.2/pub (ທີ່ຢູ່ IP ຂອງເຊີບເວີ PXE).

    ພ້ອມກັນນັ້ນ, ປ້າຍ

    ປ້າຍຊື່ 2 ໄດ້ອະທິບາຍເຖິງບ່ອນເກັບມ້ຽນບ່ອນຕິດຕັ້ງຂອງ CentOS 8 ຢ່າງເປັນທາງການ (ການເຊື່ອມຕໍ່ອິນເຕີເນັດແມ່ນຕ້ອງມີຢູ່ໃນລະບົບລູກຄ້າ) ແລະ ປ້າຍເມນູ 3 ອະທິບາຍວ່າການຕິດຕັ້ງລູກຄ້າຄວນເຮັດ ຜ່ານ VNC ຫ່າງໄກສອກຫຼີກ (ໃນທີ່ນີ້ແທນລະຫັດຜ່ານ VNC ດ້ວຍລະຫັດຜ່ານທີ່ແຂງແຮງ).

    ສິ່ງ ສຳ ຄັນ: ດັ່ງທີ່ທ່ານໄດ້ເຫັນໃນການຕັ້ງຄ່າຂ້າງເທິງ, ພວກເຮົາໄດ້ໃຊ້ຮູບພາບ CentOS 8 ເພື່ອຈຸດປະສົງການສາທິດ, ແຕ່ທ່ານຍັງສາມາດໃຊ້ຮູບພາບ RHEL 8 ໄດ້.

    ຂັ້ນຕອນທີ 5: ເພີ່ມ CentOS 8 Boot Image ໃສ່ PXE Server

    9. ເພື່ອເພີ່ມຮູບພາບ CentOS 8 ເຂົ້າໃນ PXE Server, ທ່ານ ຈຳ ເປັນຕ້ອງດາວໂຫລດ CentOS 8 DVD ISO Image ຢູ່ໃນທ້ອງຖິ່ນໂດຍໃຊ້ wget ຄຳ ສັ່ງແລະຕິດຕັ້ງມັນ.

    # 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. ເມື່ອທ່ານໄດ້ດາວໂຫລດ CentOS 8 ແລ້ວ, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງໄດເລກະທໍລີ centos7 ແລະ ສຳ ເນົາຮູບທີ່ສາມາດເລີ່ມຕົ້ນໄດ້.

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

    ເຫດຜົນທີ່ຢູ່ເບື້ອງຫລັງມີວິທີການນີ້ແມ່ນວ່າຕໍ່ມາທ່ານສາມາດມີໄດເລກະທໍລີແຍກຕ່າງຫາກ ສຳ ລັບການແຈກແຈງ Linux ໃໝ່ ແຕ່ລະອັນພາຍໃຕ້ /var/lib/tftpboot ໂດຍບໍ່ເຮັດໃຫ້ເກີດໂຄງສ້າງຂອງໄດເລກະທໍລີທັງ ໝົດ.

    ຂັ້ນຕອນທີ 6: ສ້າງ CentOS 8 ແຫລ່ງຕິດຕັ້ງບ່ອນແລກປ່ຽນຄວາມທ້ອງຖິ່ນ

    11. ມີຫຼາຍໂປໂຕຄອນ (HTTP, HTTPS, ຫຼື NFS) ທີ່ມີໃຫ້ ສຳ ລັບຕັ້ງຄ່າແວ່ນແຫຼ່ງແຫຼ່ງຕິດຕັ້ງຂອງ CentOS 8, ແຕ່ຂ້ອຍໄດ້ເລືອກໂປໂຕຄອນ FTP ເພາະມັນງ່າຍຕໍ່ການຕັ້ງຄ່າໂດຍໃຊ້ server vsftpd.

    ໃຫ້ຕິດຕັ້ງເຊີບເວີ Vsftpd ແລະຄັດລອກເນື້ອຫາ DVD CentOS 8 ທັງ ໝົດ ໃສ່ໃນລະບົບ FTP /var/ftp/pub ດັ່ງທີ່ສະແດງ.

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

    12. ດຽວນີ້ການຕັ້ງຄ່າຂອງ server ທັງ ໝົດ PXE ສຳ ເລັດແລ້ວ, ທ່ານສາມາດເລີ່ມຕົ້ນ, ເປີດໃຊ້ງານແລະກວດສອບສະຖານະຂອງເຊີຟເວີ DNSMASQ ແລະ VSFTPD.

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

    13. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດພອດຕ່າງໆເທິງ firewall ຂອງທ່ານເພື່ອໃຫ້ລະບົບລູກຄ້າສາມາດເຂົ້າເຖິງແລະ boot ຈາກ server 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. ເພື່ອກວດສອບສະຖານທີ່ເຄືອຂ່າຍ FTP Installation Source, ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານແລະພິມທີ່ຢູ່ IP ຂອງ PXE Server ພ້ອມກັບໂປໂຕຄອນ FTP ຕາມດ້ວຍ /pub ສະຖານທີ່ເຄືອຂ່າຍ.

    ftp://192.168.1.2/pub
    

    ຂັ້ນຕອນທີ 7: ຕັ້ງຄ່າ Clients ໃຫ້ Boot ຈາກ Network

    15. ຕອນນີ້ ກຳ ນົດລະບົບລູກຄ້າໃຫ້ບູດແລະຕິດຕັ້ງ CentOS 8 ໃນລະບົບຂອງພວກເຂົາໂດຍການຕັ້ງຄ່າ Network Boot ເປັນອຸປະກອນ boot ຕົ້ນຕໍຈາກ BIOS Menu.

    ຫຼັງຈາກເກີບລະບົບ, ທ່ານຈະໄດ້ຮັບ ຄຳ ສັ່ງ PXE, ເຊິ່ງທ່ານ ຈຳ ເປັນຕ້ອງກົດປຸ່ມ F8 ເພື່ອເຂົ້າໄປໃນການ ນຳ ສະ ເໜີ ແລະຈາກນັ້ນກົດປຸ່ມ Enter ເພື່ອ ດຳ ເນີນການຕໍ່ໄປທີ່ເມນູ PXE.

    ນັ້ນແມ່ນທັງ ໝົດ ສຳ ລັບການຕັ້ງຄ່າ Server PXE ໜ້ອຍ ທີ່ສຸດໃນ CentOS/RHEL 8.