DVDerli DVD çeşmelerini ulanyp, PXE serweri arkaly Ubuntu nädip gurmaly


PXE ýa-da Preboot eXecution Daşky gurşaw, müşderi maşynyna forma toruny açmagy tabşyrýan serwer-müşderi mehanizmidir.

Bu gollanmada Ubuntu Serwerini Apache web serweri arkaly Ubuntu serweri ISO şekilinden şöhlelenen ýerli HTTP çeşmeleri bilen PXE serweriniň üsti bilen nädip gurmalydygyny görkezeris. Bu gollanmada ulanylýan PXE serweri Dnsmasq Serweridir.

  1. Ubuntu Server 16.04 ýa-da 17.04 Gurmak
  2. Statik IP adresi bilen düzülen tor interfeýsi
  3. Ubuntu Server 16.04 ýa-da 17.04 ISO suraty

1-nji ädim: DNSMASQ serwerini guruň we sazlaň

1. PXE serwerini gurmak üçin, ilkinji ädimde kök hasaby ýa-da kök aýratynlyklary bolan hasap bilen giriň we aşakdaky buýrugy bermek bilen Ubuntu-da Dnsmasq paketini guruň.

# apt install dnsmasq

2. Ondan soň, dnsmasq esasy konfigurasiýa faýlyny ätiýaçlaň we faýly aşakdaky konfigurasiýalar bilen redaktirläp başlaň.

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

Dnsmasq.conf faýlyna aşakdaky konfigurasiýany goşuň.

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

Aboveokardaky konfigurasiýa faýlynda aşakdaky setirleri çalyşyň.

  • interfeýs Öz maşyn tor interfeýsi bilen çalyşyň.
  • domen - domen adyňyz bilen çalyşyň.
  • dhcp-range - DHCP üçin bu set segmentine IP paýlamak üçin öz toruňyzy kesgitläň we müşderi üçin IP adresi näçe wagt berilmeli.
  • dhcp-option=3 - Şlýuz IP.
  • dhcp-option=6 DNS Serwer IP - birnäçe DNS IP kesgitlenip bilner.
  • serwer - DNS ekspeditor IP adresi.
  • dhcp-option=28 - Toruňyzyň ýaýlym salgysy.
  • dhcp-option=42 - NTP serweri - 0.0.0.0 ulanyň Salgy öz-özüne salgylanmak üçin.
  • dhcp-boot - pxe boot faýly we PXE serweriniň IP adresi (şu ýerde pxelinux.0 we şol bir enjamyň IP adresi).
  • pxe-prompt - Ulanyjylar PXE menýusyna girmek üçin F8 düwmesini basyp ýa-da PXE menýusyna awtomatiki geçmezden 2 sekunt garaşyp bilerler.
  • pxe=hyzmat - 32 bitli/64 bitli arhitektura üçin x86PC ulanyň we setir sitatlarynyň aşagynda menýu düşündirişini giriziň. Beýleki bahalaryň görnüşleri bolup biler: PC98, IA64_EFI, Alfa, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI we X86-64_EFI.
  • enable-tftp - Gurlan TFTP serwerini işledýär.
  • tftp-root - sap ýük faýllary üçin ulgam ýoly.

3. Şeýle hem, dnsmasq konfigurasiýa faýlyny redaktirläniňizden soň, aşakdaky buýrugy bermek bilen PXE netboot faýllary üçin katalog dörediň we üýtgeşmeler girizmek üçin dnsmasq daemonyny täzeden açyň. Dnsmasq hyzmat ýagdaýynyň başlandygyny ýa-da ýokdugyny barlaň.

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

2-nji ädim: TFTP Netboot faýllaryny guruň

4. Indiki ädimde aşakdaky buýrugy bermek bilen 64 bitli arhitektura üçin Ubuntu serweriniň ISO şekiliniň iň soňky wersiýasyny alyň.

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

5. Ubuntu serweri ISO göçürilenden soň, suraty /mnt bukjasyna guruň we aşakdaky buýruklary işledip, gurnalan katalog mazmunyny sanaň.

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

6. Ondan soň, netboot faýllaryny Ubuntu oturdylan agaçdan aşakdaky buýrugy bermek bilen tftp ulgam ýoluna göçüriň. Şeýle hem, göçürilen faýllary görmek üçin tftp ulgam ýoluny sanaň.

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

3-nji ädim: Localerli gurnama çeşme faýllaryny taýýarlaň

7. Ubuntu serweri üçin ýerli ulgam gurnama çeşmeleri HTTP protokoly arkaly üpjün ediler. Ilki bilen, aşakdaky buýruklary çykaryp, Apache web serwerini guruň, işe giriziň we işlediň.

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

8. Soňra, gurnalan Ubuntu DVD-iň mazmunyny aşakdaky buýruklary ýerine ýetirip, Apache web serweriniň web kök ýoluna göçüriň. Ubuntu ISO oturdylan agajyň doly göçürilendigini ýa-da ýokdugyny barlamak üçin Apache web kök ýolunyň mazmunyny sanaň.

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

