PXE (Preboot Execution Environment) Server tillåter användaren att starta en Linux-distribution från ett nätverk och installera det på hundratals datorer i taget utan några Linux-iso-bilder. Om din kunds datorer inte har CD / DVD eller USB-enheter, eller om du vill konfigurera flera datorer samtidigt i ett stort företag, kan PXE-servern användas för att spara pengar och tid.

I den här artikeln visar vi hur du kan konfigurera en PXE-server i Ubuntu 14.04.

Konfigurera nätverk

För att komma igång måste du först konfigurera din PXE-server för att kunna använda en statisk IP-adress. För att ställa in en statisk IP-adress i ditt system måste du redigera filen "/ etc / network / interfaces".

1. Öppna filen "/ etc / network / interfaces".

 sudo nano / etc / network / interfaces 

Lägg till / redigera enligt beskrivningen nedan:

 # Loopback-nätverksgränssnittet automatiskt om det går att gå tillbaka # Det primära nätverksgränssnittet auto eth0 iface eth0 inet statisk adress 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 

Spara filen och avsluta. Detta ställer in sin IP-adress till "192.168.1.20". Starta om nätverkstjänsten.

 sudo /etc/init.d/networking omstart 

Installera DHCP, TFTP och NFS:

DHCP, TFTP och NFS är viktiga komponenter för att konfigurera en PXE-server. Först måste du uppdatera ditt system och installera alla nödvändiga paket.

För detta kör följande kommandon:

 sudo apt-get uppdatering sudo apt-get installera isc-dhcp-server inetutils-inetd tftpd-hpa syslinux nfs-kernel-server 

Konfigurera DHCP-servern:

DHCP står för Dynamic Host Configuration Protocol och används främst för att dynamiskt distribuera nätverkskonfigurationsparametrar som IP-adresser för gränssnitt och tjänster. En DHCP-server i PXE-miljö gör det möjligt för kunder att begära och ta emot en IP-adress automatiskt för att få tillgång till nätverksservrarna.

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

 sudo nano / etc / default / dhcp3-server 

Lägg till / redigera enligt beskrivningen nedan:

 GRÄNSSNITT = "eth0" 

Spara (Ctrl + o) och avsluta (Ctrl + x) filen.

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

 sudo nano /etc/dhcp/dhcpd.conf 

Lägg till / redigera enligt beskrivningen nedan:

 standard-leasingtid 600; max-leasingtid 7200; subnet 192.168.1.0 nätmask 255.255.255.0 {intervall 192.168.1.21 192.168.1.240; alternativ subnätmask 255.255.255.0; option routrar 192.168.1.20; alternativ sändningsadress 192.168.1.255; filnamn "pxelinux.0"; nästa server 192.168.1.20; } 

Spara filen och avsluta.

3. Starta DHCP-tjänsten.

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

Konfigurera TFTP-servern:

TFTP är ett filöverföringsprotokoll som liknar FTP. Den används där användarautentisering och katalogsynlighet inte krävs. TFTP-servern lyssnar alltid på PXE-klienter i nätverket. När det upptäcker någon PXE-nätverksklient som begär PXE-tjänster, tillhandahåller den ett nätverkspaket som innehåller startmenyn.

1. För att konfigurera TFTP, redigera filen "/etc/inetd.conf".

 sudo nano /etc/inetd.conf 

Lägg till / redigera enligt beskrivningen nedan:

 tftp dgram utp vänta root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s / var / lib / tftpboot 

Spara och lämna filen.

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

 sudo nano / etc / default / tftpd-hpa 

Lägg till / redigera enligt beskrivningen nedan:

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

Spara och lämna filen.

3. Aktivera inetd för inetd att starta automatiskt efter varje systemstart och starta tftpd tjänsten.

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

4. Kontrollera status.

 sudo netstat -lu 

Det kommer att visa följande utdata:

 Proto Recv-Q Skicka-Q Lokal Adress Utländsk Adress State utp 0 0 *: tftp *: * 

Konfigurera PXE-startfiler

