Vyhledávání na webu

Nainstalujte více distribucí Linuxu pomocí PXE Network Boot na RHEL/CentOS 8


PXE ServerPreboot eXecution Environment je standardizovaná architektura klient-server, která dává klientskému systému pokyn ke spuštění, spuštění nebo instalaci více operačních systémů Linux pomocí síťového rozhraní s podporou PXE. na vaší síťové infrastruktuře.

Požadavky

    • Instalace CentOS 8 Minimal Server
    • Instalace RHEL 8 Minimal Server
    • Nakonfigurujte statickou IP adresu v RHEL/CentOS 8

V tomto článku se dozvíte, jak nainstalovat a nakonfigurovat PXE Network Boot Server na CentOS/RHEL 8 se zrcadlenými místními instalačními repozitáři poskytovanými CentOS 8 obrázky ISO a RHEL 8.

Pro toto nastavení PXE Network Boot nainstalujeme do systému následující balíčky:

  • DNSMASQ – lehký DNS forwarder, který poskytuje služby DNS a DHCP s podporou PXE a TFTPserver.
  • Syslinux – zavaděč Linuxu, který poskytuje zavaděče pro spouštění ze sítě.
  • TFTP Server – jednoduchý lockstep File Transfer Protocol, který vytváří bootovatelné obrazy dostupné ke stažení přes síť.
  • VSFTPD Server – protokol pro zabezpečený přenos souborů, který bude hostit lokálně připojený zrcadlený obraz DVD – který bude fungovat jako oficiální zrcadlové instalační úložiště RHEL/CentOS 8, odkud si instalační program vytáhne požadované balíčky.

Krok 1: Nainstalujte a nakonfigurujte server DNSMASQ

1. Je důležité připomenout, že jedno z vašich síťových rozhraní musí být nakonfigurováno se statickou IP adresou ze stejného síťového rozsahu IP, který poskytuje služby PXE.

Jakmile nakonfigurujete statickou IP adresu, aktualizujte balíčky systémového softwaru a nainstalujte démona DNSMASQ.

dnf install dnsmasq

2. Po instalaci DNSMASQ najdete jeho výchozí konfigurační soubor v adresáři /etc/dnsmasq.conf, což je samozřejmé, ale více obtížné konfigurovat kvůli jeho vysoce komentovaným vysvětlením.

Nejprve si vytvořte zálohu tohoto souboru pro případ, že jej budete potřebovat k pozdější kontrole, a poté vytvořte nový konfigurační soubor pomocí svého oblíbeného editoru, jak je znázorněno.

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

3. Nyní zkopírujte a vložte následující konfigurace do souboru /etc/dnsmasq.conf a změňte parametry konfigurace podle nastavení sítě.

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

Konfigurační příkazy, které potřebujete změnit, jsou následovány:

  • rozhraní – Síťová rozhraní serveru by měla naslouchat a poskytovat služby.
  • bind-interfaces – Zrušte komentář, chcete-li rozhraní svázat s danou síťovou kartou.
  • doména – Nahraďte ji názvem své domény.
  • dhcp-range – Změňte jej podle rozsahu IP adres vaší sítě.
  • dhcp-boot – Nahraďte jej adresou IP síťového rozhraní.
  • dhcp-option=3,192.168.1.1 – Nahraďte jej bránou vaší sítě.
  • dhcp-option=6,92.168.1.1 – Nahraďte jej adresou IP serveru DNS.
  • server=8.8.4.4 – Přidejte adresy IP serverů pro předávání DNS.
  • dhcp-option=28,10.0.0.255 – Volitelně jej nahraďte svou vysílanou IP adresou sítě.
  • dhcp-option=42,0.0.0.0 – Přidejte své síťové časové servery (adresa 0.0.0.0 je pro vlastní potřebu).
  • pxe-prompt – ponechte jej jako výchozí.
  • pxe=service – Použijte x86PC pro 32bitové/64bitové architektury a přidejte výzvu k popisu nabídky pod uvozovky řetězce.
  • enable-tftp – Povolí vestavěný server TFTP.
  • tftp-root – Přidejte umístění souborů pro spouštění ze sítě /var/lib/tftpboot.

Pro další pokročilé možnosti týkající se konfiguračních souborů si přečtěte manuál dnsmasq.

Krok 2: Nainstalujte bootloadery SYSLINUX

4. Po dokončení hlavní konfigurace DNSMASQ nainstalujte balíček bootloaderu Syslinx PXE pomocí následujícího příkazu.

dnf install syslinux

