Otu esi etinye Ubuntu site na PXE Server site na iji isi iyi DVD mpaghara


PXE ma ọ bụ Preboot eXecution Environment bụ usoro ihe nkesa na-enye ndị ahịa ntụziaka ka ha buo netwọk ụdị.

N'ime ntuziaka a, anyị ga-egosi otu esi etinye Ubuntu Server site na ihe nkesa PXE nwere isi mmalite HTTP nke sitere na ihe nkesa Ubuntu site na sava weebụ Apache. Ihe nkesa PXE ejiri na nkuzi a bụ Dnsmasq Server.

  1. Ubuntu Sava 16.04 ma ọ bụ 17.04 Ntinye
  2. Oghere netwọkụ ejiri adreesị IP Static hazie
  3. Ubuntu Server 16.04 ma ọ bụ 17.04 ISO oyiyi

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

1. Iji hazie ihe nkesa PXE, na nzọụkwụ mbụ nbanye na akaụntụ mgbọrọgwụ ma ọ bụ akaụntụ nwere ikike mgbọrọgwụ wee wụnye ngwugwu Dnsmasq na Ubuntu site na ịnye iwu na-esonụ.

# apt install dnsmasq

2. Ọzọ, ndabere dnsmasq isi nhazi faịlụ wee malite dezie faịlụ na nhazi ndị a.

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

Tinye nhazi ndị a na faịlụ dnsmasq.conf.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

Na faịlụ nhazi dị n'elu dochie ahịrị ndị a n'otu aka ahụ.

  • Interface Jiri interface netwọk igwe nke gị dochie anya.
  • ngalaba – Jiri aha ngalaba gị dochie ya.
  • dhcp-range - Kọwaa netwọkụ nke gị maka DHCP iji kenye IP na mpaghara netwọkụ a yana ogologo oge ka a ga-enye adreesị IP maka onye ahịa.
  • dhcp-option=3 – Ọnụ ụzọ ámá IP gị.
  • dhcp-option=6 IP sava DNS – enwere ike ịkọwa ọtụtụ IP DNS.
  • ihe nkesa – Adreesị IP ebugharị DNS.
  • dhcp-option=28 – adreesị mgbasa ozi netwọk gị.
  • dhcp-option=42 – sava NTP – jiri 0.0.0.0 Adreesị bụ maka nrụtụ aka n’onwe.
  • dhcp-boot – faịlụ pxe boot na adreesị IP nke ihe nkesa PXE (ebe a pxelinux.0 na adreesị IP nke otu igwe).
  • pxe-prompt – Ojiji nwere ike pịa igodo F8 iji tinye menu PXE ma ọ bụ chere 2 sekọnd tupu ịgbanwee na menu PXE na-akpaghị aka.
  • pxe=ọrụ – Jiri x86PC maka 32-bit/64-bit architectures wee tinye ngwa ngwa nkowa menu n'okpuru ntinye 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.
  • enable-tftp – Na-enyere ihe nkesa TFTP arụ ọrụ.
  • tftp-root – ụzọ sistemụ maka faịlụ buut.

3. Ọzọkwa, mgbe ịmechara faịlụ nhazi dnsmasq, mepụta ndekọ maka faịlụ netboot PXE site n'inye iwu dị n'okpuru ma malitegharịa dnsmasq daemon iji tinye mgbanwe. Lelee ọkwa ọrụ dnsmasq ka ịhụ ma amalitela ya.

# mkdir /srv/tftp
# systemctl restart dnsmasq.service
# systemctl status dnsmasq.service

Kwụpụ 2: Wụnye faịlụ Netboot TFTP

4. Na nzọụkwụ ọzọ jidere ihe ọhụrụ Ubuntu nkesa ISO oyiyi maka 64-bit architecture site n'inye iwu na-esonụ.

# wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Mgbe ebudatara ihe nkesa Ubuntu ISO, bulie ihe onyonyo a na ndekọ /mnt wee depụta ọdịnaya ndekọ agbakwunyere site na ịme iwu ndị dị n'okpuru.

# mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
# ls /mnt/

6. Na-esote, detuo faịlụ netboot site na Ubuntu mounted osisi na tftp usoro ụzọ site n'inye iwu n'okpuru. Ọzọkwa, depụta ụzọ sistemụ tftp ka ịhụ faịlụ ndị e depụtaghachiri.

# cp -rf /mnt/install/netboot/* /srv/tftp/
# ls /srv/tftp/

Kwụpụ 3: Kwadebe Faịlụ Isi Nwụnye Mpaghara

7. A ga-enye isi mmalite ntinye netwọkụ mpaghara maka sava Ubuntu site na protocol HTTP. Nke mbụ, wụnye, malite ma mee ka sava weebụ Apache nwee ike site n'inye iwu ndị a.

# apt install apache2
# systemctl start apache2
# systemctl status apache2
# systemctl enable apache2

8. Mgbe ahụ, detuo ọdịnaya nke Ubuntu DVD n'elu na Apache webụsaịtị mgbọrọgwụ ụzọ site na-emezu iwu ndị a. Depụta ọdịnaya nke ụzọ mgbọrọgwụ Apache iji lelee ma ọ bụrụ na e depụtaghachila osisi Ubuntu ISO kpamkpam.

# cp -rf /mnt/* /var/www/html/
# ls /var/www/html/

