Pag-set up ug PXE Network Boot Server para sa Multiple Linux Distribution Installations sa RHEL/CentOS 7


PXE Server – Preboot eExecution Environment – nagmando sa kompyuter sa kliyente nga mag-boot, magpadagan o mag-install og operating system nga direktang magporma og network interface, nga mawagtang ang panginahanglan sa pagsunog sa CD/DVD o paggamit og pisikal nga medium, o, makapagaan sa trabaho sa pag-instalar sa mga distribusyon sa Linux sa imong imprastraktura sa network sa daghang mga makina sa samang higayon.

  1. CentOS 7 Minimal nga Pamaagi sa Pag-install
  2. RHEL 7 Minimal nga Pamaagi sa Pag-instalar
  3. I-configure ang Static IP Address sa RHEL/CentOS 7
  4. Kuhaa ang Dili Gustong Serbisyo sa RHEL/CentOS 7
  5. I-install ang NTP Server aron Itakda ang Sakto nga Oras sa Sistema sa RHEL/CentOS 7

Kini nga artikulo magpatin-aw kon unsaon nimo pag-instalar ug pag-configure ang PXE Server sa RHEL/CentOS 7 x64-bit nga adunay mga salamin nga lokal nga instalasyon nga mga repositoryo, mga tinubdan nga gihatag ni CentOS 7 DVD ISO image, uban sa tabang sa DNSMASQ Server.

Nga naghatag ug DNS ug DHCP nga mga serbisyo, Syslinux nga pakete nga naghatag og mga bootloader alang sa network booting, TFTP-Server, nga naghimo bootable nga mga hulagway nga magamit aron ma-download pinaagi sa network gamit ang Trivial File Transfer Protocol (TFTP) ug VSFTPD Server nga maoy mag-host sa lokal nga mounted mirrored DVD image – nga maglihok isip opisyal nga RHEL/CentOS 7 nga tipiganan sa pag-install sa salamin gikan sa diin makuha sa installer ang gikinahanglan nga mga pakete.

Lakang 1: I-install ug i-configure ang DNSMASQ Server

1. Dili kinahanglan nga pahinumdoman ka nga hingpit nga nangayo nga ang usa sa imong network card interface, kung ang imong server adunay daghang mga NIC, kinahanglan nga ma-configure sa usa ka static nga IP address gikan sa parehas nga IP range nga nahisakop sa bahin sa network nga maghatag PXE serbisyo.

Busa, human nimo ma-configure ang imong static nga IP Address, gi-update ang imong sistema ug gihimo ang uban pang mga inisyal nga setting, gamita ang mosunod nga sugo aron i-install ang DNSMASQ daemon.

# yum install dnsmasq

2. Ang DNSMASQ nag-unang default configuration file nga nahimutang sa /etc nga direktoryo kay self-explanatory pero gituyo nga medyo lisud i-edit, buhaton sa iyang gikomentaryo nga mga pagpasabot.

Siguruha una nga i-backup nimo kini nga file kung kinahanglan nimo nga susihon kini sa ulahi ug, dayon, paghimo usa ka bag-ong blangko nga file sa pag-configure gamit ang imong paborito nga editor sa teksto pinaagi sa pag-isyu sa mga mosunod nga mga mando.

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

3. Karon, kopyaha ug idikit ang mosunod nga mga configuration sa dnsmasq.conf file ug siguroha nga imong usbon ang ubos nga gipatin-aw nga mga pahayag aron mohaum sa imong network settings sumala niana.

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

