Discussion:
[gPXE] PXE and DANMasq boot - Insight appreciated.
Lukas Bradley
2014-02-25 14:10:02 UTC
Permalink
I'm attempting to boot machines from a server (192.168.1.45) over a network
using PXE boot and DNSMasq. My network presently utilizes a DHCP server on
a VPN/Firewall, so I don't want to run a DHCP server on the server itself.

When I start the client computer, it seems to connect to the server, but
doesn't proceed with a boot. The remote computer just hangs showing "Start
PXE over IPv4".

The /var/log/messages on the server shows the following.

Code:


Feb 24 15:10:45 localhost dnsmasq[14487]: started, version 2.48 DNS disabled
Feb 24 15:10:45 localhost dnsmasq[14487]: compile time options: IPv6
GNU-getopt DBus no-I18N DHCP TFTP "--bind-interfaces with SO_BIN
DTODEVICE"
Feb 24 15:10:45 localhost dnsmasq-dhcp[14487]: DHCP, proxy on subnet
192.168.1.255
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 Available
DHCP subnet: 192.168.1.255/255.255.255.0
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 Vendor
class: PXEClient:Arch:00007:UNDI:003016
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 PXE(eth0)
bc:5f:f4:97:be:ab proxy
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 tags: eth0
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 bootfile
name: pxelinux.0
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 next server:
192.168.1.45
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
1 option: 53:message-type 02
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
4 option: 54:server-identifier 192.168.1.45
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
9 option: 60:vendor-class 50:58:45:43:6c:69:65:6e:74
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
17 option: 97:client-machine-id 00:00:02:00:03:00:04:00:05:00:0
6:00:07...
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
10 option: 43:vendor-encap 06:01:08:0a:04:00:50:58:45:ff
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 Available
DHCP subnet: 192.168.1.255/255.255.255.0
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 Vendor
class: PXEClient:Arch:00007:UNDI:003016
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 PXE(eth0)
bc:5f:f4:97:be:ab proxy
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 tags: eth0
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 bootfile
name: pxelinux.0
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 next server:
192.168.1.45
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
1 option: 53:message-type 02
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
4 option: 54:server-identifier 192.168.1.45
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
9 option: 60:vendor-class 50:58:45:43:6c:69:65:6e:74
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
17 option: 97:client-machine-id 00:00:02:00:03:00:04:00:05:00:0
6:00:07...
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size:
10 option: 43:vendor-encap 06:01:08:0a:04:00:50:58:45:ff

The DNSMasq config is the following:

Code:


#set port to 0 so that dnsmasq knows its not being used as a dns server
port=0
log-dhcp
dhcp-range=192.168.1.255,proxy
#dhcp-boot=http://192.168.1.45/
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-boot=pxelinux.0,fileserver,192.168.1.45

The /var/lib/tftpboot directory:

Code:


drwxrwxr-x 3 root root 4096 Feb 4 10:35 .
drwxr-xr-x. 37 root root 4096 Feb 24 11:10 ..
-rw-r--r-- 1 root root 97 Feb 24 15:02 boot.txt
drwxrwxr-x 3 root root 4096 Feb 4 10:35 debian-installer
-rw-r--r-- 1 root root 24117248 Feb 4 10:35 mini.iso
-rw-r--r-- 1 root root 13703974 Feb 4 10:35 netboot.tar.gz
lrwxrwxrwx 1 root root 33 Feb 24 15:07 pxelinux.0 ->
debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root 35 Feb 24 15:07 pxelinux.cfg ->
debian-installer/amd64/pxelinux.cfg
-rw-rw-r-- 1 root root 64 Feb 4 10:35 version.info

My pxelinux.cfg configuration looks as follows:

Code:


# D-I config version 2.0
include debian-installer/amd64/boot-screens/menu.cfg
default debian-installer/amd64/boot-screens/vesamenu.c32
prompt 1
timeout 0

Any comments, suggestions, or insight appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://etherboot.org/pipermail/gpxe/attachments/20140225/88122861/attachment.html>
Oliver Rath
2014-02-25 14:26:59 UTC
Permalink
Hi Lukas,

It seems you are using generic pxe, not gpxe or similar. I used a
comparable configuration (dnsmasq as proxy), but did first overload the
pxe with ipxe (www.ipxe.org, gpxe is a zombie). Maybe your generic pxe
implementation doesnt support different pxe-boot-server?

