Ịtọlite PXE Network Boot Server maka ọtụtụ nrụnye nkesa Linux na RHEL/CentOS 7


PXE Server – Preboot eXecution Environment – na-agwa kọmpụta onye ahịa ka ọ buo, gbaa ma ọ bụ wụnye sistemụ arụmọrụ na-emepụta interface netwọk ozugbo, na-ewepụ mkpa ọ dị ọkụ CD/DVD ma ọ bụ jiri usoro anụ ahụ, ma ọ bụ, nwere ike ime ka ọrụ nke ịwụnye nkesa Linux dị na akụrụngwa netwọkụ gị n'ọtụtụ igwe n'otu oge.

  1. Usoro nwụnye CentOS 7 kacha nta
  2. Usoro nwụnye RHEL 7 pere mpe
  3. Hazie adreesị IP static na RHEL/CentOS 7
  4. Wepu ọrụ achọghị na RHEL/CentOS 7
  5. Wụnye sava NTP ka ịtọọ oge sistemụ ziri ezi na RHEL/CentOS 7

Edemede a ga-akọwa otu ị ga-esi wụnye na hazie PXE Server na RHEL/CentOS 7 x64-bit nwere ebe nchekwa nrụnye mpaghara enyo enyo, ewepụtara isi mmalite. site na CentOS 7 DVD ISO oyiyi, site n'enyemaka nke DNSMASQ Server.

Nke na-enye ọrụ DNS na DHCP, ngwugwu Syslinux nke na-enye bootloaders maka booting netwọk, TFTP-Server, nke na-eme ihe oyiyi bootable dị ka ebudata ya site na netwọk site na iji Trivial File Transfer Protocol(TFTP) na VSFTPD Server nke ga-anabata ihe oyiyi DVD nke nwere mgbanaka mpaghara - nke ga-eme dị ka onye ọrụ RHEL./CentOS 7 ebe nchekwa nrụnye enyo si ebe onye nrụnye ga-ewepụta ngwugwu achọrọ.

Kwụpụ 1: Wụnye ma hazie sava DNSMASQ

1. Ọ dịghị mkpa ichetara gị nke na-achọsi ike na otu n'ime kaadị netwọk gị, ọ bụrụ na ihe nkesa gị nwere ọtụtụ NIC, ga-ahazi ya na adreesị IP static site na otu IP nke dị na mpaghara netwọk nke ga-enye PXE. ọrụ.

Yabụ, mgbe ị haziela Adreesị IP static gị, melite sistemụ gị wee rụọ ntọala izizi ndị ọzọ, jiri iwu na-esonụ iji wụnye DNSMASQ daemon.

# yum install dnsmasq

2. DNSMASQ isi ndabere nhazi faịlụ dị na / wdg ndekọ bụ onwe-akọwa ma na-ezube na-nnọọ siri ike dezie, mee ya ukwuu kwuru nkọwa.

Buru ụzọ hụ na ị kwadobere faịlụ a ma ọ bụrụ na ịchọrọ inyocha ya ma emechaa wee mepụta faịlụ nhazi oghere ọhụrụ site na iji nchịkọta ederede ọkacha mmasị gị site na ịnye iwu ndị a.

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

3. Ugbu a, detuo na mado nhazi ndị a na faịlụ dnsmasq.conf wee mee ka obi sie gị ike na ị gbanwee nkwupụta ndị akọwapụtara n'okpuru ka ọ dabara na ntọala netwọkụ gị.

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