Ang mga pahayag nga kinahanglan nimong usbon mao ang mosunod:

  1. interface – Mga interface nga kinahanglang paminawon sa server ug maghatag ug serbisyo.
  2. bind-interfaces – I-uncomment para i-bind lang niini nga interface.
  3. domain – Ilisan kini sa imong domain name.
  4. dhcp-range – Ilisan kini sa IP range nga gitakda sa imong network mask niining bahina.
  5. dhcp-boot – Ilisan ang IP statement sa imong interface IP Address.
  6. dhcp-option=3,192.168.1.1 – Ilisan ang IP Address sa imong network segment Gateway.
  7. dhcp-option=6,92.168.1.1 – Ilisan ang IP Address sa imong DNS Server IP – daghang mga DNS IP ang mahimong ipasabot.
  8. server=8.8.4.4 – Ibutang ang imong DNS forwarders IPs Addresses.
  9. dhcp-option=28,10.0.0.255 – Ilisan ang IP Address sa network broadcast address –opsyonal.
  10. dhcp-option=42,0.0.0.0 – Ibutang ang imong network time servers – opsyonal (0.0.0.0 Address kay para sa self-reference).
  11. pxe-prompt – Ibilin kini isip default – nagpasabot sa pagpindot sa F8 key para makasulod sa menu 60 uban ang mga segundo nga oras sa paghulat..
  12. pxe=service – Gamita ang x86PC para sa 32-bit/64-bit nga mga arkitektura ug isulod ang aghat sa paghulagway sa menu ubos sa string quotes. Ang ubang mga matang sa bili mahimong: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI ug X86-64_EFI.
  13. enable-tftp – Makapahimo sa build-in TFTP server.
  14. tftp-root – Gamita ang /var/lib/tftpboot – ang lokasyon sa tanang netbooting files.

Alang sa ubang mga advanced nga mga kapilian bahin sa configuration file mobati nga gawasnon sa pagbasa sa dnsmasq manwal.

Lakang 2: I-install ang SYSLINUX Bootloaders

4. Human nimo ma-edit ug ma-save ang DNSMASQ main configuration file, ipadayon ug i-install ang Syslinx PXE bootloader package pinaagi sa pag-isyu sa mosunod nga sugo.

# yum install syslinux

5. Ang PXE bootloaders files anaa sa /usr/share/syslinux absolute system path, aron imong masusi pinaagi sa paglista niini nga path content. Opsyonal ang kini nga lakang, apan kinahanglan nimo nga mahibal-an kini nga agianan tungod kay sa sunod nga lakang, kopyahon namon ang tanan nga sulud niini sa agianan sa TFTP Server.

# ls /usr/share/syslinux

Lakang 3: I-install ang TFTP-Server ug Populate kini sa SYSLINUX Bootloaders

6. Karon, mobalhin ta sa sunod nga lakang ug i-install ang TFTP-Server ug, unya, kopyaha ang tanang bootloders files nga gihatag sa Syslinux package gikan sa nalista sa ibabaw nga lokasyon ngadto sa /var/lib/tftpboot dalan pinaagi sa pag-isyu sa mosunod nga mga sugo.

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

Lakang 4: I-setup ang PXE Server Configuration File

7. Kasagaran ang PXE Server nagbasa sa iyang configuration gikan sa usa ka grupo sa piho nga mga file (GUID files – una, MAC files – sunod, Default file – last) nga gi-host sa folder nga gitawag og pxelinux.cfg, nga kinahanglang mahimutang sa direktoryo nga gitakda sa tftp-root nga pahayag gikan sa DNSMASQ main configuration file .

Paghimo sa gikinahanglan nga direktoryo pxelinux.cfg ug pun-i kini og default nga payl pinaagi sa pag-isyu sa mosunod nga mga sugo.

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

8. Karon na ang panahon sa pag-edit sa PXE Server configuration file nga adunay balido nga Linux distributions installation options. Timan-i usab nga ang tanang dalan nga gigamit niini nga payl kinahanglang may kalabotan sa /var/lib/tftpboot nga direktoryo.

