Difference between revisions of "PXE-Deploy"

From HackerNet
Jump to: navigation, search
Tag: visualeditor
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Preboot Execution Environment är en miljö som används för att boota datorer med hjälp av ett nätverkskort helt oberoende av lagringsenheter som hårddiskar eller installerade operativsystem. PXE är en blandning av DHCP och TFTP, dock med ändringar. DHCP används för att hitta en boot server, och TFTP används för att hämta bootloadern och eventuella andra filer.
+
[[Category:Guider]]
 +
Preboot Execution Environment är en miljö som används för att boota datorer med hjälp av ett nätverkskort helt oberoende av lagringsenheter som hårddiskar eller installerade operativsystem. När du säger åt din maskin att PXE/Nätverksboota kommer den att skicka en DHCP-begäran som DHCP-servern kommer att svara på och det kommer att innehålla två speciella saker, en "next-server" och ett filnamn. "Next-server " är din TFTP-server och filen är det din server kommer att ladda ner och köra ifrån. Denna fil är vanligtvis en bootloader såsom pxelinux eller pxegrub. Se även [[IPXE]]
  
Valfri DHCP-server kan användas, det som ska pekas ut är tftp-servern. T.ex.  
+
Valfri DHCP-server kan användas, det som ska pekas ut är tftp-servern. T.ex.
 
  next-server 192.168.0.100; filename "pxelinux.0";
 
  next-server 192.168.0.100; filename "pxelinux.0";
  
 
Valfri tftp-server kan användas, den ska endast hålla filer.  
 
Valfri tftp-server kan användas, den ska endast hålla filer.  
  
== pxelinux ==
+
== Installation ==
Här följer ett exempel på en pxelinux-setup (ej tftp eller dhcp). Först gäller det att få tag på de nödvändiga filerna.
+
Här följer ett exempel på en pxelinux-setup (ej [[TFTP]] eller [[ISC_DHCP|DHCP]]). Först gäller det att få tag på de nödvändiga filerna.
 
  apt-get -y install syslinux
 
  apt-get -y install syslinux
 +
 +
== Konfiguration ==
 +
mkdir -p /tftpboot/pxelinux.cfg
 
  cp /usr/lib/syslinux/pxelinux.0 /tftpboot
 
  cp /usr/lib/syslinux/pxelinux.0 /tftpboot
  cp /usr/lib/syslinux/vesamenu.c32 /tftpboot
+
  cp /usr/lib/syslinux/vesamenu.c32 /tftpboot/pxelinux.cfg
 +
cp /usr/lib/syslinux/pxechain.com /tftpboot/pxelinux.cfg
 
Sedan ska huvudkonf-filen skapas, här bestämmer man hur pxe:n ska se ut.
 
Sedan ska huvudkonf-filen skapas, här bestämmer man hur pxe:n ska se ut.
 
  cat<<'__EOF__'>/tftpboot/pxelinux.cfg/default
 
  cat<<'__EOF__'>/tftpboot/pxelinux.cfg/default
Line 27: Line 32:
 
Det som står efter kernel och initrd är sökvägar som är relativa till tftpboot
 
Det som står efter kernel och initrd är sökvägar som är relativa till tftpboot
  
== Kickstart ==
+
== Unattended ==
 
Vill man automatisera sina installationer kan man göra det med kickstart-filer. T.ex.
 
Vill man automatisera sina installationer kan man göra det med kickstart-filer. T.ex.
 
  label InstallServer1404
 
  label InstallServer1404
Line 33: Line 38:
 
         append ks=http://192.168.0.100/ks.cfg vga=normal initrd=server1404/initrd.gz ramdisk_size=16432 root=/dev/rd/0 rw  --
 
         append ks=http://192.168.0.100/ks.cfg vga=normal initrd=server1404/initrd.gz ramdisk_size=16432 root=/dev/rd/0 rw  --
  
 +
===Skapa ks-fil===
 +
I många distar kan man köra följande: (in graphical environment)
 +
system-config-kickstart
 +
 +
===Kickstartfiler===
 +
<categorytree mode=pages hideroot=on>Kickstart</categorytree>
 
== Liveboot ==
 
== Liveboot ==
 
Det går även att liveboota med PXE, då kan man använda en NFS-share. T.ex.
 