Okwu ndị ịchọrọ ịgbanwe bụ ndị a:

  1. interface – Ngwa ngwa sava kwesịrị ige ntị wee nye ọrụ.
  2. Interfaces - Enweghị nkwubi okwu ijikọ naanị na interface a.
  3. ngalaba - Jiri aha ngalaba gị dochie ya.
  4. dhcp-oke - Dochie ya na oke IP nke ihe nkpuchi netwọk gị kọwapụtara na mpaghara a.
  5. dhcp-boot - Dochie nkwupụta IP na adreesị IP ihu gị.
  6. dhcp-option=3,192.168.1.1 - Dochie adreesị IP na mpaghara netwọk gị ọnụ ụzọ.
  7. dhcp-option=6,92.168.1.1 - Dochie Adreesị IP na IP nkesa DNS gị - enwere ike ịkọwa ọtụtụ IP DNS.
  8. server=8.8.4.4 - Tinye adreesị IP ndị na-ebugharị DNS gị.
  9. dhcp-option=28,10.0.0.255 - Dochie adreesị IP na adreesị mgbasa ozi netwọk - nhọrọ.
  10. dhcp-option=42,0.0.0.0 - Tinye oge netwọk gị - nhọrọ (0.0.0.0 Adreesị bụ maka nrụtụ aka onwe ya).
  11. pxe-prompt - Hapụ ya dị ka ndabara - pụtara ịpị igodo F8 maka iji oge echere 60 nkeji ..
  12. pxe=ọrụ – Jiri x86PC maka 32-bit/64-bit architectures wee tinye ngwa ngwa nkowa menu n'okpuru nrụtụ aka eriri. Ụdị ụkpụrụ ndị ọzọ nwere ike ịbụ: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI na X86-64_EFI.
  13. enable-tftp - Na-enyere ihe nkesa TFTP arụ ọrụ aka.
  14. tftp-root – Jiri /var/lib/tftpboot – ebe maka faịlụ netbooting niile.

Maka nhọrọ ndị ọzọ dị elu gbasara faịlụ nhazi, nweere onwe gị ịgụ akwụkwọ ntuziaka dnsmasq.

Kwụpụ 2: Wụnye SYSLINUX Bootloaders

4. Mgbe ị dezie ma chekwaa DNSMASQ faịlụ nhazi isi, gaa n'ihu ma wụnye ngwugwu Syslinx PXE bootloader site na ịnye iwu a.

# yum install syslinux

5. Faịlụ bootloaders PXE bi na /usr/share/syslinux usoro usoro zuru oke, yabụ ị nwere ike lelee ya site na ịdepụta ọdịnaya ụzọ a. Nzọụkwụ a bụ nhọrọ, mana ọ ga-adị mkpa ka ị mara ụzọ a n'ihi na na nzọụkwụ ọzọ, anyị ga-eṅomi ọdịnaya ya niile gaa na TFTP Serverụzọ.

# ls /usr/share/syslinux

Kwụpụ 3: Wụnye TFTP-Server wee mejupụta ya na SYSLINUX Bootloaders

6. Ugbu a, ka anyị gaa na nzọụkwụ ọzọ wee wụnye TFTP-Server wee detuo faịlụ bootloders niile nke ngwugwu Syslinux nyere site na ebe edepụtara n'elu gaa na /var/lib/tftpboot b> ụzọ site n'inye iwu ndị a.

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

Kwụpụ 4: Mepụta faịlụ nhazi ihe nkesa PXE

7. Na-emekarị PXE Server na-agụ nhazi ya site na otu faịlụ kpọmkwem (GUIDfaịlụ - nke mbụ, MAC faịlụ - ọzọ, Faịlụ nke an-kpọ - ikpeazụ) akwadoro na folda akpọrọ pxelinux.cfg, nke ga-adịrịrị na ndekọ aha akọwapụtara na tftp-root nkwupụta sitere na faịlụ nhazi DNSMASQ bụ isi. .

Mepụta ndekọ achọrọ pxelinux.cfg wee mejupụta ya na faịlụ default site n'inye iwu ndị a.

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

8. Ugbu a ọ bụ oge iji dezie PXE Server faịlụ nhazi yana nhọrọ ntinye nkesa Linux dị irè. Rịbakwa ama na ụzọ niile eji na faịlụ a ga-adịrịrị na ndekọ /var/lib/tftpboot.

