Tina Siegenthaler
2008-02-29 15:02:47 UTC
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
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