5. Zavaděče Syslinx PXE se instalují pod /usr/share/syslinux, můžete to potvrdit spuštěním příkazu ls, jak je znázorněno.

ls /usr/share/syslinux

Krok 3: Nainstalujte TFTP server a zkopírujte jej pomocí zavaděčů SYSLINUX

6. Nyní nainstalujte TFTP-Server a zkopírujte všechny bootloadery Syslinux z /usr/share/syslinux/ do /var/lib /tftpboot, jak je znázorněno.

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

Krok 4: Nastavte konfigurační soubor serveru PXE

7. Ve výchozím nastavení PXE Server čte svou konfiguraci ze sady specifických souborů nalezených v pxelinux.cfg, které musí být nalezeny v adresář popsaný v nastavení tftp-root z konfiguračního souboru DNSMASQ výše.

Nejprve vytvořte adresář pxelinux.cfg a vytvořte výchozí soubor zadáním následujících příkazů.

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

8. Nyní otevřete a upravte výchozí konfigurační soubor PXE se správnými možnostmi instalace distribuce Linuxu. Nezapomeňte také, že cesty nastavené v tomto souboru musí být relativní k adresáři /var/lib/tftpboot.

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

Níže je uveden příklad konfiguračního souboru, který můžete použít, ale ujistěte se, že jste změnili instalační obrazy, protokoly a adresy IP, aby odpovídajícím způsobem odrážely zdrojová úložiště a umístění vaší síťové instalace.

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

Ve výše uvedené konfiguraci si můžete všimnout, že spouštěcí obrazy CentOS 8 (kernel a initrd) jsou umístěny v centos7 > adresář relativně k /var/lib/tftpboot (tj. /var/lib/tftpboot/centos7) a k úložištím instalačního programu lze přistupovat pomocí protokolu FTP na 192.168.1.2/pub (IP adresa serveru PXE).

štítek nabídky 2 také popisuje zrcadlová úložiště oficiálních zdrojů instalace CentOS 8 (na klientském systému je nutné připojení k internetu) a štítek nabídky 3 popisuje, že by měla být provedena instalace klienta přes vzdálené VNC (zde nahraďte heslo VNC silným heslem).

Důležité: Jak vidíte ve výše uvedené konfiguraci, pro demonstrační účely jsme použili obrázek CentOS 8, ale můžete také použít Obrázky RHEL 8.

Krok 5: Přidejte spouštěcí obrazy CentOS 8 na server PXE

9. Chcete-li přidat obrazy CentOS 8 na PXE Server, musíte si lokálně stáhnout obraz CentOS 8 DVD ISO pomocí příkazu wget a připojit jej.

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. Jakmile si stáhnete CentOS 8, musíte vytvořit adresář centos8 a zkopírovat zaváděcí obrazy jádra a 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

Důvodem tohoto přístupu je to, že později můžete mít samostatné adresáře pro každou novou distribuci Linuxu pod /var/lib/tftpboot, aniž byste narušili celou strukturu adresářů.

Krok 6: Vytvořte zdroj instalace místního zrcadla CentOS 8

11. Existuje celá řada protokolů (HTTP, HTTPS nebo NFS), které lze nastavit Lokální instalační zdroj CentOS 8 zrcadlí, ale zvolil jsem protokol FTP, protože jej lze snadno nastavit pomocí serveru vsftpd.

Nainstalujme server Vsftpd a zkopírujeme veškerý obsah CentOS 8 DVD do adresáře FTP /var/ftp/pub, jak je znázorněno.

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

12. Nyní, když je veškerá konfigurace serveru PXE dokončena, můžete spustit, povolit a ověřit stav serverů DNSMASQ a VSFTPD.

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

13. Dále musíte otevřít porty na vaší bráně firewall, aby klientské systémy dosáhly a zavedly se ze serveru 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. Chcete-li ověřit síťové umístění zdroje instalace FTP, otevřete prohlížeč a zadejte IP adresu serveru PXE s protokolem FTP a poté umístění sítě /pub.

ftp://192.168.1.2/pub

Krok 7: Konfigurace klientů pro spouštění ze sítě

15. Nyní nakonfigurujte klientské systémy pro spouštění a instalaci CentOS 8 na jejich systémy tak, že v nabídce BIOS nakonfigurujete Network Boot jako hlavní spouštěcí zařízení.

Po nabootování systému se zobrazí výzva PXE, kde je třeba stisknout klávesu F8 pro vstup do prezentace a poté stisknout klávesu Enter pro přechod do nabídky PXE.

To je vše pro nastavení minimálního serveru PXE na CentOS/RHEL 8.