N'okpuru ebe a, ị nwere ike ịhụ faịlụ nhazi ihe atụ nke ị nwere ike iji ya, mana gbanwee oyiyi nrụnye (faịlụ kernel na initrd), usoro (FTP, HTTP, HTTPS, NFS) na IP iji gosipụta ebe nchekwa na ntinye ntinye netwọk gị na ụzọ ya.

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

Tinye akụkụ niile na-esonụ na faịlụ ahụ.

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

Dị ka ị na-ahụ CentOS 7 oyiyi buut (kernel na initrd) bi na ndekọ aha ya bụ centos7 metụtara /var/lib/tftpboot (n'ụzọ zuru oke nke a ga-apụta. /var/lib/tftpboot/centos7) na enwere ike nweta ebe nchekwa ihe nrụnye site na iji FTP protocol na 192.168.1.20/pub ọnọdụ netwọk - na nke a, a na-akwado ebe nchekwa na mpaghara n'ihi na adreesị IP bụ otu adreesị ihe nkesa PXE).

Ọzọkwa menu label 3 na-akọwapụta na ekwesịrị ime nwụnye onye ahịa site na ebe dịpụrụ adịpụ site na VNC (ebe a dochie paswọọdụ VNC na paswọọdụ siri ike) ma ọ bụrụ na ị wụnye na onye ahịa enweghị isi. na menu labelụ 2 na-akọwapụta dị ka
Nrụnye na-enweta enyo ịntanetị gọọmentị CentOS 7 (ikpe a chọrọ njikọ ịntanetị dị na ndị ahịa site na DHCP na NAT).

Ihe dị mkpa: Dị ka ị na-ahụ na nhazi dị n'elu, anyị ejirila CentOS 7 maka ihe ngosi, ma ị nwekwara ike ịkọwa ihe oyiyi RHEL 7, na ịgbaso ntụziaka na nhazi dum dabeere na CentOS 7 naanị, ya mere kpachara anya mgbe ị na-ahọrọ nkesa.

Kwụpụ 5: Tinye CentOS 7 Boot Images na PXE Server

9. N'ihi na nke a nzọụkwụ CentOS kernel na initrd faịlụ a chọrọ. Iji nweta faịlụ ndị ahụ ị ga-achọ CentOS 7 DVD ISO Image. Yabụ, gaa n'ihu budata CentOS DVD Image, tinye ya na draịvụ DVD gị wee bulie onyonyo a gaa na /mnt ụzọ sistemụ site n'inye iwu dị n'okpuru.

Ihe kpatara eji DVD ma ọ bụghị ihe oyiyi CD kacha nta bụ na mgbe e mesịrị, a ga-eji ọdịnaya DVD a mepụta
ebe nchekwa ihe nrụnye mpaghara maka isi mmalite FTP.

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

Ọ bụrụ na igwe gị enweghị draịva DVD ị nwekwara ike ibudata CentOS 7 DVD ISO na mpaghara site na iji wget ma ọ bụ curl utilities sitere na enyo CentOS wee bulie ya.

# 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. Mgbe emechara ọdịnaya DVD, mepụta ndekọ centos7 wee detuo CentOS 7 bootable kernel na initrd onyonyo site na ebe etinyere DVD ruo centos7 nchekwa nchekwa.

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

Ihe kpatara eji usoro a bụ na, emechaa ị nwere ike ịmepụta akwụkwọ ndekọ aha ọhụrụ dị iche iche na /var/lib/tftpbootụzọ wee tinye nkesa Linux ndị ọzọ na menu PXE na-enweghị imebi usoro ndekọ aha niile.

Kwụpụ 6: Mepụta isi iyi ntinye enyo mpaghara CentOS 7

11. Ọ bụ ezie na ị nwere ike ịtọlite Enyocha isi iyi ntinye site na usoro dị iche iche dị ka HTTP, HTTPS ma ọ bụ NFS, maka ntuziaka a, ahọrọla m FTP protocol n'ihi na ọ bụ ezigbo ntụkwasị obi na dị mfe ịhazi site na enyemaka nke sava vsftpd.