Sa ubos makita nimo ang usa ka panig-ingnan nga file sa pag-configure nga mahimo nimo kini gamiton, apan usba ang mga imahe sa pag-install (kernel ug initrd nga mga file), mga protocol (FTP, HTTP, HTTPS, NFS) ug mga IP aron ipakita ang imong mga tipiganan sa gigikanan sa pag-install sa network ug mga agianan sumala niana.

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

Idugang ang mosunod nga tibuok nga kinutlo sa file.

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

Ingon sa imong makita nga ang CentOS 7 boot nga mga imahe (kernel ug initrd) nagpuyo sa usa ka direktoryo nga ginganlag centos7 nga may kalabotan sa /var/lib/tftpboot (sa usa ka hingpit nga agianan sa sistema kini nagpasabut /var/lib/tftpboot/centos7) ug ang installer repository mahimong maabot pinaagi sa paggamit sa FTP protocol sa 192.168.1.20/pub network location – sa kini nga kaso ang mga repo gi-host sa lokal tungod kay ang IP address parehas sa PXE server address).

Usab ang menu label 3 nagtino nga ang pag-instalar sa kliyente kinahanglan nga buhaton gikan sa usa ka hilit nga lokasyon pinaagi sa VNC (dinhi ilisan ang VNC password sa usa ka lig-on nga password) kung mag-install ka sa usa ka walay ulo nga kliyente ug ang menu label 2 nagtino nga
Ang gigikanan sa pag-install usa ka opisyal nga salamin sa Internet sa CentOS 7 (kini nga kaso nanginahanglan usa ka koneksyon sa Internet nga magamit sa kliyente pinaagi sa DHCP ug NAT).

Importante: Sama sa imong nakita sa ibabaw nga configuration, among gigamit ang CentOS 7 alang sa demonstrasyon nga katuyoan, apan mahimo usab nimo nga ipasabut ang RHEL 7 nga mga hulagway, ug ang pagsunod sa tibuok nga mga instruksyon ug mga configuration gibase sa CentOS 7 lamang, busa pag-amping sa pagpili sa pag-apod-apod.

Lakang 5: Idugang ang CentOS 7 Boot Images sa PXE Server

9. Alang niini nga lakang gikinahanglan ang CentOS kernel ug initrd files. Aron makuha ang mga file kinahanglan nimo ang CentOS 7 DVD ISO Image. Busa, padayon ug i-download ang CentOS DVD Image, ibutang kini sa imong DVD drive ug i-mount ang imahe sa /mnt system path pinaagi sa pag-isyu sa ubos nga sugo.

Ang rason sa paggamit sa DVD ug dili sa usa ka Minimal nga CD Image mao ang kamatuoran nga sa ulahi kini nga DVD content gamiton sa paghimo sa
lokal nga installer nga mga repository para sa FTP nga mga tinubdan.

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

Kung ang imong makina walay DVD drive mahimo usab nimo nga i-download ang CentOS 7 DVD ISO sa lokal gamit ang wget o curl nga mga utilities gikan sa samin sa CentOS ug i-mount kini.

# 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. Human magamit ang DVD content, paghimo sa centos7 directory ug kopyaha ang CentOS 7 bootable kernel ug initrd nga mga hulagway gikan sa DVD mounted location ngadto sa centos7 folder structure.

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

Ang rason sa paggamit niini nga pamaagi mao nga, sa ulahi makahimo ka og bag-ong bulag nga mga direktoryo sa /var/lib/tftpboot nga dalan ug idugang ang ubang mga distribusyon sa Linux ngadto sa PXE nga menu nga dili makasamok sa tibuok nga istruktura sa direktoryo.

Lakang 6: Paghimo CentOS 7 Local Mirror Installation Source

11. Bisan tuod mahimo nimong i-setup ang Installation Source Mirrors pinaagi sa lain-laing mga protocol sama sa HTTP, HTTPS o NFS, alang niini nga giya, akong gipili ang FTP protocol tungod kay kasaligan kaayo ug sayon nga i-setup sa tabang sa vsftpd server.

