dnsmasq auf ubuntu server

Änderungsstand: 2020-03-13

PXE-Boot auf Ubuntu-Server, inkl. Menu zum Testen.

Menueintrag mit Memtest funktionsfähig!

Leider funktioniert das nicht mehr so einfach auf Debian-Buster, wie hier auf dem Ubuntu-Server dargestellt. Selbst auf dem Debian-Buster-Server, ohne OMV5, habe ich das in dieser Zusammenstellung auf die Schnelle nicht mehr hinbekommen. Auf Debian-Stretch funktionierte das noch. Dafür gibt es aber als Alternative für OMV5 einen Guide für die Einrichtung eines DHCP-Servers, der das ziemlich gut kompensiert. Doch jetzt erst mal schnell zum Ubuntu-Server mit Dnsmasq.

Realisiert wurde das Ganze mit dnsmasq. Alles sollte so einfach wie möglich gestaltet werden und meine FritzBox sollte weiterhin die DHCP-Vergabe mit dem Mesh übernehmen. Das funktioniert bestens und Bedarf keiner Änderung. Ohne weitere Erklärungen, Schritt für Schritt abarbeiten.

sudo su
mkdir /var/lib/tftpboot
apt-get install dnsmasq syslinux pxelinux syslinux-common mc
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
nano /etc/dnsmasq.conf
dhcp-range=192.168.252.0,proxy
dhcp-boot=pxelinux.0,192.168.252.139,192.168.252.0
pxe-service=x86PC,"Netzwerk Boot",pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

Strg-x, y, Enter

  • Mein Ubuntu-Server: 192.168.252.139
  • Mein Subnet: 192.168.252.0
sudo systemctl restart dnsmasq
service dnsmasq restart
nano /etc/default/dnsmasq

als letzte Zeile hinzufügen:

DNSMASQ_EXCEPT=lo

Strg-x, y, Enter

service dnsmasq start 

Fertig. Der Server ist Startklar.

Jetzt wird das Menu erstellt, welches beim Start des PXE angezeigt wird.

cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /var/lib/tftpboot/
sudo cp /usr/lib/syslinux/modules/bios/libutil.c32 /usr/lib/syslinux/modules/bios/libcom32.c32 /usr/lib/syslinux/modules/bios/chain.c32 /usr/lib/syslinux/modules/bios/menu.c32 /usr/lib/syslinux/modules/bios/vesamenu.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
MENU TITLE Netzwerk Boot PXE, Server: Raspi4
MENU CLEAR
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 0
MENU COLOR hotkey 1;31;44
LABEL –
MENU LABEL Lokale Boot Option:
MENU DISABLE
LABEL localboot
menu label Booten von lokaler Festplatte
LOCALBOOT 0
MENU SEPARATOR
LABEL –
MENU LABEL Netzwerk Boot Optionen:
MENU DISABLE
#Hier beginnen die Booteinträge!
#
label memtest86
 menu label Memtest86+ 5.01
 kernel /memtest/memtest86+-5.01
#
# EOF
#

Strg-x, y, Enter

Das Menu ist nun auch soweit fertig und wird angezeigt.

Jetzt noch Memtest einfügen.

cd
wget http://www.memtest.org/download/5.01/memtest86+-5.01.bin.gz
gzip -dk memtest86+-5.01.bin.gz
service dnsmasq stop
mkdir -p  /var/lib/tftpboot/memtest
cp ~/memtest86+-5.01.bin /var/lib/tftpboot/memtest/memtest86+-5.01
rm memtest86+-5.01.bin memtest86+-5.01.bin.gz
service dnsmasq start
exit

Jetzt funktioniert auch das Memtest im Menu.