Tinyegharịa vsftpd daemon, detuo ọdịnaya DVD niile na vsftpd ụzọ sava ndabara (/var/ftp/pub) - nke a nwere ike were obere oge dabere na akụrụngwa sistemụ gị wee tinye. ikike ọgụgụ nke ụzọ a site n'inye iwu ndị a.

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

Kwụpụ 7: Malite na Kwado Daemons Sistem-Wide

12. Ugbu a ka emechara nhazi ihe nkesa PXE, malite DNSMASQ na VSFTPDsava, nyochaa ọnọdụ ha ma mee ka ọ rụọ ọrụ n'obosara, na-amalite na-akpaghị aka mgbe usoro ọ bụla reboot, site na-agba ọsọ n'okpuru iwu.

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

Kwụpụ 8: Mepee Firewall wee nwalee isi iyi ntinye FTP

13. Iji nweta ndepụta nke ọdụ ụgbọ mmiri niile kwesịrị imeghe na Firewall gị ka igwe ndị ahịa nweta wee buo site na ihe nkesa PXE, mee iwu netstat wee gbakwunye iwu CentOS 7 Firewalld kwekọrọ na dnsmasq na ọdụ ụgbọ mmiri na-ege vsftpd.

# 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. Iji nwalee FTP Installation Source network ụzọ mepee ihe nchọgharị na mpaghara (lynx kwesịrị ime ya) ma ọ bụ na kọmputa dị iche wee pịnye adreesị IP nke ihe nkesa PXE gị na
FTP protocol sochiri /pub ọnọdụ netwọkụ na URL etinyere na nsonaazụ ga-adị ka ewepụtara na nseta ihuenyo dị n'okpuru.

ftp://192.168.1.20/pub

15. Iji debug ihe nkesa PXE maka emezi misconfigurations ma ọ bụ ozi ndị ọzọ na diagnostics na ndụ mode na-agbaso iwu a.

# tailf /var/log/messages

16. N'ikpeazụ, ikpeazụ nzọụkwụ na mkpa ka ị na-eme bụ unmount CentOS 7 DVD na-ewepụ anụ ahụ media.

# umount /mnt

Kwụpụ 9: Hazie ndị ahịa ka ha buut site na netwọkụ

17. Ugbu a ndị ahịa gị nwere ike buut ma wụnye CentOS 7 na igwe ha site n'ịhazi Network Boot dị ka primary boot devicesite na sistemụ ha BIOS ma ọ bụ site na ịpị igodo akọwapụtara n'oge ọrụ BIOS POST dị ka akọwapụtara na ntuziaka motherboard.

Ka ịhọrọ booting netwọk. Mgbe PXE mbụ pụtara, pịa igodo F8 ka itinye ihe ngosi wee pịa igodo Tinye ka ịga n'ihu na menu PXE.

18. Ozugbo ị ruru menu PXE, họrọ ụdị nrụnye CentOS 7 gị, pịa igodo Tinye wee gaa n'ihu na usoro nrụnye otu ụzọ ị nwere ike isi tinye ya na ngwaọrụ mgbasa ozi mpaghara.

Biko mara na iji variant 2 site na menu a chọrọ njikọ ịntanetị na-arụsi ọrụ ike na onye ahịa ebumnuche. Ọzọkwa, n'okpuru
nseta ihuenyo ị nwere ike ịhụ ihe atụ nke nrụnye anya nke ndị ahịa site na VNC.

Nke ahụ bụ naanị maka ịtọlite obere PXE Server na CentOS 7. N'edemede m na-esote site na usoro isiokwu a, m ga-atụle okwu ndị ọzọ gbasara nhazi ihe nkesa PXE dị ka otu esi edozi nrụnye akpaaka nke CentOS 7 site na iji Kickstart faịlụ yana ịgbakwunye nkesa Linux ndị ọzọ. gaa na menu PXE – Ubuntu Server na Debian 7.