9. Ondan soň, diwar diwarynda HTTP portuny açyň we HTTP protokoly arkaly çeşmelere baryp biljekdigiňizi barlamak üçin brauzer ( http://192.168.1.14/ubuntu ) arkaly enjamyňyzyň IP adresine geçiň.

# ufw allow http

4-nji ädim: PXE serwer konfigurasiýa faýlyny guruň

10. Kök köklerini PXE we ýerli çeşmeler arkaly ýerleşdirip bilmek üçin Ubuntu deslapky faýl arkaly görkezme bermeli. Aşakdaky mazmun bilen web serweriňiz resminama kök ýolunda aşakdaky ýerli çeşmeler.seed faýly dörediň.

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

Localerli çeşmeler.seed faýlyna aşakdaky setiri goşuň.

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

Bu ýerde, IP adresini şoňa görä çalyşýandygyňyza göz ýetiriň. Web çeşmeleriniň ýerleşýän IP adresi bolmaly. Bu gollanmada web çeşmeleri, PXE serweri we TFTP serweri bir ulgamda ýerleşýär. Köp adamly torda PXE toruň tizligini ýokarlandyrmak üçin PXE, TFTP we web hyzmatlaryny aýratyn maşynlarda işletmek isläp bilersiňiz.

11. PXE Serweri pxelinux.cfg TFTP kök katalogynda ýerleşýän konfigurasiýa faýllaryny şu tertipde okaýar we ýerine ýetirýär: GUID faýllary, MAC faýllary we deslapky faýl.

Pxelinux.cfg katalogy eýýäm zerur we zerur PXE konfigurasiýa faýllary bilen döredildi we netboot faýllaryny Ubuntu gurnalan ISO şekilinden ozal göçüripdik.

PXE konfigurasiýa faýlyndaky Ubuntu gurnama belligine ýokarda görkezilen sözlem faýlyny goşmak üçin aşakdaky buýrugy bermek bilen redaktirlemek üçin aşakdaky faýly açyň.

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

Ubuntu PXE txt.cfg konfigurasiýa faýly aşakdaky bölekde görkezilişi ýaly aşakdaky setiri çalyşýar.

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

/Srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg faýlynda aşakdaky global mazmun bolmaly:

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. Ubuntu halas ediş menýusyna öňünden berlen url beýanyny goşmak isleseňiz, aşakdaky faýly açyň we aşakdaky mysalda görkezilişi ýaly mazmuny täzeländigiňize göz ýetiriň.

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

Aşakdaky konfigurasiýany rqtxt.cfg faýlyna goşuň.

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

Täzelemeli möhüm setir url=http://192.168.1.14/ubuntu/preseed/local-sources.seed, basylan faýlyň toruňyzda ýerleşýän URL salgysyny kesgitleýär.

13. Ahyrynda, Ubuntu pxe menu.cfg faýly açyň we aşakdaky skrinshotda görkezilişi ýaly PXE boot ekranyny giňeltmek üçin ilkinji üç setiri düşündiriň.

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

Aşakdaky üç setiri düşündiriň.

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

5-nji ädim: Ubuntu-da Firewall portlaryny açyň

14. Aşakdaky bölekde görkezilişi ýaly serweriňizdäki diňleýiş ýagdaýynda dnsmasq, tftp we web açyk portlaryny kesgitlemek üçin kök aýratynlyklary bilen netstat buýrugyny ýerine ýetiriň.

# netstat -tulpn

15. requiredhli zerur portlary kesgitläniňizden soň, portlary ufw firewall-da açmak üçin aşakdaky buýruklary beriň.

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

6-njy ädim: Ubuntu-ny PXE arkaly ýerli çeşmeler bilen guruň

16. Ubuntu serwerini PXE arkaly gurmak we ýerli tor gurmak çeşmelerini ulanmak, enjam müşderiňizi täzeden açmak, BIOS-dan tordan başlamagy tabşyrmak we ilkinji PXE menýu ekranynda aşakdaky suratlarda görkezilişi ýaly birinji warianty saýlaň.

17. Gurmak prosedurasy hemişeki ýaly ýerine ýetirilmelidir. Gurnaýjy Ubuntu arhiw aýnasy ýurt sazlamasyna ýetende, birinji opsiýa geçmek üçin ýokary klawiatura okuny ulanyň, ýagny: maglumaty el bilen giriziň.

18. Bu opsiýany täzelemek, aýna setirini pozmak we web serweriniň aýna çeşmeleriniň IP adresini goşmak üçin [enter] düwmesini basyň we aşakdaky suratda görkezilişi ýaly dowam etmek üçin enter basyň.

http://192.168.1.14

19. Indiki ekranda, aşakda görkezilişi ýaly aýna arhiw katalogyňyzy goşuň we gurnama işini dowam etdirmek üçin enter düwmesini basyň.

/ubuntu

20. Toruň ýerli aýnasyndan haýsy paketleriň göçürilýändigi barada maglumat görmek isleseňiz, wirtual konsoly üýtgetmek we aşakdaky buýrugy bermek üçin [CTRL + ALT + F2] düwmelerine basyň.

# tail –f /var/log/syslog

21. “Ubuntu” serweri gurlandan soň, täze gurlan ulgama giriň we ammar paketlerini ýerli ulgam çeşmelerinden resmi Ubuntu aýnalaryna çenli täzelemek üçin kök ygtyýarlyklary bilen aşakdaky buýrugy işlediň.

Internet ammarlaryny ulanyp ulgamy täzelemek üçin aýnalary üýtgetmeli.

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

IP salgysyny öz web ýerli çeşmeleriňiziň IP adresi boýunça çalyşýandygyňyzy anyklaň.

Bu hemmesi! Indi Ubuntu serwer ulgamyňyzy täzeläp, ähli zerur programma üpjünçiligini gurup bilersiňiz. Ubuntu-ny PXE we ýerli ulgam çeşmesiniň aýnasy arkaly gurmak, gurnamagyň tizligini ýokarlandyryp biler we jaýyňyzda gysga wagtyň içinde köp sanly serwer ýerleşdirilen ýagdaýynda internet zolagyny we çykdajylary tygşytlap biler.