weird: default router not assigned, lease not written, single host on single subnet

MAtteo HCE Valsasna valsasna at uninsubria.it
Wed Oct 25 12:48:48 UTC 2006


hello all,

I have a strange problem with a single host on a single subnet, to which
the DHCP server assigns an IP addres but not the default router option.

I have verified by sniffing that the host does does request the default
router option in DHCPDISCOVER and DHCPREQUEST - see trace below

In addition, the address assignation is written to the logfile, but the
lease stanza is NOT written do dhcpd.leases, and it does NOT exist even
according to omapish.

the problem il limited to one mac-address on one subnet:
* the host is dual-boot, same problem with windows and linux
* assigning the same mac address to another host on the same subnet
leads to the same behaviour.
* assigning the same mac address to another host on another subnet leads
to normal behaviour (i.e., default router assigned and lease written).

ISC dhcpd 3.0.4 on RH9
kernel 2.4.20-8smp
compiled with gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

if it does matter, the relay agent is HP53xx switch, FW E.10.02,
configured to send option-82 (circuit id, i.e. ethernet port snmp ID)

dhcp-relay option 82 replace


any hints would be appreciated.

thanks for your attention


MAtteo Valsasna


Oct  2 14:51:08 mull dhcpd: DHCPDISCOVER from 00:13:d4:a6:a1:17 via 
<client_subnet>.254
Oct  2 14:51:08 mull dhcpd: DHCPOFFER on <client_subnet>.196 to 
00:13:d4:a6:a1:17 via <client_subnet>.254
Oct  2 14:51:08 mull dhcpd: DHCPREQUEST for <client_subnet>.196 
(<server_ip>) from 00:13:d4:a6:a1:17 via <client_subnet>.254
Oct  2 14:51:08 mull dhcpd: DHCPACK on <client_subnet>.196 to 
00:13:d4:a6:a1:17 via <client_subnet>.254

$ /usr/sbin/tethereal -r no_GW.pcap -V
Frame 1 (391 bytes on wire, 391 bytes captured)
     Arrival Time: Oct  2, 2006 14:51:08.460396000
     Time delta from previous packet: 0.000000000 seconds
     Time since reference or first frame: 0.000000000 seconds
     Frame Number: 1
     Packet Length: 391 bytes
     Capture Length: 391 bytes
     Protocols in frame: eth:ip:udp:bootp
Ethernet II, Src: Cabletro_c8:97:6c (00:00:1d:c8:97:6c), Dst: 
Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Destination: Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Source: Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Type: IP (0x0800)
Internet Protocol, Src: <client_subnet>.254 (<client_subnet>.254), Dst: 
<server_ip> (<server_ip>)
     Version: 4
     Header length: 20 bytes
     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
         0000 00.. = Differentiated Services Codepoint: Default (0x00)
         .... ..0. = ECN-Capable Transport (ECT): 0
         .... ...0 = ECN-CE: 0
     Total Length: 377
     Identification: 0x229e (8862)
     Flags: 0x00
         0... = Reserved bit: Not set
         .0.. = Don't fragment: Not set
         ..0. = More fragments: Not set
     Fragment offset: 0
     Time to live: 62
     Protocol: UDP (0x11)
     Header checksum: 0x7f38 [correct]
         Good: True
         Bad : False
     Source: <client_subnet>.254 (<client_subnet>.254)
     Destination: <server_ip> (<server_ip>)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
     Source port: bootpc (68)
     Destination port: bootps (67)
     Length: 357
     Checksum: 0x4694 [correct]
Bootstrap Protocol
     Message type: Boot Request (1)
     Hardware type: Ethernet
     Hardware address length: 6
     Hops: 1
     Transaction ID: 0x9174ca55
     Seconds elapsed: 10
     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: <client_subnet>.254 (<client_subnet>.254)
     Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Server host name not given
     Boot file name not given
     Magic cookie: (OK)
     Option 53: DHCP Message Type = DHCP Discover
     Option 57: Maximum DHCP Message Size = 576
     Option 50: Requested IP Address = <client_subnet>.196
     Option 51: IP Address Lease Time = infinity
     Option 55: Parameter Request List
         1 = Subnet Mask
         3 = Router					*****
         6 = Domain Name Server
         12 = Host Name
         15 = Domain Name
         17 = Root Path
         23 = Default IP Time-to-Live
         28 = Broadcast Address
         29 = Perform Mask Discovery
         31 = Perform Router Discover
         33 = Static Route
         40 = Network Information Service Domain
         41 = Network Information Service Servers
         42 = Network Time Protocol Servers
         9 = LPR Server
         7 = Log Server
         44 = NetBIOS over TCP/IP Name Server
         45 = NetBIOS over TCP/IP Datagram Distribution Name Server
         46 = NetBIOS over TCP/IP Node Type
         47 = NetBIOS over TCP/IP Scope
         119 = Domain Search
     Option 12: Host Name = "linux-05u8"
     Option 60: Vendor class identifier = "Linux 2.6.16.13-4-smp x86_64"
     Option 61: Client identifier
         Hardware type: Ethernet
         Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Option 82: Agent Information Option (12 bytes)
         Agent Circuit ID: 003B
         Agent Remote ID: 00118506BF00
     End Option

