Hvordan installere Ubuntu via PXE Server ved å bruke lokale DVD-kilder


PXE eller Preboot eXecution Environment er en server-klient-mekanisme som instruerer en klientmaskin til å starte opp fra nettverk.

I denne veiledningen viser vi hvordan du installerer Ubuntu Server via en PXE-server med lokale HTTP-kilder speilet fra Ubuntu-serverens ISO-bilde via Apache-nettet server. PXE-serveren som brukes i denne opplæringen er Dnsmasq Server.

Krav:

  1. Installasjon av Ubuntu Server 16.04 eller 17.04
  2. Et nettverksgrensesnitt konfigurert med statisk IP-adresse
  3. Ubuntu Server 16.04 eller 17.04 ISO-bilde

Trinn 1: Installer og konfigurer DNSMASQ Server

1. For å konfigurere PXE-serveren, på første trinn logger du på med root-kontoen eller en konto med root-privilegier og installerer Dnsmasq-pakken i Ubuntu ved å utstede følgende kommando.

apt install dnsmasq

2. Deretter sikkerhetskopierer du dnsmasq hovedkonfigurasjonsfilen og begynner deretter å redigere filen med følgende konfigurasjoner.

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

Legg til følgende konfigurasjon i filen 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

På konfigurasjonsfilen ovenfor erstattes følgende linjer tilsvarende.

  • grensesnitt Erstatt med ditt eget maskinnettverksgrensesnitt.
  • domene – Erstatt det med ditt domenenavn.
  • dhcp-range – Definer ditt eget nettverksområde for DHCP for å tildele IP-er til dette nettverkssegmentet og hvor lenge en IP-adresse for en klient skal gis.
  • dhcp-option=3 – Din gateway-IP.
  • dhcp-option=6 DNS-server-IP-er – flere DNS-IP-er kan defineres.
  • server – IP-adresse for DNS-videresending.
  • dhcp-option=28 – Din nettverkskringkastingsadresse.
  • dhcp-option=42 – NTP-server – bruk 0.0.0.0 Adressen er for selvreferanse.
  • dhcp-boot – pxe-oppstartsfilen og IP-adressen til PXE-serveren (her pxelinux.0 og IP-adressen til samme maskin).
  • pxe-prompt – Bruker kan trykke F8-tasten for å gå inn i PXE-menyen eller vente 2 sekunder før de automatisk bytter til PXE-menyen.
  • pxe=service – Bruk x86PC for 32-bit/64-bit arkitektur og skriv inn en menybeskrivelse under anførselstegn. Andre verdityper kan være: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI og X86-64_EFI.
  • enable-tftp – Aktiverer den innebygde TFTP-serveren.
  • tftp-root – systembanen for nettoppstartsfiler.

3. Etter at du er ferdig med å redigere dnsmasq-konfigurasjonsfilen, oppretter du også katalogen for PXE netboot-filene ved å utstede kommandoen nedenfor og start dnsmasq daemon på nytt for å bruke endringer. Sjekk dnsmasq-tjenestestatus for å se om den er startet.

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

Trinn 2: Installer TFTP Netboot-filer

4. På neste trinn henter du den nyeste versjonen av Ubuntu server ISO-bilde for 64-bits arkitektur ved å utstede følgende kommando.

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

5. Etter at Ubuntu server ISO er lastet ned, monter bildet i katalogen /mnt og lister opp det monterte kataloginnholdet ved å kjøre kommandoene nedenfor.

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

6. Deretter kopierer du netboot-filene fra Ubuntu-montert tre til tftp-systembanen ved å gi kommandoen nedenfor. List også tftp-systembanen for å se de kopierte filene.

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

Trinn 3: Forbered lokale installasjonskildefiler

7. De lokale nettverksinstallasjonskildene for Ubuntu-serveren leveres via HTTP-protokollen. Først, installer, start og aktiver Apache webserver ved å utstede følgende kommandoer.

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

8. Deretter kopierer du innholdet på den monterte Ubuntu DVD-en til Apache-nettserverens rotbane ved å utføre kommandoene nedenfor. List innholdet i Apache-nettrotbanen for å sjekke om Ubuntu ISO-montert tre er fullstendig kopiert.

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

