Kaip įdiegti Ubuntu per PXE serverį naudojant vietinius DVD šaltinius


PXE arba Preboot eXecution Environment yra serverio-kliento mechanizmas, kuris nurodo kliento įrenginiui paleisti iš tinklo.

Šiame vadove parodysime, kaip įdiegti Ubuntu serverį per PXE serverį su vietiniais HTTP šaltiniais, atspindinčiais iš Ubuntu serverio ISO atvaizdo per Apache žiniatinklį serveris. Šioje mokymo programoje naudojamas PXE serveris yra Dnsmasq serveris.

Reikalavimai:

  1. Ubuntu Server 16.04 arba 17.04 diegimas
  2. Tinklo sąsaja, sukonfigūruota naudojant statinį IP adresą
  3. Ubuntu Server 16.04 arba 17.04 ISO vaizdas

1 veiksmas: įdiekite ir sukonfigūruokite DNSMASQ serverį

1. Norėdami nustatyti PXE serverį, pirmiausia prisijunkite naudodami šakninę paskyrą arba paskyrą su root teisėmis ir įdiekite Dnsmasq paketą Ubuntu, išleisdami šią komandą.

apt install dnsmasq

2. Tada sukurkite atsarginę dnsmasq pagrindinio konfigūracijos failo kopiją ir pradėkite redaguoti failą naudodami toliau nurodytas konfigūracijas.

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

Pridėkite šią konfigūraciją prie dnsmasq.conf failo.

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

Aukščiau pateiktame konfigūracijos faile atitinkamai pakeiskite šias eilutes.

  • sąsaja Pakeiskite savo įrenginio tinklo sąsaja.
  • domenas – pakeiskite jį savo domeno pavadinimu.
  • dhcp-range – apibrėžkite savo tinklo diapazoną, kad DHCP paskirstytų IP šiam tinklo segmentui ir kiek laiko turėtų būti suteiktas kliento IP adresas.
  • dhcp-option=3 – jūsų šliuzo IP.
  • dhcp-option=6 DNS serverio IP – galima apibrėžti kelis DNS IP.
  • serveris – DNS peradresatoriaus IP adresas.
  • dhcp-option=28 – jūsų tinklo transliacijos adresas.
  • dhcp-option=42 – NTP serveris – naudokite 0.0.0.0 Adresas skirtas savarankiškai nuorodai.
  • dhcp-boot – pxe įkrovos failas ir PXE serverio IP adresas (čia pxelinux.0 ir to paties įrenginio IP adresas).
  • pxe-prompt – naudotojai gali paspausti F8 klavišą, kad patektų į PXE meniu, arba palaukti 2 sekundes, kol automatiškai persijungs į PXE meniu.
  • pxe=service – naudokite x86PC 32 bitų/64 bitų architektūroms ir įveskite meniu aprašo raginimą po kabutėmis. Kiti verčių tipai gali būti: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI ir X86-64_EFI.
  • enable-tftp – įgalina integruotą TFTP serverį.
  • tftp-root – tinklo įkrovos failų sistemos kelias.

3. Be to, baigę redaguoti dnsmasq konfigūracijos failą, sukurkite PXE netboot failų katalogą, išleisdami toliau pateiktą komandą ir iš naujo paleiskite dnsmasq demoną, kad pritaikytumėte pakeitimus. Patikrinkite dnsmasq paslaugos būseną, kad pamatytumėte, ar ji buvo paleista.

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

2 veiksmas: įdiekite TFTP „Netboot Files“.

4. Atlikdami kitą veiksmą paimkite naujausią Ubuntu serverio ISO atvaizdo versiją, skirtą 64 bitų architektūrai, išduodami šią komandą.

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

5. Atsisiuntę Ubuntu serverio ISO, prijunkite vaizdą į /mnt katalogą ir įtraukite į sąrašą įtraukto katalogo turinį vykdydami toliau pateiktas komandas.

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

6. Tada nukopijuokite netboot failus iš Ubuntu prijungto medžio į tftp sistemos kelią, vykdydami toliau pateiktą komandą. Taip pat nurodykite tftp sistemos kelią, kad pamatytumėte nukopijuotus failus.

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

3 veiksmas: paruoškite vietinius diegimo šaltinio failus

7. Ubuntu serverio vietinio tinklo diegimo šaltiniai bus teikiami naudojant HTTP protokolą. Pirmiausia įdiekite, paleiskite ir įgalinkite „Apache“ žiniatinklio serverį, išduodami šias komandas.

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

8. Tada nukopijuokite prijungto Ubuntu DVD turinį į Apache žiniatinklio serverio žiniatinklio šakninį kelią vykdydami toliau pateiktas komandas. Išvardykite Apache žiniatinklio šakninio kelio turinį, kad patikrintumėte, ar Ubuntu ISO pritvirtintas medis buvo visiškai nukopijuotas.

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