9. Ọzọ, mepee ọdụ ụgbọ mmiri HTTP na firewall wee gaa na adreesị IP igwe gị site na ihe nchọgharị (http://192.168.1.14/ubuntu) iji nwalee ma ị nwere ike iru isi mmalite site na HTTP protocol.

# ufw allow http

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

10. Iji nwee ike pivot rootfs site na PXE na isi mmalite mpaghara, Ubuntu kwesịrị ịkụziri ya site na faịlụ preseed. Mepụta faịlụ local-sources.seed ndị a n'ụzọ mgbọrọgwụ nke sava weebụ gị yana ọdịnaya ndị a.

# nano /var/www/html/ubuntu/preseed/local-sources.seed

Tinye ahịrị na-eso na faịlụ local-sources.seed.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

N'ebe a, jide n'aka na ị dochie adreesị IP ahụ. Ọ kwesịrị ịbụ adreesị IP ebe akụrụngwa weebụ dị. N'ime ntuziaka a, isi mmalite webụ, ihe nkesa PXE na sava TFTP na-akwado n'otu sistemụ. N'ime netwọkụ juru eju, ị nwere ike ịchọ ịgba ọsọ PXE, TFTP na ọrụ webụ na igwe dị iche iche iji kwalite ọsọ netwọk PXE.

11. Onye nkesa PXE na-agụ ma na-eme faịlụ nhazi dị na pxelinux.cfg TFTP mgbọrọgwụ ndekọ n'usoro a: faịlụ GUID, faịlụ MAC na faịlụ ndabara.

Emepụtalarị akwụkwọ ndekọ aha pxelinux.cfg wee ju ya na faịlụ nhazi PXE achọrọ n'ihi na anyị eburu ụzọ depụtaghachi faịlụ netboot sitere na Ubuntu bulitere onyonyo ISO.

Ka ịgbakwunye faịlụ nkwupụta preseed dị n'elu na akara nrụnye Ubuntu na faịlụ nhazi PXE, mepee faịlụ na-esonụ maka edezi site na ịnye iwu dị n'okpuru.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

Na Ubuntu PXE txt.cfg nhazi faịlụ dochie ahịrị na-esote dị ka egosiri na ntinye n'okpuru.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Faịlụ/srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg kwesịrị inwe ọdịnaya zuru ụwa ọnụ ndị a:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. Ọ bụrụ na ịchọrọ ịgbakwunye nkwupụta url preseed na Ubuntu Rescue menu, mepee faịlụ dị n'okpuru ma jide n'aka na imelite ọdịnaya dị ka e gosipụtara na ihe atụ n'okpuru.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Tinye nhazi ndị a na faịlụ rqtxt.cfg.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

Ahịrị dị mkpa ị ga-emelite bụ url=http://192.168.1.14/ubuntu/preseed/local-sources.seed nke na-akọwapụta adreesị URL ebe faịlụ etinyere dị na netwọkụ gị.

13. N'ikpeazụ, mepee Ubuntu pxe menu.cfg faịlụ wee kwuo ahịrị atọ mbụ iji gbasaa ihuenyo buut PXE dị ka egosiri na nseta ihuenyo dị n'okpuru.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Kwuo ahịrị atọ ndị a.

#menu hshift 13
#menu width 49
#menu margin 8

Kwụpụ 5: Mepee ọdụ ụgbọ mmiri Firewall na Ubuntu

14. Mezue iwu netstat na ikike mgbọrọgwụ iji chọpụta dnsmasq, tftp na ọdụ ụgbọ mmiri na-emeghe na steeti ege ntị na ihe nkesa gị dị ka e gosiri na n'okpuru ebe a.

# netstat -tulpn

15. Mgbe ị chọpụtachara ọdụ ụgbọ mmiri niile achọrọ, nye iwu ndị a ka imepe ọdụ ụgbọ mmiri na ufw firewall.

# ufw allow 53/tcp
# ufw allow 53/udp
# ufw allow 67/udp
# ufw allow 69/udp
# ufw allow 4011/udp

Kwụpụ 6: Wụnye Ubuntu na isi mmalite mpaghara site na PXE

16. Iji wụnye ihe nkesa Ubuntu site na PXE wee jiri isi mmalite ntinye netwọkụ mpaghara, malitegharịa onye ahịa igwe gị, gwa BIOS ka ọ buut na netwọkụ na na mbụ PXE menu ihuenyo họrọ nhọrọ mbụ dị ka e gosipụtara na foto ndị dị n'okpuru.

17. Ekwesịrị ịme usoro ntinye dịka ọ dị na mbụ. Mgbe onye nrụnye rutere n'usoro obodo enyo enyo nke Ubuntu, jiri akụ ahụ dị elu gaa na nhọrọ nke mbụ, nke na-ekwu: jiri aka tinye ozi.

18. Pịa igodo [enter] ka imelite nhọrọ a, hichapụ eriri mirror wee gbakwunye adreesị IP nke isi iyi enyo nke sava weebụ wee pịa tinye ka ọ gaa n'ihu dị ka e gosiri na foto dị n'okpuru.

http://192.168.1.14

19. Na ihuenyo ọzọ, tinye gị mirror Archive directory dị ka e gosiri n'okpuru na pịa tinye igodo na-aga n'ihu na echichi usoro na-emekarị.

/ubuntu

20. Ọ bụrụ na ịchọrọ ịhụ ozi gbasara ngwugwu ebudatara na enyo mpaghara netwọkụ gị, pịa igodo [CTRL+ALT+F2] ka ịgbanwee igwe mebere console wee nye iwu a.

# tail –f /var/log/syslog

21. Mgbe echichi nke Ubuntu nkesa na-agwụ, nbanye na ọhụrụ arụnyere usoro na-agba ọsọ na-esonụ iwu na mgbọrọgwụ privilements ka imelite repositories nchịkọta si na mpaghara netwọk isi mmalite na ukara Ubuntu mirrors.

Ekwesịrị ịgbanwe enyo ndị ahụ iji melite sistemụ site na iji ebe nchekwa ịntanetị.

$ sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Jide n'aka na ị dochie adreesị IP dịka adreesị IP nke isi mmalite weebụ nke gị.

Ọ gwụla! Ị nwere ike imelite usoro ihe nkesa Ubuntu gị ugbu a wee wụnye ngwanrọ niile achọrọ. Ịwụnye Ubuntu site na PXE na enyo isi iyi netwọk mpaghara nwere ike imeziwanye ọsọ nrụnye ma nwee ike ịchekwa bandwidth ịntanetị na ọnụ ahịa ma ọ bụrụ na ị na-ebuga ọtụtụ sava n'ime obere oge na ụlọ gị.