PXE (Preboot Execution Environment) Server giver brugeren mulighed for at starte en Linux-distribution fra et netværk og installere det på hundredvis af pc'er ad gangen uden nogen Linux iso-billeder. Hvis din klients computere ikke har cd / dvd eller USB-drev, eller hvis du vil opsætte flere computere samtidig i en stor virksomhed, kan PXE-serveren bruges til at spare penge og tid.

I denne artikel vil vi vise dig, hvordan du kan konfigurere en PXE-server i Ubuntu 14.04.

Konfigurer netværk

For at komme i gang skal du først oprette din PXE-server for at bruge en statisk IP. For at oprette en statisk IP-adresse i dit system skal du redigere filen "/ etc / network / interfaces".

1. Åbn filen "/ etc / network / interfaces".

 sudo nano / etc / network / interfaces 

Tilføj / rediger som beskrevet nedenfor:

 # Loopback-netværksgrænsefladen auto lo iface lo inet loopback # Den primære netværks grænseflade auto eth0 iface eth0 inet statisk adresse 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 

Gem filen og afslut. Dette vil indstille sin IP-adresse til "192.168.1.20". Genstart netværkstjenesten.

 sudo /etc/init.d/networking genstart 

Installer DHCP, TFTP og NFS:

DHCP, TFTP og NFS er vigtige komponenter til konfiguration af en PXE-server. Først skal du opdatere dit system og installere alle nødvendige pakker.

Kør herfor følgende kommandoer:

 sudo apt-get opdatering sudo apt-get installer isc-dhcp-server inetutils-inetd tftpd-hpa syslinux nfs-kernel-server 

Konfigurer DHCP-server:

DHCP står for Dynamic Host Configuration Protocol, og den bruges primært til dynamisk distribution af netværkskonfigurationsparametre som IP-adresser for grænseflader og tjenester. En DHCP-server i PXE-miljø giver kunderne mulighed for at anmode om og modtage en IP-adresse automatisk for at få adgang til netværksservere.

1. Rediger "/ etc / default / dhcp3-server" filen.

 sudo nano / etc / default / dhcp3-server 

Tilføj / rediger som beskrevet nedenfor:

 GRÆNSEFLADER = "eth0" 

Gem (Ctrl + o) og afslut (Ctrl + x) filen.

2. Rediger filen "/etc/dhcp3/dhcpd.conf":

 sudo nano /etc/dhcp/dhcpd.conf 

Tilføj / rediger som beskrevet nedenfor:

 standard leasingtid 600; max leasingtid 7200; subnet 192.168.1.0 netmask 255.255.255.0 {interval 192.168.1.21 192.168.1.240; option subnetmaske 255.255.255.0; option routere 192.168.1.20; option broadcast-adresse 192.168.1.255; filnavn "pxelinux.0"; næste server 192.168.1.20; } 

Gem filen og afslut.

3. Start DHCP-tjenesten.

 sudo /etc/init.d/isc-dhcp-server start 

Konfigurer TFTP Server:

TFTP er en filoverførselsprotokol, der ligner FTP. Den bruges, hvor brugerautentificering og katalogsynlighed ikke er påkrævet. TFTP-serveren lytter altid til PXE-klienter på netværket. Når det registrerer enhver PXE-netværksklient, der beder om PXE-tjenester, giver den en netværkspakke, der indeholder opstartsmenuen.

1. For at konfigurere TFTP, rediger filen "/etc/inetd.conf".

 sudo nano /etc/inetd.conf 

Tilføj / rediger som beskrevet nedenfor:

 tftp dgram udp vent rot /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s / var / lib / tftpboot 

Gem og afslut filen.

2. Rediger filen "/ etc / default / tftpd-hpa".

 sudo nano / etc / default / tftpd-hpa 

Tilføj / rediger som beskrevet nedenfor:

 TFTP_USERNAME = "tftp" TFTP_DIRECTORY = "/ var / lib / tftpboot" TFTP_ADDRESS = "[: 0.0.0.0:]:69" TFTP_OPTIONS = "- sikker" RUN_DAEMON = "ja" OPTIONS = "- l -s / var / lib / tftpboot" 

Gem og afslut filen.

3. Aktiver boot service for inetd at starte automatisk efter hvert system genstart og start tftpd service.

 sudo update-inetd --enable BOOT sudo service tftpd-hpa start 

4. Kontrollér status.

 sudo netstat -lu 

Det viser følgende output:

 Proto Recv-Q Send-Q Lokal Adresse Udenlandsk Adresse State udp 0 0 *: tftp *: * 

Konfigurer PXE boot filer

Nu har du brug for PXE boot fil "pxelinux.0" for at være til stede i TFTP root directory. Lav en mappestruktur for TFTP, og kopier alle de bootloader-filer, der leveres af syslinux fra "/ usr / lib / syslinux /" til "/ var / lib / tftpboot /" -paden ved at udstede følgende kommandoer:

 sudo mkdir / var / lib / tftpboot sudo mkdir /var/lib/tftpboot/pxelinux.cfg sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /usr/lib/syslinux/vesamenu.c32 / var / lib / tftpboot / sudo cp /usr/lib/syslinux/pxelinux.0 / var / lib / tftpboot / 