9. Tada atidarykite HTTP prievadą ugniasienėje ir eikite į savo įrenginio IP adresą naudodami naršyklę (http://192.168.1.14/ubuntu), kad patikrintumėte, ar gali pasiekti šaltinius per HTTP protokolą.

ufw allow http

4 veiksmas: nustatykite PXE serverio konfigūracijos failą

10. Kad būtų galima pasukti šakninius duomenis per PXE ir vietinius šaltinius, Ubuntu turi būti nurodyta per išankstinio siuntimo failą. Sukurkite šį local-sources.seed failą žiniatinklio serverio dokumento šakniniame kelyje su šiuo turiniu.

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

Pridėkite šią eilutę prie failo local-sources.seed.

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

Čia būtinai atitinkamai pakeiskite IP adresą. Tai turėtų būti IP adresas, kuriame yra žiniatinklio ištekliai. Šiame vadove žiniatinklio šaltiniai, PXE serveris ir TFTP serveris yra talpinami toje pačioje sistemoje. Perpildytame tinkle galbūt norėsite paleisti PXE, TFTP ir žiniatinklio paslaugas atskiruose įrenginiuose, kad pagerintumėte PXE tinklo greitį.

11. PXE serveris nuskaito ir vykdo konfigūracijos failus, esančius pxelinux.cfg TFTP šakniniame kataloge tokia tvarka: GUID failai, MAC failai ir numatytasis failas.

Katalogas pxelinux.cfg jau sukurtas ir užpildytas reikalingais PXE konfigūracijos failais, nes anksčiau nukopijavome tinklo įkrovos failus iš Ubuntu prijungto ISO atvaizdo.

Norėdami pridėti aukščiau pateiktą išankstinio pranešimo failą prie Ubuntu diegimo etiketės PXE konfigūracijos faile, atidarykite toliau pateiktą failą redaguoti, išleisdami toliau pateiktą komandą.

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

Ubuntu PXE txt.cfg konfigūracijos faile pakeiskite šią eilutę, kaip parodyta toliau pateiktoje ištraukoje.

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

Failo /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg turinys turėtų būti toks:

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. Jei prie Ubuntu Rescue meniu norite pridėti išankstinio siuntimo URL teiginį, atidarykite toliau pateiktą failą ir būtinai atnaujinkite turinį, kaip parodyta toliau pateiktame pavyzdyje.

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

Pridėkite šią konfigūraciją prie rqtxt.cfg failo.

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

Svarbi eilutė, kurią turėtumėte atnaujinti, yra url=http://192.168.1.14/ubuntu/preseed/local-sources.seed, kuri nurodo URL adresą, kuriame jūsų tinkle yra paspaustas failas.

13. Galiausiai atidarykite Ubuntu pxe menu.cfg failą ir pakomentuokite pirmas tris eilutes, kad išplėstumėte PXE įkrovos ekraną, kaip parodyta toliau esančioje ekrano kopijoje.

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

Komentuokite šias tris eilutes.

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

5 veiksmas: atidarykite ugniasienės prievadus Ubuntu

14. Vykdykite komandą netstat su root teisėmis, kad identifikuotumėte dnsmasq, tftp ir žiniatinklio atvirus prievadus klausymosi būsenoje jūsų serveryje, kaip parodyta toliau pateiktoje ištraukoje.

netstat -tulpn

15. Nustačius visus reikiamus prievadus, išduokite toliau pateiktas komandas, kad atidarytumėte prievadus ufw užkardoje.

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

6 veiksmas: įdiekite Ubuntu su vietiniais šaltiniais per PXE

16. Norėdami įdiegti Ubuntu serverį per PXE ir naudoti vietinio tinklo diegimo šaltinius, iš naujo paleiskite įrenginio klientą, nurodykite BIOS paleisti iš tinklo ir pirmame PXE meniu ekrane pasirinkite pirmąją parinktį, kaip parodyta žemiau esantys vaizdai.

17. Diegimo procedūra turėtų būti atliekama kaip įprasta. Kai diegimo programa pasiekia Ubuntu archyvo atspindžio šalies sąranką, naudokite klaviatūros rodyklę aukštyn, kad pereitumėte prie pirmosios parinkties, kuri sako: įveskite informaciją rankiniu būdu.

18. Paspauskite klavišą [enter], kad atnaujintumėte šią parinktį, ištrinkite veidrodinę eilutę ir pridėkite žiniatinklio serverio veidrodinio šaltinio IP adresą ir paspauskite Enter, kad tęstumėte, kaip parodyta žemiau esančiame paveikslėlyje.

http://192.168.1.14

19. Kitame ekrane pridėkite veidrodinį archyvo katalogą, kaip parodyta toliau, ir paspauskite įvesties klavišą, kad tęstumėte diegimo procesą ir paprastai.

/ubuntu

20. Jei norite pamatyti informaciją apie tai, kokie paketai atsisiunčiami iš jūsų tinklo vietinio veidrodžio, paspauskite [CTRL+ALT+F2] klavišus, kad pakeistumėte mašinos virtualią konsolę ir išduokite tokią komandą.

tail –f /var/log/syslog

21. Baigus diegti Ubuntu serverį, prisijunkite prie naujai įdiegtos sistemos ir paleiskite šią komandą su root teisėmis, kad atnaujintumėte saugyklų paketus iš vietinio tinklo šaltinių į oficialius Ubuntu veidrodžius.

Norint atnaujinti sistemą naudojant interneto saugyklas, reikia pakeisti veidrodžius.

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

Įsitikinkite, kad pakeisite IP adresą pagal savo žiniatinklio vietinių šaltinių IP adresą.

Tai viskas! Dabar galite atnaujinti Ubuntu serverio sistemą ir įdiegti visą reikalingą programinę įrangą. Įdiegę Ubuntu per PXE ir vietinio tinklo šaltinio veidrodį, galite pagerinti diegimo greitį ir sutaupyti interneto pralaidumo bei išlaidų, jei per trumpą laiką jūsų patalpose bus įdiegta daug serverių.