DHCPOFFER sent to wrong MAC?
Jason Lixfeld
jason-lists.dhcp at lixfeld.ca
Fri Aug 18 15:08:20 UTC 2006
I have isc-dhcpd-3.0.4 installed via FreeBSD ports on a 6.1-RELEASE-
p3 machine with a custom kernel.
My dhcp server is at 00:50:04:d1:c9:f0
My dhcp client is at 00:11:a0:02:67:36
The dhcp server logs show constant discover/offer pairs, but the
client does not respond with a request, etc...
Aug 17 14:35:59 bubbles dhcpd: DHCPDISCOVER from 00:11:a0:02:67:36
via xl0
Aug 17 14:35:59 bubbles dhcpd: DHCPOFFER on 192.168.100.249 to
00:11:a0:02:67:36 via xl0
Aug 17 14:36:01 bubbles dhcpd: DHCPDISCOVER from 00:11:a0:02:67:36
via xl0
Aug 17 14:36:01 bubbles dhcpd: DHCPOFFER on 192.168.100.249 to
00:11:a0:02:67:36 via xl0
Aug 17 14:36:03 bubbles dhcpd: DHCPDISCOVER from 00:11:a0:02:67:36
via xl0
Aug 17 14:36:03 bubbles dhcpd: DHCPOFFER on 192.168.100.249 to
00:11:a0:02:67:36 via xl0
I span'd the port on my switch which the dhcp server is connected to,
and ran ethereal on it and noticed this:
# Discover
<snip>
Ethernet II, Src: VtechEng_02:67:36 (00:11:a0:02:67:36), Dst:
Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: VtechEng_02:67:36 (00:11:a0:02:67:36)
</snip>
# Offer
<snip>
Ethernet II, Src: 3com_d1:c9:f0 (00:50:04:d1:c9:f0), Dst:
Cisco_bb:c6:a1 (00:05:9b:bb:c6:a1)
Destination: Cisco_bb:c6:a1 (00:05:9b:bb:c6:a1)
Source: 3com_d1:c9:f0 (00:50:04:d1:c9:f0)
</snip>
It's sending the offer to the wrong MAC address. 00:05:9b:bb:c6:a1
is the MAC address of my default gateway router.
Is this a configuration glitch on my end or is something else wrong?
All clients appear to be affected similarly.
Here's my config:
server-identifier 192.168.100.10;
option domain-name "example.ca";
option domain-name-servers 192.168.100.10,172.16.17.2;
option subnet-mask 255.255.255.0;
default-lease-time 43200;
max-lease-time 43200;
ddns-update-style ad-hoc;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.200 192.168.100.250;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.100.255;
option routers 192.168.100.1;
}
Here's the entire transaction:
No. Time Source Destination
Protocol
Info HW
Src HW Dst
28 6.489829 0.0.0.0 255.255.255.255
DHCP DHCP Discover - Transaction ID
0x6794513 VtechEng_02:67:36 Broadcast
Frame 28 (594 bytes on wire, 594 bytes captured)
Ethernet II, Src: VtechEng_02:67:36 (00:11:a0:02:67:36), Dst:
Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: VtechEng_02:67:36 (00:11:a0:02:67:36)
Type: IP (0x0800)
Frame check sequence: 0x34293e14 [correct]
Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
(255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 576
Identification: 0x0000 (0)
Flags: 0x00
Fragment offset: 0
Time to live: 64
Protocol: UDP (0x11)
Header checksum: 0x78ae [correct]
Source: 0.0.0.0 (0.0.0.0)
Destination: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Source port: bootpc (68)
Destination port: bootps (67)
Length: 556
Checksum: 0x492d [correct]
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x06794513
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
0... .... .... .... = Broadcast flag: Unicast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: VtechEng_02:67:36 (00:11:a0:02:67:36)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option 53: DHCP Message Type = DHCP Discover
Option 61: Client identifier
Option 60: Vendor class identifier = "udhcp 0.9.7"
Option 55: Parameter Request List
End Option
Padding
No. Time Source Destination
Protocol
Info HW
Src HW Dst
29 6.490513 192.168.100.10 255.255.255.255
DHCP DHCP Offer - Transaction ID
0x6794513 3com_d1:c9:f0 Cisco_bb:c6:a1
Frame 29 (347 bytes on wire, 347 bytes captured)
Ethernet II, Src: 3com_d1:c9:f0 (00:50:04:d1:c9:f0), Dst:
Cisco_bb:c6:a1 (00:05:9b:bb:c6:a1)
Destination: Cisco_bb:c6:a1 (00:05:9b:bb:c6:a1)
Source: 3com_d1:c9:f0 (00:50:04:d1:c9:f0)
Type: IP (0x0800)
Frame check sequence: 0x94468004 [correct]
Internet Protocol, Src: 192.168.100.10 (192.168.100.10), Dst:
255.255.255.255 (255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 329
Identification: 0x6c4c (27724)
Flags: 0x00
Fragment offset: 0
Time to live: 64
Protocol: UDP (0x11)
Header checksum: 0xe8a5 [correct]
Source: 192.168.100.10 (192.168.100.10)
Destination: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
Source port: bootps (67)
Destination port: bootpc (68)
Length: 309
Checksum: 0x14d0 [correct]
Bootstrap Protocol
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x06794513
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
0... .... .... .... = Broadcast flag: Unicast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.100.249 (192.168.100.249)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: VtechEng_02:67:36 (00:11:a0:02:67:36)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option 53: DHCP Message Type = DHCP Offer
Option 54: Server Identifier = 192.168.100.10
Option 51: IP Address Lease Time = 12 hours
Option 1: Subnet Mask = 255.255.255.0
Option 3: Router = 192.168.100.1
Option 6: Domain Name Server
Option 15: Domain Name = "example.ca"
Option 28: Broadcast Address = 192.168.100.255
End Option
More information about the dhcp-users
mailing list