Opsæt PXELINUX konfigurationsfil

PXE-konfigurationsfilen definerer bootmenuen, der vises til PXE-klienten, når den starter op og kontakter TFTP-serveren. Som standard, når en PXE-klient starter op, bruger den sin egen MAC-adresse til at angive, hvilken konfigurationsfil der skal læses, så vi skal oprette den standardfil, der indeholder listen over kerner, der er tilgængelige for opstart.

Rediger PXE Server-konfigurationsfilen med gyldige installationsindstillinger.

For at redigere "/var/lib/tftpboot/pxelinux.cfg/default, "

 sudo nano /var/lib/tftpboot/pxelinux.cfg/default 

Tilføj / rediger som beskrevet nedenfor:

 DEFAULT vesamenu.c32 TIMEOUT 100 PROMPT 0 MENU INDEHOLDER pxelinux.cfg / PXE.conf NOESCAPE 1 ETIKET Prøv Ubuntu 14.04 Desktop MENU ETIKET Prøv Ubuntu 14.04 Desktop kernel Ubuntu / vmlinuz append boot = casper netboot = nfs nfsroot = 192.168.1.20: / var / lib / tftpboot / Ubuntu / 14.04 / amd64 initrd = Ubuntu / initrd.lz stille stænk ENDTEXT LABEL Installer Ubuntu 14.04 Desktop MENU LABEL Installer Ubuntu 14.04 Desktop kerne Ubuntu / vmlinuz append boot = casper automatisk ubiquity netboot = nfs nfsroot = 192.168.1.20: /var/lib/tftpboot/Ubuntu/14.04/amd64 initrd = Ubuntu / initrd.lz stille stænk ENDTEXT 

Gem og afslut filen.

Rediger filen "/var/lib/tftpboot/pxelinux.cfg/pxe.conf".

 sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf 

Tilføj / rediger som beskrevet nedenfor:

 MENU TITLE PXE Server NOESCAPE 1 ALLOWOPTIONS 1 PROMPT 0 MENU WIDTH 80 MENU ROWS 14 MENU TABMSGROW 24 MENU MARGIN 10 MENU COLOR border 30; 44 #ffffffff # 00000000 std 

Gem og afslut filen.

Tilføj Ubuntu 14.04 Desktop Boot Images til PXE Server

Til dette kræves Ubuntu kernel og initrd filer. For at få disse filer, skal du bruge Ubuntu 14.04 Desktop ISO Image. Du kan downloade Ubuntu 14.04 ISO image i mappen / mnt ved at udstede følgende kommando:

 sudo cd / mnt sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso 

Bemærk : Download-webadressen kan ændres, da ISO-billedet er opdateret. Tjek denne hjemmeside for det seneste downloadlink, hvis ovenstående URL ikke virker.

Monter ISO-filen, og kopier alle filerne til TFTP-mappen ved at udstede følgende kommandoer:

 sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso/media/ sudo cp -r / media / * /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp -r / media / .disk /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /media/casper/initrd.lz / media / casper / vmlinuz / var / lib / tftpboot / Ubuntu / 

Konfigurer NFS-server til at eksportere ISO-indhold

Nu skal du konfigurere Installation Source Mirrors via NFS-protokollen. Du kan også bruge http og ftp til Installation Source Mirrors. Her har jeg brugt NFS til at eksportere ISO-indhold.

For at konfigurere NFS-serveren skal du redigere filen "/ etc / exports".

 sudo nano / etc / exports 

Tilføj / rediger som beskrevet nedenfor:

 /var/lib/tftpboot/Ubuntu/14.04/amd64 * (ro, async, no_root_squash, no_subtree_check) 

Gem og afslut filen. For at ændringerne skal træde i kraft, skal du eksportere og starte NFS-tjenesten.

 sudo exportfs -a sudo /etc/init.d/nfs-kernel-server start 

Nu er din PXE-server klar.

Konfigurer netværksboot PXE-klient

En PXE-klient kan være et hvilket som helst computersystem med en PXE-netværks boot-aktiveringsindstilling. Nu kan dine kunder starte og installere Ubuntu 14.04 Desktop ved at aktivere "Boot From Network" muligheder fra deres system BIOS.

Du er nu klar til at gå - start din PXE Client Machine med opsætningen af ​​opstartsaktiver til netværk, og du skal nu se en undermenu, der viser til dit Ubuntu 14.04 Desktop, som vi oprettede.

Konklusion

Konfiguration af netværksstartinstallation ved hjælp af PXE-serveren er effektiv og en tidsbesparende metode. Du kan installere hundredvis af klienter ad gangen i dit lokale netværk. Alt du behøver er en PXE-server og PXE-aktiverede klienter. Prøv det, og lad os vide, om dette virker for dig.

Reference: PXE Server wiki PXE Server Ubuntu

Billedkredit: fupsol_unl_20