RHEL/CentOS 8'de PXE Ağ Önyüklemesini Kullanarak Birden Çok Linux Dağıtımı Kurun


PXE SunucusuÖnyükleme Öncesi Yürütme Ortamı, bir istemci sistemine PXE özellikli bir ağ arayüzü kullanarak birden fazla Linux işletim sistemini başlatması, çalıştırması veya kurması talimatını veren standartlaştırılmış bir istemci-sunucu mimarisidir. ağ altyapınızda.

Gereksinimler

    • CentOS 8 Minimal Sunucu Kurulumu
    • RHEL 8 Minimal Sunucunun Kurulumu
    • RHEL/CentOS 8'de Statik IP Adresini Yapılandırma

Bu makalede, CentOS/RHEL 8 üzerinde CentOS 8 tarafından sağlanan yansıtılmış yerel kurulum depolarıyla bir PXE Ağ Önyükleme Sunucusunun nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz. Strong> ve RHEL 8 ISO Görüntüleri.

Bu PXE Ağ Önyükleme kurulumu için sisteme aşağıdaki paketleri yükleyeceğiz:

  • DNSMASQPXE ve desteğiyle DNS ve DHCP hizmetleri sağlayan hafif bir DNS ileticisi TFTP sunucusu.
  • Syslinux – ağda önyükleme için önyükleme yükleyicileri sağlayan bir Linux önyükleme yükleyicisi.
  • TFTP Sunucusu – bir ağ üzerinden indirilebilecek önyüklenebilir görüntüler oluşturan basit, adım adım bir Dosya Aktarım Protokolü.
  • VSFTPD Sunucusu - yerel olarak monte edilmiş yansıtılmış DVD görüntüsünü barındıracak güvenli bir dosya aktarım protokolü - yükleyicinin gerekli paketleri alacağı resmi bir RHEL/CentOS 8 yansıtma kurulum deposu görevi görecek.

1. Adım: DNSMASQ Sunucusunu Kurun ve Yapılandırın

1. Ağ arayüzlerinizden birinin, PXE hizmetleri sağlayan aynı ağ IP aralığındaki statik bir IP adresiyle yapılandırılması gerektiğini hatırlatmak isteriz.

Statik bir IP adresi yapılandırdıktan sonra sistem yazılım paketlerinizi güncelleyin ve DNSMASQ arka plan programını yükleyin.

dnf install dnsmasq

2. DNSMASQ kurulduktan sonra, varsayılan yapılandırma dosyasını /etc/dnsmasq.conf dizini altında bulacaksınız; bu, kendi kendini açıklayan ancak daha fazlasıdır Çok fazla yorum yapılan açıklamaları nedeniyle yapılandırılması zordur.

Öncelikle, daha sonra incelemeniz gerekebilir diye bu dosyanın yedeğini aldığınızdan emin olun ve ardından gösterildiği gibi favori düzenleyicinizi kullanarak yeni bir yapılandırma dosyası oluşturun.

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

3. Şimdi aşağıdaki yapılandırmaları /etc/dnsmasq.conf dosyasına kopyalayıp yapıştırın ve yapılandırma parametrelerini ağ ayarlarınıza göre değiştirin.

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

Değiştirmeniz gereken konfigürasyon ifadeleri takip edilir:

  • arayüz – Sunucunun ağ arayüzleri dinlemeli ve hizmet sağlamalıdır.
  • bind-interfaces – Arayüzü belirli bir ağ kartına bağlamak için açıklamayı kaldırın.
  • alan – Alan adınızla değiştirin.
  • dhcp-range – Ağınızın IP aralığıyla değiştirin.
  • dhcp-boot – Bunu ağ arayüzünüzün IP Adresiyle değiştirin.
  • dhcp-option=3,192.168.1.1 – Bunu ağ Ağ Geçidiniz ile değiştirin.
  • dhcp-option=6,92.168.1.1 – Bunu DNS Sunucusu IP'nizle değiştirin.
  • server=8.8.4.4 – DNS ileticilerinizin IP Adreslerini ekleyin.
  • dhcp-option=28,10.0.0.255 – İsteğe bağlı olarak bunu ağ yayın IP adresinizle değiştirin.
  • dhcp-option=42,0.0.0.0 -Ağ zaman sunucularınızı ekleyin (0.0.0.0 Adresi kişisel referans içindir).
  • pxe-prompt – Varsayılan olarak kalsın.
  • pxe=service – 32 bit/64 bit mimariler için x86PC kullanın ve dize tırnaklarının altına bir menü açıklaması istemi ekleyin.
  • enable-tftp – Yerleşik TFTP sunucusunu etkinleştirir.
  • tftp-root – Ağ önyükleme dosyalarının konumunu /var/lib/tftpboot ekleyin.

Yapılandırma dosyalarıyla ilgili diğer gelişmiş seçenekler için dnsmasq kılavuzunu okumaktan çekinmeyin.

Adım 2: SYSLINUX Önyükleyicilerini Kurun

4. DNSMASQ ana yapılandırması tamamlandıktan sonra, aşağıdaki komutu kullanarak Syslinx PXE önyükleyici paketini yükleyin.

dnf install syslinux

