accomodating broken pxe client
Carl Karsten
carl at personnelware.com
Tue Oct 2 19:59:51 UTC 2007
The proper response to this post is probably "throw it out" or "boot from a
floppy." But for kicks, I am wondering if I can get the on board pxe routine to
be useful by throwing all the tftp related options into the dhcp response. I
have seen a number of screwy clients, wouldn't mind being able to accommodate them.
For instance, this message:
PXE-EA1: No PXE server found, using standard boot file.
went away by setting
option vendor-class-identifier "PXEClient" ;
below is my current config, and some dhcpdump.
And as long as we are on the subject, anyone know how I can copy the rom code
into a file and run it in a VM? qemu seems to support the nic.
Or, is there a way to boot into an OS (probably dos6 so that the cpu is in the
right mode) and call into the boot rom code such that if it returns, it can be
run again without haing to reboot, wait for POST, etc.
Carl K
host sahara {
# 8255/7/8/9 Eternet Pro 100
hardware ethernet 00:40:ca:11:3c:6c ;
option host-name "sahara" ;
option vendor-class-identifier "PXEClient" ;
next-server 192.168.1.7;
filename "pxelinux.0" ;
server-name shaz;
option tftp-server-name shaz;
}
root at shaz:/var/www/temp # tcpdump -lenx -s 1500 ether host 00:40:ca:11:3c:6c |
dhcpdump
TIME: 14:55:36.130823
IP: > (00:40:ca:11:3c:6c) > BOOTP/DHCP (ff:ff:ff:ff:ff:ff,)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: ca113c6c
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 4) Parameter Request List 1 (Subnet mask)
3 (Routers)
60 (Vendor class identifier)
43 (Vendor specific info)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010200 ...
OPTION: 60 ( 9) Vendor class identifier PXEClient
---------------------------------------------------------------------------
TIME: 14:55:37.000885
IP: > (00:90:27:8e:5f:af) > BOOTP/DHCP (00:40:ca:11:3c:6c,)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: ca113c6c
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.1.13
SIADDR: 192.168.1.7
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: shaz.
FNAME: pxelinux.0.
OPTION: 53 ( 1) DHCP message type 2 (DHCPOFFER)
OPTION: 54 ( 4) Server identifier 192.168.1.7
OPTION: 51 ( 4) IP address leasetime 43200 (12h)
OPTION: 1 ( 4) Subnet mask 255.255.255.0
OPTION: 3 ( 4) Routers 192.168.1.1
OPTION: 60 ( 9) Vendor class identifier PXEClient
---------------------------------------------------------------------------
TIME: 14:55:37.007585
IP: > (00:40:ca:11:3c:6c) > BOOTP/DHCP (ff:ff:ff:ff:ff:ff,)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: ca113c6c
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST)
OPTION: 50 ( 4) Request IP address 192.168.1.13
OPTION: 55 ( 4) Parameter Request List 1 (Subnet mask)
3 (Routers)
60 (Vendor class identifier)
43 (Vendor specific info)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 54 ( 4) Server identifier 192.168.1.7
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010200 ...
OPTION: 60 ( 9) Vendor class identifier PXEClient
---------------------------------------------------------------------------
TIME: 14:55:37.017139
IP: > (00:90:27:8e:5f:af) > BOOTP/DHCP (00:40:ca:11:3c:6c,)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: ca113c6c
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.1.13
SIADDR: 192.168.1.7
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: shaz.
FNAME: pxelinux.0.
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 54 ( 4) Server identifier 192.168.1.7
OPTION: 51 ( 4) IP address leasetime 43200 (12h)
OPTION: 1 ( 4) Subnet mask 255.255.255.0
OPTION: 3 ( 4) Routers 192.168.1.1
OPTION: 60 ( 9) Vendor class identifier PXEClient
---------------------------------------------------------------------------
TIME: 14:55:37.017791
IP: who-has (00:40:ca:11:3c:6c) > tel (ff:ff:ff:ff:ff:ff,)
OP: 0 (wrong specified)
HTYPE: 0 (wrong specified)
HLEN: 0
HOPS: 0
XID: 00000000
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.1.13
SIADDR: 192.168.1.7
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: shaz.
FNAME: pxelinux.0.
---------------------------------------------------------------------------
TIME: 14:55:37.017844
IP: > (00:90:27:8e:5f:af) > ICM (00:40:ca:11:3c:6c,)
OP: 0 (wrong specified)
HTYPE: 0 (wrong specified)
HLEN: 0
HOPS: 0
XID: 00000000
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 192.168.1.7
GIADDR: 0.0.0.0
CHADDR: 00:40:ca:11:3c:6c:00:00:00:00:00:00:00:00:00:00
SNAME: shaz.
FNAME: pxelinux.0.
(repeat the last frame till the client times out.)
More information about the dhcp-users
mailing list