Det går även att liveboota med PXE, då kan man använda en NFS-share. T.ex.
Line 38: Line 49:
 
  KERNEL kali/live/vmlinuz
 
  KERNEL kali/live/vmlinuz
 
  APPEND boot=live netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/kali initrd=kali/live/initrd.img quiet splash --
 
  APPEND boot=live netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/kali initrd=kali/live/initrd.img quiet splash --
 +
 +
== Flera PXE-servrar ==
 +
Vill man hoppa till en annan PXE-server, t.ex. en windows.
 +
LABEL Jump to other PXE
 +
KERNEL pxelinux.cfg/pxechain.com
 +
APPEND 192.168.0.10::pxelinux.0
  
 
== Exempel på användbara verktyg att ha på en PXE ==
 
== Exempel på användbara verktyg att ha på en PXE ==
Line 52: Line 69:
 
  kernel gparted/vmlinuz
 
  kernel gparted/vmlinuz
 
  append initrd=gparted/initrd.img boot=live config noswap noprompt nosplash netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/gparted
 
  append initrd=gparted/initrd.img boot=live config noswap noprompt nosplash netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/gparted
 
== Användarinstruktioner ==
 
 
=== Helikopter ===
 
Vill någon använda sig av min PXE-server behövs en site-to-site VPN samt att er DHCP-server konfas enligt följande:
 
 
Enable network booting: Yes
 
 
Next-server: 172.22.0.50
 
 
Filename: pxelinux.0
 

Latest revision as of 19:48, 10 December 2015

Preboot Execution Environment är en miljö som används för att boota datorer med hjälp av ett nätverkskort helt oberoende av lagringsenheter som hårddiskar eller installerade operativsystem. När du säger åt din maskin att PXE/Nätverksboota kommer den att skicka en DHCP-begäran som DHCP-servern kommer att svara på och det kommer att innehålla två speciella saker, en "next-server" och ett filnamn. "Next-server " är din TFTP-server och filen är det din server kommer att ladda ner och köra ifrån. Denna fil är vanligtvis en bootloader såsom pxelinux eller pxegrub. Se även IPXE

Valfri DHCP-server kan användas, det som ska pekas ut är tftp-servern. T.ex.

next-server 192.168.0.100; filename "pxelinux.0";

Valfri tftp-server kan användas, den ska endast hålla filer.

Installation

Här följer ett exempel på en pxelinux-setup (ej TFTP eller DHCP). Först gäller det att få tag på de nödvändiga filerna.

apt-get -y install syslinux

Konfiguration

mkdir -p /tftpboot/pxelinux.cfg
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /usr/lib/syslinux/vesamenu.c32 /tftpboot/pxelinux.cfg
cp /usr/lib/syslinux/pxechain.com /tftpboot/pxelinux.cfg

Sedan ska huvudkonf-filen skapas, här bestämmer man hur pxe:n ska se ut.

cat<<'__EOF__'>/tftpboot/pxelinux.cfg/default
default vesamenu.c32
background pxelinux.cfg/badass.png
prompt 0
timeout 0

label First label
       kernel firstkernel

label Second label
       kernel secondkernel
__EOF__

Det som står efter kernel och initrd är sökvägar som är relativa till tftpboot

Unattended

Vill man automatisera sina installationer kan man göra det med kickstart-filer. T.ex.

label InstallServer1404
       kernel server1404/linux
       append ks=http://192.168.0.100/ks.cfg vga=normal initrd=server1404/initrd.gz ramdisk_size=16432 root=/dev/rd/0 rw  --

Skapa ks-fil

I många distar kan man köra följande: (in graphical environment)

system-config-kickstart

Kickstartfiler

Liveboot

Det går även att liveboota med PXE, då kan man använda en NFS-share. T.ex.

LABEL Kali Live
KERNEL kali/live/vmlinuz
APPEND boot=live netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/kali initrd=kali/live/initrd.img quiet splash --

Flera PXE-servrar

Vill man hoppa till en annan PXE-server, t.ex. en windows.

LABEL Jump to other PXE
KERNEL pxelinux.cfg/pxechain.com
APPEND 192.168.0.10::pxelinux.0

Exempel på användbara verktyg att ha på en PXE

LABEL Auto ^Nuke! DBAN No Questions Asked!
KERNEL DBAN/DBAN.BZI
APPEND nuke="dwipe --autonuke" silent


label MemTest
kernel memtest/mt86plus


label GParted Live
kernel gparted/vmlinuz
append initrd=gparted/initrd.img boot=live config noswap noprompt nosplash netboot=nfs nfsroot=192.168.0.100:/mnt/tftpboot/gparted