Dugang pa nga i-install ang vsftpd daemon, kopyaha ang tanang DVD mounted content ngadto sa vsftpd default server path (/var/ftp/pub) – kini mahimong magdugay depende sa imong sistema nga mga kapanguhaan ug idugang mabasa nga permiso sa niini nga dalan pinaagi sa pag-isyu sa mosunod nga mga sugo.

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

Lakang 7: Pagsugod ug Pag-enable sa Daemons System-Wide

12. Karon nga ang PXE server configuration sa katapusan nahuman na, sugdi ang DNSMASQ ug VSFTPD servers, pamatud-i ang ilang status ug i-enable kini sa tibuok sistema, aron awtomatik nga magsugod human sa matag reboot sa sistema, pinaagi sa pagpadagan sa ubos nga mga sugo.

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

Lakang 8: Ablihi ang Firewall ug Sulayi ang Tinubdan sa Pag-install sa FTP

13. Aron makakuha og lista sa tanang port nga kinahanglang ablihan sa imong Firewall aron ang mga makina sa kliyente makaabot ug maka-boot gikan sa PXE server, padagana ang netstat command ug idugang ang CentOS 7 Firewalld nga mga lagda sumala sa dnsmasq ug vsftpd mga port sa pagpaminaw.

# 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. Aron sulayan ang FTP Installation Source network path ablihi ang usa ka browser sa lokal (kinahanglan nga buhaton ni lynx) o sa laing computer ug i-type ang IP Address sa imong PXE server nga adunay
FTP protocol nga gisundan sa /pub lokasyon sa network sa URL nga gi-file ug ang resulta kinahanglan nga gipresentar sa ubos nga screenshot.

ftp://192.168.1.20/pub

15. Aron ma-debug ang PXE server alang sa mga sayop nga pag-configure o uban pang impormasyon ug diagnostics sa live mode padagana ang mosunod nga sugo.

# tailf /var/log/messages

16. Sa katapusan, ang katapusang gikinahanglan nga lakang nga kinahanglan nimong buhaton mao ang pag-unmount sa CentOS 7 DVD ug tangtangon ang pisikal nga medium.

# umount /mnt

Lakang 9: I-configure ang mga Kliyente sa Boot gikan sa Network

17. Karon ang imong mga kliyente maka-boot ug maka-install sa CentOS 7 sa ilang mga makina pinaagi sa pag-configure sa Network Boot isip panguna nga boot device gikan sa ilang mga sistema sa BIOS o pinaagi sa pag-igo sa usa ka piho nga yawe atol sa BIOS POST nga mga operasyon ingon nga gitakda sa motherboard manual.

Aron mapili ang network booting. Human makita ang unang PXE prompt, pindota ang F8 key aron makasulod sa presentasyon ug dayon pindota ang Enter key aron makapadayon sa PXE menu.

18. Sa higayon nga maabot na nimo ang PXE menu, pilia ang imong CentOS 7 nga tipo sa pag-install, pindota ang Enter key ug ipadayon ang pamaagi sa pag-instalar sa samang paagi nga mahimo nimo kining i-install gikan sa lokal nga media boot device.

Palihug timan-i nga ang paggamit sa variant 2 gikan sa kini nga menu nanginahanglan usa ka aktibo nga koneksyon sa Internet sa target nga kliyente. Usab, sa ubos
mga screenshot nga imong makita ang usa ka pananglitan sa usa ka kliyente nga hilit nga pag-install pinaagi sa VNC.

Kana lang para sa pag-set up og gamay nga PXE Server sa CentOS 7. Sa akong sunod nga artikulo gikan niini nga serye, akong hisgutan ang ubang mga isyu mahitungod niining PXE server configuration sama sa unsaon pag-setup sa automated installations sa CentOS 7 gamit ang Kickstart files ug pagdugang sa ubang Linux distributions. ngadto sa PXE menu – Ubuntu Server ug Debian 7.