RE: DHCP and Manual Bindings with "hardware-address" command

From: Tom Lijnse (Tom.Lijnse@globalknowledge.nl)
Date: Tue Nov 09 2004 - 10:20:24 GMT-3


Hi Kieren,

I'm glad I could help you out with this one. It's definitely not as
clear from the documentation as you would wish it to be...

Like you said when you encounter this in the lab you would have to
figure out what the client is using, hardware-address or client-id. If
there's an actual client to test with you could get it from the debugs,
if not ask the proctor what you're supposed to assume.

In real life as far as I have noticed Windows boxes use a client-id
consisting of '01' (meaning Ethernet mac) prepended to the mac-address,
while Linux boxes simply use the hardware address.

Regards,

Tom Lijnse
CCIE # 11031
Global Knowledge Netherlands

-----Original Message-----
From: k carter [mailto:kieren.carter@postremo.co.uk]
Sent: dinsdag 9 november 2004 13:50
To: Tom Lijnse; ccielab@groupstudy.com
Subject: RE: DHCP and Manual Bindings with "hardware-address" command

Hi Tom,

Thanks for that ;-)

Exactly what I was after, spend many hours pondering this one and must
have missed this in archives. Very interesting thread and glad to hear
that I wasn't the only one who had the problem, shame that the Cisco web
site doesn't expand their information to include this.

If it comes up in the lab, I'll take a long look at the wording of the
question as I am guessing that the "hardware-address" would work for
hosts that don't include the "client-id".

Thanks again.

Kieren

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
Tom Lijnse
Sent: Tuesday, November 09, 2004 12:23 PM
To: kieren.carter@postremo.co.uk; ccielab@groupstudy.com
Subject: RE: DHCP and Manual Bindings with "hardware-address" command

Kieren,

You may want to have a look at the following thread in the archives:

http://www.groupstudy.com/archives/ccielab/200401/msg01198.html

But basically what it comes down to is this: The client has the choice
to identify itself by its client-id or its hardware address. If a
client-id is specified the server should always prefer the hardware
address.

So since cisco decided to implement their special client-id
"cisco-0030.94e5.c08a-Et0" on the client-side you have to configure the
server with the client-id option. It won't bind on hardware address,
because client-id should always be preferred.

HTH

Tom Lijnse
CCIE # 11031
Global Knowledge Netherlands

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
kieren.carter@postremo.co.uk
Sent: dinsdag 9 november 2004 13:06
To: ccielab@groupstudy.com
Subject: DHCP and Manual Bindings with "hardware-address" command

Hi all,

I wonder if someone could shed a bit of light on configuring manual
bindings within the scope of DHCP. (sorry if this is an unbelievable
easy question!)

I have a very basic network setup for testing consisting of three
routers contented via ethernet:

                                Central
                                   |
                        --------------------------
                        | |
                        R1 R2

I have configured the Central router as DHCP service, which isn't taxing
but I have come across a few issues while trying to configure a manual
binding (using the "hardware-address" command) so that R1 will always
get the same IP address from the DHCP server.

The MAC address on R1's Ethernet interface is "0030.94e5.c08a":

R1#show int e0
Ethernet0 is administratively down, line protocol is down
  Hardware is Lance, address is 0030.94e5.c08a (bia 0030.94e5.c08a)
  Internet address will be negotiated using DHCP

The relevant configuration on the Central router is:

!
ip dhcp excluded-address 10.0.0.1 10.0.0.10
!
ip dhcp pool CentralSite
   network 10.0.0.0 255.255.255.0
   dns-server 10.0.0.9 10.0.0.99
   netbios-name-server 10.0.0.8
   default-router 10.0.0.8
   domain-name postremo.co.uk
!
ip dhcp pool R1
   host 10.0.0.122 255.255.255.0
   hardware-address 0030.94e5.c08a
!

On R1 the "ip address dhcp" is configured on R1's ethernet interface but
when the interface is brought online, it is still getting an IP address
for the main DHCP pool (I completed DHCP detailed debugging to configmrm
this the offer process and this is working fine). I know that you can
include a hardware protocol type at the end of the "hardware-address"
command but this default to Ethernet ("01") so I can't see a problem
here. I also tried including the "client-host" command including the
hostname "R1" just in case this would make a difference but still no
luck.

I completed debugging on the central site and got the following results:

01:38:26: DHCPD: DHCPDISCOVER received from client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30 on
interface Ethernet0.
01:38:28: DHCPD: assigned IP address 10.0.0.16 to client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30.
01:38:28: DHCPD: Sending DHCPOFFER to client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30
(10.0.0.16).
01:38:28: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:38:28: DHCPD: pool CentralSite has no parent.
01:38:28: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:38:28: DHCPD: pool CentralSite has no parent.
01:38:28: DHCPD: broadcasting BOOTREPLY to client 0030.94e5.c08a.
01:38:28: DHCPD: DHCPREQUEST received from client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30.
01:38:28: DHCPD: Sending DHCPACK to client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30
(10.0.0.16).

The Client information was coming through as "client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30", can
someone explain where the DHCP client picks up it's client infomration
when the "ip address dhcp" command is used on the client interface.
This shows the IP address 10.0.0.16 being assigned to the DHCP client
(out of interest the DHCP client debugging on R1 shows a Cleint-ID of
"cisco-0030.94e5.c08a-Et0" and hostname of "R1"). The cisco command
reference explains that by default the client-id is in ASCII (but ASCII
value of what?):

http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_command_
reference_chapter09186a0080087376.html#wp1049289

(mind the wrap!)

In the end I decided to go with the "client-identifier" command and
entred this value as the client identifier and hey pesto, the manual
binding worked, configuration was:

ip dhcp pool R1
   host 10.0.0.122 255.255.255.0
   client-identifier
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30

Debugging on Central site:

01:44:41: DHCPD: DHCPDISCOVER received from client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30 on
interface Ethernet0.
01:44:41: DHCPD: Sending DHCPOFFER to client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30
(10.0.0.122).
01:44:41: DHCPD: child pool: 10.0.0.122 / 255.255.255.0 (R1)
01:44:41: DHCPD: parent pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:44:42: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:44:42: DHCPD: pool CentralSite has no parent.
01:44:42: DHCPD: child pool: 10.0.0.122 / 255.255.255.0 (R1)
01:44:42: DHCPD: parent pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:44:42: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:44:42: DHCPD: pool CentralSite has no parent.
01:44:42: DHCPD: broadcasting BOOTREPLY to client 0030.94e5.c08a.
01:44:42: DHCPD: DHCPREQUEST received from client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30.
01:44:42: DHCPD: Sending DHCPACK to client
0063.6973.636f.2d30.3033.302e.3934.6535.2e63.3038.612d.4574.30
(10.0.0.122).

Therefore I changed the the command on R1 to "ip address dhcp client-id
Ethernet0" so that the client-id would be equal to the "<media type> +
<mac address>", which is a lot easier to read, with "01" for ethernet
and then the MAC address, making the client-id "0100.3094.e5c0.8a". The
configuration on the central router and R1 is now:

Central:

  ip dhcp pool R1
     host 10.0.0.122 255.255.255.0
     client-identifier 0100.3094.e5c0.8a

R1 E0:
   ip address dhcp client-id ethernet 0

Debugging on Central site (Client ID in new format):

01:49:20: DHCPD: DHCPDISCOVER received from client 0100.3094.e5c0.8a on
interface Ethernet0.
01:49:20: DHCPD: Sending DHCPOFFER to client 0100.3094.e5c0.8a
(10.0.0.122).
01:49:20: DHCPD: child pool: 10.0.0.122 / 255.255.255.0 (R1)
01:49:20: DHCPD: parent pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:49:20: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:49:20: DHCPD: pool CentralSite has no parent.
01:49:20: DHCPD: child pool: 10.0.0.122 / 255.255.255.0 (R1)
01:49:20: DHCPD: parent pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:49:20: DHCPD: child pool: 10.0.0.0 / 255.255.255.0 (CentralSite)
01:49:20: DHCPD: pool CentralSite has no parent.
01:49:20: DHCPD: broadcasting BOOTREPLY to client 0030.94e5.c08a.
01:49:20: DHCPD: DHCPREQUEST received from client 0100.3094.e5c0.8a.
01:49:20: DHCPD: Sending DHCPACK to client 0100.3094.e5c0.8a
(10.0.0.122).

This works fine but I am still at a lose to explain why I can't get the
"hardware-address" command to work for the manual binding, am I missing
something simple or has anyone else come across this issue.

I have checked the archieves and can't track down the answer to this
one. I have checked the configuration example for manual bindings with
DHCP on ciscos web site, which can be found at :

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/
fipr_c/ipcprt1/1cfdhcp.htm#xtocid30

(mind the wrap!)

This could be be an IOS specific problem (IOS 12.2(24a) is used on the
routers at the moment).

I wanted to include as much information as possible so hope post isn't
too big,

Thanks in advance to anyone who is able shed light on this one :-)

cheers

Kieren



This archive was generated by hypermail 2.1.4 : Thu Dec 02 2004 - 06:57:40 GMT-3