5. Syslinx PXE önyükleyicileri /usr/share/syslinux altına kurulur, gösterildiği gibi ls komutunu çalıştırarak bunu onaylayabilirsiniz.

ls /usr/share/syslinux

Adım 3: TFTP Sunucusunu Kurun ve SYSLINUX Bootloader'larla Kopyalayın

6. Şimdi TFTP-Server'ı yükleyin ve tüm Syslinux önyükleyicilerini /usr/share/syslinux/'den /var/lib'e kopyalayın /tftpboot gösterildiği gibi.

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

Adım 4: PXE Sunucusu Yapılandırma Dosyasını Kurun

7. Varsayılan olarak PXE Sunucusu, yapılandırmasını pxelinux.cfg dosyasında bulunan ve bu dosyada bulunması gereken bir dizi belirli dosyadan okur. yukarıdaki DNSMASQ yapılandırma dosyasındaki tftp-root ayarında açıklanan dizin.

Öncelikle bir pxelinux.cfg dizini oluşturun ve aşağıdaki komutları vererek bir default dosyası oluşturun.

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

8. Şimdi PXE varsayılan yapılandırma dosyasını doğru Linux dağıtım kurulum seçenekleriyle açın ve düzenleyin. Ayrıca, bu dosyada ayarlanan yolların /var/lib/tftpboot dizinine göre olması gerektiğini unutmayın.

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

Aşağıda kullanabileceğiniz örnek bir yapılandırma dosyası verilmiştir, ancak kurulum görüntülerini, protokollerini ve IP'lerini ağ kurulum kaynak depolarınızı ve konumlarınızı uygun şekilde yansıtacak şekilde değiştirdiğinizden emin olun.

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

Yukarıdaki yapılandırmada, CentOS 8 önyükleme görüntülerinin (çekirdek ve initrd) centos7 'de bulunduğunu fark edebilirsiniz. /var/lib/tftpboot (ör. /var/lib/tftpboot/centos7) ile ilgili dizin ve yükleyici depolarına 192.168.1.2/pub (PXE sunucusunun IP adresi).

Ayrıca menü etiketi 2, resmi CentOS 8 kurulum kaynaklarının ayna depolarını (istemci sisteminde internet bağlantısı gereklidir) açıklar ve menü etiketi 3, istemci kurulumunun yapılması gerektiğini açıklar uzak bir VNC aracılığıyla (burada VNC şifresini güçlü bir şifreyle değiştirin).

Önemli: Yukarıdaki yapılandırmada gördüğünüz gibi, gösterim amacıyla CentOS 8 görüntüsünü kullandık, ancak siz görüntüsünü de kullanabilirsiniz. RHEL 8 görselleri.

Adım 5: CentOS 8 Önyükleme Görüntülerini PXE Sunucusuna Ekleme

9. PXE Sunucusuna CentOS 8 görüntülerini eklemek için, wget komutunu kullanarak CentOS 8 DVD ISO Görüntüsünü yerel olarak indirmeniz ve bağlamanız gerekir.

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'i indirdikten sonra, bir centos8 dizini oluşturmanız ve önyüklenebilir çekirdek ve initrd görüntülerini kopyalamanız gerekir.

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

Bu yaklaşımı benimsemenin ardındaki neden, daha sonra tüm dizin yapısını bozmadan /var/lib/tftpboot altında her yeni Linux dağıtımı için ayrı dizinlere sahip olabilmenizdir.

Adım 6: CentOS 8 Yerel Ayna Kurulum Kaynağını Oluşturun

11. Kurulum için çeşitli protokoller (HTTP, HTTPS veya NFS) mevcuttur. CentOS 8 yerel kurulum kaynak aynaları, ancak vsftpd sunucusu kullanılarak kurulumu kolay olduğundan FTP protokolünü seçtim.

Vsftpd sunucusunu kuralım ve tüm CentOS 8 DVD içeriğini gösterildiği gibi /var/ftp/pub FTP dizinine kopyalayalım.

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

12. Artık tüm PXE sunucu yapılandırması tamamlandığına göre, DNSMASQ ve VSFTPD sunucularını başlatabilir, etkinleştirebilir ve durumunu doğrulayabilirsiniz.

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

13. Daha sonra, istemci sistemlerin PXE sunucusuna ulaşıp önyükleme yapabilmesi için güvenlik duvarınızda bağlantı noktaları açmanız gerekir.

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 Kurulum Kaynağı ağ konumunu doğrulamak için tarayıcınızı açın ve FTP protokolü ve ardından /pub ağ konumuyla birlikte PXE Sunucusu IP adresini yazın.

ftp://192.168.1.2/pub

Adım 7: İstemcileri Ağdan Önyükleyecek Şekilde Yapılandırma

15. Şimdi BIOS Menüsünden Ağ Önyüklemesini ana önyükleme aygıtı olarak yapılandırarak istemci sistemlerini önyükleme yapacak ve sistemlerine CentOS 8'i yükleyecek şekilde yapılandırın.

Sistem önyüklendikten sonra bir PXE istemi alacaksınız; burada sunuma girmek için F8 tuşuna basmanız ve ardından PXE menüsüne ilerlemek için Enter tuşuna basmanız gerekir.

CentOS/RHEL 8'de minimal bir PXE Sunucusu kurmak için hepsi bu.