Nevertheless, the The IP 192.168.1.45 should be the IP of the machine
that runs DNSMASQ.

So, dhcp-range=192.168.1.45,proxy

Hth
Oliver
Post by Lukas Bradley
I'm attempting to boot machines from a server (192.168.1.45) over a
network using PXE boot and DNSMasq. My network presently utilizes a
DHCP server on a VPN/Firewall, so I don't want to run a DHCP server on
the server itself.
When I start the client computer, it seems to connect to the server,
but doesn't proceed with a boot. The remote computer just hangs
showing "Start PXE over IPv4".
The /var/log/messages on the server shows the following.
Feb 24 15:10:45 localhost dnsmasq[14487]: started, version 2.48 DNS disabled
Feb 24 15:10:45 localhost dnsmasq[14487]: compile time options: IPv6 GNU-getopt DBus no-I18N DHCP TFTP "--bind-interfaces with SO_BIN
DTODEVICE"
Feb 24 15:10:45 localhost dnsmasq-dhcp[14487]: DHCP, proxy on subnet 192.168.1.255
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 Available DHCP subnet: 192.168.1.255/255.255.255.0 <http://192.168.1.255/255.255.255.0>
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 Vendor class: PXEClient:Arch:00007:UNDI:003016
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 PXE(eth0) bc:5f:f4:97:be:ab proxy
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 tags: eth0
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 bootfile name: pxelinux.0
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 next server: 192.168.1.45
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 1 option: 53:message-type 02
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 4 option: 54:server-identifier 192.168.1.45
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 9 option: 60:vendor-class 50:58:45:43:6c:69:65:6e:74
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 17 option: 97:client-machine-id 00:00:02:00:03:00:04:00:05:00:0
6:00:07...
Feb 24 15:11:20 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 10 option: 43:vendor-encap 06:01:08:0a:04:00:50:58:45:ff
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 Available DHCP subnet: 192.168.1.255/255.255.255.0 <http://192.168.1.255/255.255.255.0>
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 Vendor class: PXEClient:Arch:00007:UNDI:003016
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 PXE(eth0) bc:5f:f4:97:be:ab proxy
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 tags: eth0
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 bootfile name: pxelinux.0
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 next server: 192.168.1.45
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 1 option: 53:message-type 02
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 4 option: 54:server-identifier 192.168.1.45
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 9 option: 60:vendor-class 50:58:45:43:6c:69:65:6e:74
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 17 option: 97:client-machine-id 00:00:02:00:03:00:04:00:05:00:0
6:00:07...
Feb 24 15:11:24 localhost dnsmasq-dhcp[14487]: 3423833039 sent size: 10 option: 43:vendor-encap 06:01:08:0a:04:00:50:58:45:ff
#set port to 0 so that dnsmasq knows its not being used as a dns server
port=0
log-dhcp
dhcp-range=192.168.1.255,proxy
#dhcp-boot=http://192.168.1.45/
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-boot=pxelinux.0,fileserver,192.168.1.45 <http://192.168.1.45/%0Aenable-tftp%0Atftp-root=/var/lib/tftpboot%0Adhcp-boot=pxelinux.0,fileserver,192.168.1.45>
drwxrwxr-x 3 root root 4096 Feb 4 10:35 .
drwxr-xr-x. 37 root root 4096 Feb 24 11:10 ..
-rw-r--r-- 1 root root 97 Feb 24 15:02 boot.txt
drwxrwxr-x 3 root root 4096 Feb 4 10:35 debian-installer
-rw-r--r-- 1 root root 24117248 Feb 4 10:35 mini.iso
-rw-r--r-- 1 root root 13703974 Feb 4 10:35 netboot.tar.gz
lrwxrwxrwx 1 root root 33 Feb 24 15:07 pxelinux.0 -> debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root 35 Feb 24 15:07 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
-rw-rw-r-- 1 root root 64 Feb 4 10:35 version.info <http://version.info>
# D-I config version 2.0
include debian-installer/amd64/boot-screens/menu.cfg
default debian-installer/amd64/boot-screens/vesamenu.c32
prompt 1
timeout 0
Any comments, suggestions, or insight appreciated.
_______________________________________________
gPXE mailing list
gPXE at etherboot.org
http://etherboot.org/mailman/listinfo/gpxe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://etherboot.org/pipermail/gpxe/attachments/20140225/3fd7f171/attachment-0001.html>
Loading...