Nu behöver du PXE-startfilen "pxelinux.0" för att vara närvarande i TFTP-rotkatalogen. Skapa en katalogstruktur för TFTP och kopiera alla bootloader-filer som tillhandahålls av syslinux från "/ usr / lib / syslinux /" till "/ var / lib / tftpboot /" -banan genom att utfärda följande kommandon:

 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 / 

Ställ in PXELINUX konfigurationsfil

PXE-konfigurationsfilen definierar startmenyn som visas till PXE-klienten när den startar upp och kontaktar TFTP-servern. Som standard, när en PXE-klient startar upp, använder den sin egen MAC-adress för att ange vilken konfigurationsfil som ska läsas, så vi måste skapa den standardfilen som innehåller listan över kärnor som är tillgängliga för start.

Redigera konfigurationsfilen för PXE Server med giltiga installationsalternativ.

För att redigera "/var/lib/tftpboot/pxelinux.cfg/default, "

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

Lägg till / redigera enligt beskrivningen nedan:

 DEFAULT vesamenu.c32 TIMEOUT 100 PROMPT 0 MENU INKLUDERA pxelinux.cfg / PXE.conf NOESCAPE 1 MÄRKEN Försök Ubuntu 14.04 Skrivbord MENY LABEL Försök Ubuntu 14.04 Desktopkärna Ubuntu / vmlinuz append boot = casper netboot = nfs nfsroot = 192.168.1.20: / var / lib / tftpboot / Ubuntu / 14.04 / amd64 initrd = Ubuntu / initrd.lz tyst stänk ENDTEXT LABEL Installera Ubuntu 14.04 Skrivbord MENY LABEL Installera Ubuntu 14.04 Skrivbordskärna 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 tyst stänk ENDTEXT 

Spara och lämna filen.

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

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

Lägg till / redigera enligt beskrivningen nedan:

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

Spara och lämna filen.

Lägg till Ubuntu 14.04 Desktop Boot Images till PXE Server

För detta krävs Ubuntu-kärn- och initrd-filer. För att få dessa filer behöver du Ubuntu 14.04 Desktop ISO Image. Du kan ladda ner Ubuntu 14.04 ISO-bilden i mappen / mnt genom att utfärda följande kommando:

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

Obs! Nedladdningsadressen kan ändras när ISO-bilden är uppdaterad. Kolla in den här webbplatsen för den senaste hämtningslänken om ovanstående URL inte fungerar.

Montera ISO-filen och kopiera alla filer till TFTP-mappen genom att utfärda följande kommandon:

 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 / 

Konfigurera NFS-server för att exportera ISO-innehåll

Nu behöver du installera installationskälla speglar via NFS protokoll. Du kan också använda http och ftp för installationskällspeglar. Här har jag använt NFS för att exportera ISO-innehåll.

För att konfigurera NFS-servern måste du redigera filen "/ etc / export".

 sudo nano / etc / export 

Lägg till / redigera enligt beskrivningen nedan:

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

Spara och lämna filen. För att ändringarna ska träda i kraft, exportera och starta NFS-tjänsten.

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

Nu är din PXE-server klar.

Konfigurera Network Boot PXE Client

En PXE-klient kan vara vilket datorsystem som helst med ett PXE-nätverksstart-aktiveringsalternativ. Nu kan dina kunder starta och installera Ubuntu 14.04 Desktop genom att aktivera alternativen "Boot From Network" från sina system BIOS.

Du är nu redo att gå - starta din PXE Client Machine med alternativet för nätverksstart, och du bör nu se en undermeny som visar för ditt Ubuntu 14.04-skrivbord som vi skapade.

Slutsats

Konfigurera nätverksstartinstallation med PXE-servern är effektiv och en tidsbesparande metod. Du kan installera hundratals klienter åt gången i ditt lokala nätverk. Allt du behöver är en PXE-server och PXE-aktiverade klienter. Prova det och låt oss veta om det här fungerar för dig.

Referens: PXE Server wiki PXE Server Ubuntu

Bildkrediter: fupsol_unl_20