• Logout
Bonhoeffer ICT

Bonhoeffer ICT

Veelvoorkomende vragen en antwoorden

Huidige configuratie van PXE-boot voor BCLD-images

Dit beschrijft de aanpassingen in Bonhoeffercollege infrastructuur die het mogelijk maakt om een computer met de Facet BCLD (oftewel "Bootable Client Locked-Down") via netwerkboot te starten en daarbij de mogelijkheid te houden om MDT of WDS te gebruiken via netwerkboot.

Vanaf dit schooljaar 2017 is BCLD de enige manier om testen in Facet te kunnen afnemen. De BCLD start feitelijk een live-besturingssystem en de twee officiele methoden om dit te doen zijn via USB en via PXE. Dit beschijft de PXE-bootmethode.

Deze procedure is een uitwerking van de volgende informatie die door DUO en Citrus beschikbaar is gesteld:

De volgende informatie wordt verondersteld bekend te zijn bij de lezer.

Demonstratievideos op youtube:

Benodigdheden

We hebben nodig :

  • PXE-server. Deze functie is ingebouwd in WDS/MDT-server BCMDT1
  • HTTP webserver. Deze functie is aanwezig in Linux server BCWEB3
  • FAO-server uiteraard
  • Desktopcomputer met netwerkbootfunctie , voor nu met secure boot uitgeschakeld.
  • Bootloaders van iPXE - Open source boot firmware
  • een recente BCLD bootimage - download deze van Facet portal

Infrastructuur

NaamIp-adresOS / functie
BON-DC3172.23.0.73Microsoft Windows Server / DHCP, DNS
BCMDT1172.23.0.28Microsoft Windows Server / MDT, TFTP-server
BCWEB3172.23.0.67Ubuntu Linux Server / Apache webserver
BCFAO172.23.0.66FAO-server

DHCP-server

Op server BON-DC3

Hier wordt gebruik gemaakt van Microsoft DHCP op Windows Server 2012 R2. We moeten hier een en ander regelen zodat computers de iPXE bootloader ophalen.

Allereerst wordt een nieuwe User Class gemaakt. Start de DHCP management console, open de tree, rechtsklik op de IPv4 container onder je server, en kies "Define User Classes..". In het venster klik op [Add] en creeer een nieuwe class.

  • Display name: iPXE
  • Description: iPXE clients
  • ID: "iPXE"

Klik [OK] en [Close].

De scope options worden niet afzonderlijk aangemaakt, maar ontstaan vanzelf in de "Scope Options" container door het aanmaken van een nieuwe policy in de Policy container.

In de scope [172.23.0.0] Kantoor zijn de volgende instellingen gemaakt:

Scope options

Option NameValuePolicy Name
003 Router172.23.0.1None
066 Boot Server Host Name172.23.0.28BIOS
066 Boot Server Host Name172.23.0.28UEFI
067 Bootfile Namehttp://172.23.0.67/pxe/ipxe.cfgiPXE Config
067 Bootfile Name\boot\undionly.kpxeBIOS
067 Bootfile Name\boot\ipxe-86_64.efiUEFI

Let op: Overal waar verwezen wordt naar http://172.23.0.67 zou je hiervoor in de plaats een URL met een fully qualified domain name kunnen gebruiken, bijvoorbeeld http://amber.bonhoeffer.nl . Hier wordt een ip-adres gebruikt, omdat het voor de hand ligt om te booten naar een server in het LAN, en niet een server op internet. Maar het kan dus wel.

Policies

  • "iPXE Config"
  • "BIOS"
  • "UEFI"
  • "Default BOOTP Class"
Policy NameConditionsDHCP options
iPXE ConfigUser Class = iPXE067 Bootfile Name = http://172.23.0.67/pxe/ipxe.cfg
BIOSVendor Class = PXEClient BIOS (x86 & x64)067 Bootfile Name = \boot\undionly.kpxe
UEFIVendor Class = PXEClient BIOS (x64)067 Bootfile Name = \boot\ipxe-86_64.efi

PXE-server

Op server BCMDT1.

De Microsoft Deployment Toolkit (MDT) bevat o.a. de Windows Deployment Service (WDS). WDS bevat een PXE-server. Deze PXE-server is feitelijk gewoon een TFTP-server waarvandaan een computer via anonymous FTP een bestand kan downloaden. Een computer die een network boot uitvoert, downloadt een bootloader van deze TFTP-server. De bootfile name in de DHCP opties verwijzen naar bestanden in de map die in WDS is geconfigureerd als Remote Installation Folder. Bij verstek wordt de map C:\REMINST\ hiervoor gebruikt. De bestanden in de boot\ map van de Remote Installation Folder kunnen worden aangeleverd via TFTP door de PXE-server. In plaats van MDT kun je System Center Configuration Manager (SCCM) gebruiken. SCCM bevat ook een TFTP-server, maar de bestanden staan op een andere locatie.

