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:
- Installasjon av Ubuntu Server 16.04 eller 17.04
- Et nettverksgrensesnitt konfigurert med statisk IP-adresse
- 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.