(Work in Progress)

Soms wil je een PC installeren zonder dat je daar een DVD voor moet branden.

Je hebt dan een paar opties:

  • OS op een USB stick zetten
  • Opstarten en installeren met PXE

In deze beschrijving staan de stappen beschreven om op Ubuntu 16.04 LTS een PXE-Server te installeren zodat netwerk devices met PXE-ondersteuning hier vanaf kunnen starten. 
Hierbij hoef je geen eigen dhcp-server te draaien of die van je router aan te passen, dit werkt gewoon naast je bestaande dhcp-server.

Het voordeel is dat als je geen pxe-server wilt draaien je deze gewoon uit kan zetten zonder dat je je netwerk moet aanpassen.

Installeer initieel ook de SSH-server, zodat je met putty kan verbinden.
kopieren en plakken van commando's gaat zo een stuk makkelijker.

Netwerkconfiguratie

Als je met Oracle Virtual Box werkt kan het zijn dat bij een initiële installatie de netwerkkaart niet werkt na een reboot.
Deze werkt wel, maar je moet iedere keer na het booten de dhcp client opnieuw starten.

Sluit Ubuntu af en maak een snapshot van de huidige omgeving.
Wijzig de netwerkkaart van de Virtual Box image en probeer het opnieuw.
Onderstaande configuratie werkt goed bij mij.

2018-05-14 20 24_59-ubuntu pxe - Instellingen

Als je bij je dhcp-server kan komen kan je een reservering maken voor je pxe-server zodat deze altijd hetzelfde ip-adres krijgt.

Na het succesvol configureren kan het zijn dat het ophalen van updates erg langzaam gaat.
Dit kan aan de ipv6 configuratie liggen.

Je kan dit uitschakelen in je virtual box image.

Voeg aan /etc/sysctl.conf de volgende regels toe:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Met sysctl -p wordt de wijziging doorgevoerd.

Benodigde packages 

Installeer de volgende packages:

dnsmasq, tftpd-hpa

apt install dnsmasq tftpd-hpa inetutils-inetd

 

tftp

Als het goed is, is na het installeren van de packages de directory /var/lib/tftpboot beschikbaar en leeg.

Dit is de plaats waar de boot-files gaan komen.

Wijzig de configuratie van de tftp-server door /etc/default.tftpd-hpa aan te passen.

Voeg aan het einde het volgende toe:

RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Om te zorgen dat de tftp-server start meot deze nog worden toegevoegd aan de inetd-configuratie.
Pas hiervoor /etc/inet.d.conf aan.
Voeg aan het einde het volgende toe:


tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

 

Herstart de services met

systemctl restart tftpd-hpa

Controleer of de service draait met 

systemctl status tftpd-hpa

dnsmasq

Controleer in /etc/default/dnsmasq wat het pad is naar de configuatiebestanden.

Dit is standaard /etc/dnsmasq/ of /etc/dnsmasq.d/

Maak in /etc/dnsmasq.d/  een nieuw bestand aan, bv pxe.(Alle bestanden die hierin worden gezet worden gezien als configuratie bestanden.)

dhcp-range=192.168.1.0,proxy
dhcp-boot=pxelinux.0,192.168.1.112,192.168.1.0
pxe-service=x86PC,"Automatic Network boot", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot
port=0

In bovenstaande configuratie draait de pxe-server op 192.168.1.112

Bij de pxe-service staat pxelinux. hier geen .0 aan toevoegen want deze wordt er vanzelf achter geplakt.

Port=0 schakeld de dns functionaliteit uit, je hebt al een dns server op je router.

tftp-boot files

 

Bronnen

http://releases.ubuntu.com/16.04/

http://blog.ociru.net/2013/03/11/pxe-with-a-fritzbox-without-modifications

https://www.ostechnix.com/how-to-install-pxe-server-on-ubuntu-16-04/

https://help.ubuntu.com/community/DisklessUbuntuHowto

 

https://askubuntu.com/questions/4014/how-do-i-renew-my-dhcp-lease

http://archive.ubuntu.com/ubuntu/ubuntu/dists/xenial/main/installer-i386/current/images/netboot/

sysctl -p