9. Deretter åpner du HTTP-porten i brannmuren og navigerer til maskinens IP-adresse via en nettleser (http://192.168.1.14/ubuntu) for å teste om du kan nå kilder via HTTP-protokoll.

ufw allow http

Trinn 4: Konfigurer PXE-serverkonfigurasjonsfil

10. For å kunne pivotere rootfs via PXE og lokale kilder, må Ubuntu instrueres via en forhåndsinnstilt fil. Opprett følgende local-sources.seed-fil i rotbanen for webserverdokumentet med følgende innhold.

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

Legg til følgende linje i filen local-sources.seed.

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

Her, sørg for at du erstatter IP-adressen tilsvarende. Det skal være IP-adressen der nettressurser er plassert. I denne veiledningen er nettkildene, PXE-serveren og TFTP-serveren vert på samme system. I et overfylt nettverk vil du kanskje kjøre PXE, TFTP og webtjenester på separate maskiner for å forbedre PXE-nettverkshastigheten.

11. En PXE-server leser og kjører konfigurasjonsfiler som ligger i pxelinux.cfg TFTP-rotkatalogen i denne rekkefølgen: GUID-filer, MAC-filer og standardfil.

Katalogen pxelinux.cfg er allerede opprettet og fylt med de nødvendige PXE-konfigurasjonsfilene fordi vi tidligere har kopiert netboot-filene fra Ubuntu-montert ISO-bilde.

For å legge til den forhåndsdefinerte setningsfilen ovenfor til Ubuntu-installasjonsetiketten i PXE-konfigurasjonsfilen, åpne følgende fil for redigering ved å gi kommandoen nedenfor.

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

I Ubuntu PXE txt.cfg konfigurasjonsfil erstatte følgende linje som illustrert i utdraget nedenfor.

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-filen skal ha følgende globale innhold:

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. Hvis du ønsker å legge til forhåndsinnstilt url-setning til Ubuntu Rescue-menyen, åpne filen nedenfor og sørg for at du oppdaterer innholdet som illustrert i eksemplet nedenfor.

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

Legg til følgende konfigurasjon i filen 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

Den viktige linjen du bør oppdatere er url=http://192.168.1.14/ubuntu/preseed/local-sources.seed som spesifiserer URL-adressen der den trykkede filen er plassert i nettverket ditt.

13. Til slutt åpner du Ubuntu pxe menu.cfg-filen og kommenterer de tre første linjene for å utvide PXE-oppstartsskjermen som illustrert i skjermbildet nedenfor.

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

Kommenter disse tre følgende linjene.

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

Trinn 5: Åpne brannmurporter i Ubuntu

14. Utfør netstat-kommando med root-privilegier for å identifisere dnsmasq-, tftp- og nettåpne porter i lyttetilstand på serveren som illustrert i utdraget nedenfor.

netstat -tulpn

15. Etter at du har identifisert alle nødvendige porter, utfør kommandoene nedenfor for å åpne portene i ufw-brannmuren.

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

Trinn 6: Installer Ubuntu med lokale kilder via PXE

16. For å installere Ubuntu-serveren via PXE og bruke de lokale nettverksinstallasjonskildene, start maskinklienten på nytt, instruer BIOS om å starte opp fra nettverket og på den første PXE-menyskjermen velger du det første alternativet som illustrert i under bildene.

17. Installasjonsprosedyren bør utføres som vanlig. Når installasjonsprogrammet når oppsettet for Ubuntu-arkivspeilland, bruker du pil opp på tastaturet for å gå til det første alternativet, som sier: skriv inn informasjon manuelt.

18. Trykk [enter]-tasten for å oppdatere dette alternativet, slett speilstrengen og legg til IP-adressen til nettserverens speilkilder og trykk enter for å fortsette som illustrert i bildet under.

http://192.168.1.14

19. På neste skjerm, legg til speilarkivkatalogen som vist nedenfor og trykk enter-tasten for å fortsette med installasjonsprosessen og vanligvis.

/ubuntu

20. Hvis du ønsker å se informasjon om hvilke pakker som er lastet ned fra ditt lokale nettverksspeil, trykker du [CTRL+ALT+F2]-tastene for å endre virtuell maskinkonsoll og gi følgende kommando.

tail –f /var/log/syslog

21. Etter at installasjonen av Ubuntu-serveren er ferdig, logger du på det nylig installerte systemet og kjører følgende kommando med root-privilegier for å oppdatere repository-pakkene fra lokale nettverkskilder til offisielle Ubuntu-speil.

Speilene må endres for å oppdatere systemet ved hjelp av internettlagrene.

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

Forsikre deg om at du erstatter IP-adressen i henhold til IP-adressen til dine egne nettbaserte kilder.

Det er alt! Du kan nå oppdatere Ubuntu-serversystemet og installere all nødvendig programvare. Installering av Ubuntu via PXE og et lokalt nettverkskildespeil kan forbedre installasjonshastigheten og kan spare internettbåndbredde og kostnader i tilfelle distribusjon av et stort antall servere i løpet av kort tid i lokalene dine.