Frame 2 (354 bytes on wire, 354 bytes captured)
     Arrival Time: Oct  2, 2006 14:51:08.461121000
     Time delta from previous packet: 0.000725000 seconds
     Time since reference or first frame: 0.000725000 seconds
     Frame Number: 2
     Packet Length: 354 bytes
     Capture Length: 354 bytes
     Protocols in frame: eth:ip:udp:bootp
Ethernet II, Src: Ibm_f1:76:38 (00:09:6b:f1:76:38), Dst: 
Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Destination: Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Source: Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Type: IP (0x0800)
Internet Protocol, Src: <server_ip> (<server_ip>), Dst: 
<client_subnet>.254 (<client_subnet>.254)
     Version: 4
     Header length: 20 bytes
     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
         0000 00.. = Differentiated Services Codepoint: Default (0x00)
         .... ..0. = ECN-Capable Transport (ECT): 0
         .... ...0 = ECN-CE: 0
     Total Length: 340
     Identification: 0x0000 (0)
     Flags: 0x04 (Don't Fragment)
         0... = Reserved bit: Not set
         .1.. = Don't fragment: Set
         ..0. = More fragments: Not set
     Fragment offset: 0
     Time to live: 64
     Protocol: UDP (0x11)
     Header checksum: 0x5ffb [correct]
         Good: True
         Bad : False
     Source: <server_ip> (<server_ip>)
     Destination: <client_subnet>.254 (<client_subnet>.254)
User Datagram Protocol, Src Port: bootps (67), Dst Port: bootps (67)
     Source port: bootps (67)
     Destination port: bootps (67)
     Length: 320
     Checksum: 0x02be [correct]
Bootstrap Protocol
     Message type: Boot Reply (2)
     Hardware type: Ethernet
     Hardware address length: 6
     Hops: 1
     Transaction ID: 0x9174ca55
     Seconds elapsed: 10
     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: <client_subnet>.196 (<client_subnet>.196)
     Next server IP address: 0.0.0.0 (0.0.0.0)
     Relay agent IP address: <client_subnet>.254 (<client_subnet>.254)
     Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Server host name not given
     Boot file name not given
     Magic cookie: (OK)
     Option 53: DHCP Message Type = DHCP Offer
     Option 54: Server Identifier = <server_ip>
     Option 51: IP Address Lease Time = 1 day
     Option 1: Subnet Mask = 255.255.255.192
     Option 6: Domain Name Server
         IP Address: <server_ip>
         IP Address: <server_subnet>130
     Option 15: Domain Name = "uninsubria.it"
     Option 42: Network Time Protocol Servers
         IP Address: <server_ip>
         IP Address: <server_subnet>149
     Option 82: Agent Information Option (12 bytes)
         Agent Circuit ID: 003B
         Agent Remote ID: 00118506BF00
     End Option

Frame 3 (397 bytes on wire, 397 bytes captured)
     Arrival Time: Oct  2, 2006 14:51:08.464769000
     Time delta from previous packet: 0.003648000 seconds
     Time since reference or first frame: 0.004373000 seconds
     Frame Number: 3
     Packet Length: 397 bytes
     Capture Length: 397 bytes
     Protocols in frame: eth:ip:udp:bootp
Ethernet II, Src: Cabletro_c8:97:6c (00:00:1d:c8:97:6c), Dst: 
Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Destination: Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Source: Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Type: IP (0x0800)
Internet Protocol, Src: <client_subnet>.254 (<client_subnet>.254), Dst: 
<server_ip> (<server_ip>)
     Version: 4
     Header length: 20 bytes
     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
         0000 00.. = Differentiated Services Codepoint: Default (0x00)
         .... ..0. = ECN-Capable Transport (ECT): 0
         .... ...0 = ECN-CE: 0
     Total Length: 383
     Identification: 0x229f (8863)
     Flags: 0x00
         0... = Reserved bit: Not set
         .0.. = Don't fragment: Not set
         ..0. = More fragments: Not set
     Fragment offset: 0
     Time to live: 62
     Protocol: UDP (0x11)
     Header checksum: 0x7f31 [correct]
         Good: True
         Bad : False
     Source: <client_subnet>.254 (<client_subnet>.254)
     Destination: <server_ip> (<server_ip>)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
     Source port: bootpc (68)
     Destination port: bootps (67)
     Length: 363
     Checksum: 0xed8b [correct]
Bootstrap Protocol
     Message type: Boot Request (1)
     Hardware type: Ethernet
     Hardware address length: 6
     Hops: 1
     Transaction ID: 0x9174ca55
     Seconds elapsed: 10
     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: <client_subnet>.254 (<client_subnet>.254)
     Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Server host name not given
     Boot file name not given
     Magic cookie: (OK)
     Option 53: DHCP Message Type = DHCP Request
     Option 57: Maximum DHCP Message Size = 576
     Option 54: Server Identifier = <server_ip>
     Option 50: Requested IP Address = <client_subnet>.196
     Option 51: IP Address Lease Time = 1 day
     Option 55: Parameter Request List
         1 = Subnet Mask
         3 = Router
         6 = Domain Name Server
         12 = Host Name
         15 = Domain Name
         17 = Root Path
         23 = Default IP Time-to-Live
         28 = Broadcast Address
         29 = Perform Mask Discovery
         31 = Perform Router Discover
         33 = Static Route
         40 = Network Information Service Domain
         41 = Network Information Service Servers
         42 = Network Time Protocol Servers
         9 = LPR Server
         7 = Log Server
         44 = NetBIOS over TCP/IP Name Server
         45 = NetBIOS over TCP/IP Datagram Distribution Name Server
         46 = NetBIOS over TCP/IP Node Type
         47 = NetBIOS over TCP/IP Scope
         119 = Domain Search
     Option 12: Host Name = "linux-05u8"
     Option 60: Vendor class identifier = "Linux 2.6.16.13-4-smp x86_64"
     Option 61: Client identifier
         Hardware type: Ethernet
         Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Option 82: Agent Information Option (12 bytes)
         Agent Circuit ID: 003B
         Agent Remote ID: 00118506BF00
     End Option

Frame 4 (354 bytes on wire, 354 bytes captured)
     Arrival Time: Oct  2, 2006 14:51:08.465153000
     Time delta from previous packet: 0.000384000 seconds
     Time since reference or first frame: 0.004757000 seconds
     Frame Number: 4
     Packet Length: 354 bytes
     Capture Length: 354 bytes
     Protocols in frame: eth:ip:udp:bootp
Ethernet II, Src: Ibm_f1:76:38 (00:09:6b:f1:76:38), Dst: 
Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Destination: Cabletro_c8:97:6c (00:00:1d:c8:97:6c)
     Source: Ibm_f1:76:38 (00:09:6b:f1:76:38)
     Type: IP (0x0800)
Internet Protocol, Src: <server_ip> (<server_ip>), Dst: 
<client_subnet>.254 (<client_subnet>.254)
     Version: 4
     Header length: 20 bytes
     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
         0000 00.. = Differentiated Services Codepoint: Default (0x00)
         .... ..0. = ECN-Capable Transport (ECT): 0
         .... ...0 = ECN-CE: 0
     Total Length: 340
     Identification: 0x0000 (0)
     Flags: 0x04 (Don't Fragment)
         0... = Reserved bit: Not set
         .1.. = Don't fragment: Set
         ..0. = More fragments: Not set
     Fragment offset: 0
     Time to live: 64
     Protocol: UDP (0x11)
     Header checksum: 0x5ffb [correct]
         Good: True
         Bad : False
     Source: <server_ip> (<server_ip>)
     Destination: <client_subnet>.254 (<client_subnet>.254)
User Datagram Protocol, Src Port: bootps (67), Dst Port: bootps (67)
     Source port: bootps (67)
     Destination port: bootps (67)
     Length: 320
     Checksum: 0xffbd [correct]
Bootstrap Protocol
     Message type: Boot Reply (2)
     Hardware type: Ethernet
     Hardware address length: 6
     Hops: 1
     Transaction ID: 0x9174ca55
     Seconds elapsed: 10
     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: <client_subnet>.196 (<client_subnet>.196)
     Next server IP address: 0.0.0.0 (0.0.0.0)
     Relay agent IP address: <client_subnet>.254 (<client_subnet>.254)
     Client MAC address: AsustekC_a6:a1:17 (00:13:d4:a6:a1:17)
     Server host name not given
     Boot file name not given
     Magic cookie: (OK)
     Option 53: DHCP Message Type = DHCP ACK
     Option 54: Server Identifier = <server_ip>
     Option 51: IP Address Lease Time = 1 day
     Option 1: Subnet Mask = 255.255.255.192
     Option 6: Domain Name Server
         IP Address: <server_ip>
         IP Address: <server_subnet>130
     Option 15: Domain Name = "uninsubria.it"
     Option 42: Network Time Protocol Servers
         IP Address: <server_ip>
         IP Address: <server_subnet>149
     Option 82: Agent Information Option (12 bytes)
         Agent Circuit ID: 003B
         Agent Remote ID: 00118506BF00
     End Option

# omshell
> port 8791
> connect
obj: <null>
> new lease
obj: lease
> set ip-address=<client_subnet>.196
obj: lease
ip-address = <client_subnet>:c4
> open
can't open object: not found
obj: lease

#grep <client_subnet>.196 /var/state/dhcp/dhcpd.leases




More information about the dhcp-users mailing list