In de "boot\" van de PXE-server worden de twee bootloaders van iPXE - Open source boot firmware geplaatst. De policy en DHCP options maken het zo, dat een computer die boot van het netwerk, een bootloader laadt. De computer start met undionly.kpxe als het een BIOS-computer is of ipxe-x86_64.efi als het een UEFI-computer is .

Download de ipxe-bestanden van Citrus hier (deze links zijn gegeven op het Facet forum):

iPXE geeft computers vervolgens de mogelijkheid om te booten van een bootimage die is gedownload van een webserver. Het laat met een menu de gebruiker kiezen hoe en met welk bootimage de computer start. Een en ander wordt geconfigureerd met behulp van het bestand ipxe.cfg . De DHCP optie 067 geeft de URL van het ipxe.cfg welke op de webserver staat.

Webserver

Op server BCWEB3. De webserver biedt via HTTP de BCLD bootimages aan, maar ook het ipxe-menu . In de webroot-map van de webserver staan deze bestanden:

  • /pxe/ipxe.cfg
  • /pxe/bcld-6.0.3/vmlinuz
  • /pxe/bcld-6.0.3/initrd

De locatie van deze bestanden is gedefinieerd in het iPXE-menu.

ipxe.cfg

Het bestand ipxe.cfg bevat de keuzen die in het menu van de iPXE bootloader worden getoond. Het is een uitgeklede versie met alleen keuzen voor starten van BCLD , WDS en Windows.

#!ipxe
set menu-timeout 5000
set submenu-timeout ${menu-timeout}

:start
menu Bonhoeffercollege Castricum  iPXE Boot Menu
item --gap --  ------------------------------------------------------------
item --key b bcld (b) BCLD Release 6.0.3
item --key w WDS (w) Windows Deployment Services
item --key x exit (x) Start Windows
item --gap --  ------------------------------------------------------------
choose --default WDS --timeout 10000 selected || reboot
goto ${selected}

# Getting to this part is not a good thing
reboot

:bcld
kernel http://172.23.0.67/pxe/bcld-6.0.3/vmlinuz initrd=initrd rhgb quiet bcld.url=https://172.23.0.66/facet-afname
initrd http://172.23.0.67/pxe/bcld-6.0.3/initrd 
boot
goto start

:exit
exit 1
goto start

:shell
echo Type 'exit' to get back to the menushell
shell
goto start

:WDS
# doorlussen naar mijn MDT/WDS bootmenu
set netX/next-server 172.23.0.28
iseq ${platform} efi && imgexec tftp://${netX/next-server}/boot\\x64\\wdsmgfw.efi || imgexec tftp://${netX/next-server}/boot\\x86\\wdsnbp.com
exit 1

of zie hier het origineel

Bootproces

Het starten van de computer gaat als volgt : De computer start van het netwerk , doordat de gebruiker op F12 drukt.

  • De computer krijgt van de DHCP-server een IP-adres en krijgt daarbij DHCP optie 066 en 067 mee. Hierin staat het adres van de TFTP-server en een bestandsnaam.
  • De computer download via TFTP de iPXE bootloader die overeen komt met het platform ( \boot\undionly.kpxe voor BIOS-computers).
  • iPXE haalt opnieuw informatie van de DHCP-server op en krijgt via DHCP optie 067 de URL van het ipxe menu http://172.23.0.67/pxe/ipxe.cfg .
  • De computer download via HTTP het iPXE configuratiebestand en toont het menu aan de gebruiker.

De gebruiker maakt dan een keuze uit het getoonde menu.

  • Wanneer de gebruiker de keuze maakt om het BCLD te starten , worden de bestanden aangeduid met de "kernel" en "initrd"-sleutelwoorden via HTTP gedownload van dezelfde webserver en de computer start met deze bestanden de BCLD. In de kernelopties wordt de URL van de FAO-server https://172.23.0.66/facet-afname meegegeven.
  • Wanneer de gebruiker de keuze maakt voor WDS, doet de iPXE een "chainload" en schakelt door naar de bootloader van de WDS-server. Deze laat het reguliere bootmenu van WDS zien, dat doorgaans de mogelijkheid biedt om WinPE te starten om een Windows-image uit te rollen.

Wij gebruiken de computers voor regulier gebruik en willen graag dat de leerlingen normaliter niets anders starten dan Windows. De keuze voor netwerkboot en USB-boot hebben we daarom in de BIOS beschermd met een wachtwoord.

Belangrijke links

Paul Wiegmans -> mailto:p [period] wiegmans [snail] bonhoeffer [period] nl
Systeembeheer Bonhoeffercollege Castricum