Option 43?
Glenn Satchell
Glenn.Satchell at uniq.com.au
Sat Mar 1 12:42:01 UTC 2008
Hi Tina
Yes, you need to define you option 43. See the dhcp-options man page -
this describes all the standard DHCP options. Look for the section
titled "VENDOR ENCAPSULATED OPTIONS", which is option 43. If you
already have a class for APC units, then that would be a good place to
define option 43 as it will be defined for all devices that match the
class. The simplest way to define the value is something like this:
option vendor-encapsulated-options 01:04:31:41:50:43;
DHCP option names and numbers are listed in RFC1533, and in the ISC
DHCPD source file common/tables.c
regards,
-glenn
>From: Tina Siegenthaler <tina at zool.uzh.ch>
>To: dhcp-users at isc.org
>Subject: Option 43?
>Date: Fri, 29 Feb 2008 16:02:47 +0100
>
>Hi list
>
>We recently bought an UPS from APC with a network card that should
>allow administration of the UPS over the network. However, I can't get
>it to accept a IP address from our DHCP server. According to the
>manual of the UPS network card, it will first look for a BOOTP server
>(which it does), and when it doesn't find one will then check for a
>DHCP server. And indeed, that is what I'm seeing in the dhcpd.log:
>
>Feb 29 15:06:52 zoolse0339 dhcpd: BOOTREQUEST from 00:c0:b7:73:37:74
>via en0: BOOTP from dynamic client and no dynamic leases
>
>(repeated many times)
>
>then, after about 13 minutes, it finally tries DHCP:
>
>Feb 29 15:19:58 zoolse0339 dhcpd: DHCPDISCOVER from 00:c0:b7:73:37:74
>via en0
>Feb 29 15:19:59 zoolse0339 dhcpd: DHCPOFFER on 130.60.225.18 to
>00:c0:b7:73:37:74 via en0
>Feb 29 15:21:03 zoolse0339 dhcpd: DHCPREQUEST for 130.60.225.18
>(130.60.23.4) from 00:c0:b7:73:37:74 via en0
>Feb 29 15:21:03 zoolse0339 dhcpd: DHCPACK on 130.60.225.18 to
>00:c0:b7:73:37:74 via en0
>
>which seems to work, at least at first. I can ping the IP, but about
>15 seconds later, it starts again issuing BOOTREQUESTS:
>
>Feb 29 15:21:18 zoolse0339 dhcpd: BOOTREQUEST from 00:c0:b7:73:37:74
>via en0: BOOTP from dynamic client and no dynamic leases
>
>and I can no longer ping it. 15 minutes later it tries again a
>DHCPDISCOVER etc etc...
>
>Now, the manual of the UPS also states:
>
>"A properly configured DHCP server responds with a DHCP offer that
>includes all the setting that the (network) Management Card needs for
>network communication. The DHCP offer also includes the Vendor
>Specific Information option (DHCP option 43). By default, the
>Management Card ignores DHCP offers that do not encapsulate the APC
>cookie in DHCP option 43 using the following hexadecimal format:
>Option 43 = 01 04 31 41 50 43
>where
>- the first byte (01) is the code
>- the second byte (04) is the length
>- the remaining bytes (31 41 50 43) are the APC cookie."
>
>Well, that seems pretty clear, but obviously, the UPS network card is
>not ignoring the OFFER, but accepts it at first, but then decides to
>drop the assigned IP after some time...
>
> I did a tcpdump on the DHCP server to check what the UPS is sending
>and what the DHCP server sends back. The UPS sends this DHCPDISCOVER:
>
>Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 1
> Transaction ID: 0x0000e86e
> Seconds elapsed: 64
> Bootp flags: 0x0000 (Unicast)
> 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: 130.60.225.1 (130.60.225.1)
> Client MAC address: American_73:37:74 (00:c0:b7:73:37:74)
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Request
> Option: (53) DHCP Message Type
> Length: 1
> Value: 03
> Option: (t=61,l=10) Client identifier
> Option: (61) Client identifier
> Length: 10
> Value: 0000C0B7733774000000
> Option: (t=50,l=4) Requested IP Address = 130.60.225.18
> Option: (50) Requested IP Address
> Length: 4
> Value: 823CE112
> Option: (t=54,l=4) Server Identifier = 130.60.225.4
> Option: (54) Server Identifier
> Length: 4
> Value: 823CE104
> Option: (t=55,l=14) Parameter Request List
> Option: (55) Parameter Request List
> Length: 14
> Value: 0603010F42430D2C2B3A3B2A020C
> 6 = Domain Name Server
> 3 = Router
> 1 = Subnet Mask
> 15 = Domain Name
> 66 = TFTP Server Name
> 67 = Bootfile name
> 13 = Boot File Size
> 44 = NetBIOS over TCP/IP Name Server
> 43 = Vendor-Specific Information
> 58 = Renewal Time Value
> 59 = Rebinding Time Value
> 42 = Network Time Protocol Servers
> 2 = Time Offset
> 12 = Host Name
> Option: (t=60,l=3) Vendor class identifier = "APC"
> Option: (60) Vendor class identifier
> Length: 3
> Value: 415043
> Option: (t=61,l=7) Client identifier
> Option: (61) Client identifier
> Length: 7
> Value: 0100C0B7733774
> Hardware type: Ethernet
> Client MAC address: American_73:37:74 (00:c0:b7:73:37:74)
> Option: (t=77,l=4) User Class Information
> Option: (77) User Class Information
> Length: 4
> Value: 53554D58
> End Option
>
>I can't see an option 43 here??? There's an option 60 which contains
>the vendor class identifier "APC"... Forgive me if I'm being stupid,
>but I have no experience with these options, we just have a very plain
>DHCP server setup...
>
>The OFFER that the server send back looks like this:
>
>Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 1
> Transaction ID: 0x0000e86e
> Seconds elapsed: 64
> Bootp flags: 0x0000 (Unicast)
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 130.60.225.18 (130.60.225.18)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 130.60.225.1 (130.60.225.1)
> Client MAC address: American_73:37:74 (00:c0:b7:73:37:74)
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (53) DHCP Message Type
> Length: 1
> Value: 02
> Option: (t=54,l=4) Server Identifier = 130.60.23.4
> Option: (54) Server Identifier
> Length: 4
> Value: 823C1704
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (51) IP Address Lease Time
> Length: 4
> Value: 00005460
> Option: (t=6,l=8) Domain Name Server
> Option: (6) Domain Name Server
> Length: 8
> Value: 823C8003823C4033
> IP Address: 130.60.128.3
> IP Address: 130.60.64.51
> Option: (t=3,l=4) Router = 130.60.225.1
> Option: (3) Router
> Length: 4
> Value: 823CE101
> Option: (t=1,l=4) Subnet Mask = 255.255.255.128
> Option: (1) Subnet Mask
> Length: 4
> Value: FFFFFF80
> Option: (t=15,l=6) Domain Name = "uzh.ch"
> Option: (15) Domain Name
> Length: 6
> Value: 757A682E6368
> Option: (t=58,l=4) Renewal Time Value = 3 hours
> Option: (58) Renewal Time Value
> Length: 4
> Value: 00002A30
> Option: (t=59,l=4) Rebinding Time Value = 5 hours, 15 minutes
> Option: (59) Rebinding Time Value
> Length: 4
> Value: 000049D4
> End Option
> Padding
>
>
>It obviously contains no option 43. OK, it seems that I somehow have
>to include this vendor specific information option in the OFFER, so
>that if a client sends option 60 = 41 50 43, the server will include
>option 43 = 01 04 31 41 50 43 in its OFFER. Any hints how I should be
>doing this? The UPS already has its own class and subclass. can I
>include option 43 there?
>
>TIA, Tina
>
>
>
>
>
>
>
>
>
More information about the dhcp-users
mailing list