On Sunday 26 October 2008, Nikos Chantziaras wrote:
> Volker Armin Hemmann wrote:

> > I don't need it. But in our network most people use windows - and don't
> > know anything about computers. So they get their static ip assigned by
> > dhcp. Once in a while the server chokes - and that is one of the many
> > reasons why I usually don't use dhcp.  There are a lot better ones, but
> > if you really need to know the details, ask off-list ;)
>
> Anyway, maybe it's not a dhcp problem but originates further down the
> stack.  Not sure what I'm looking for though :P

I've posted a couple of weeks ago about the same thing 
titled "net-misc/dhcpcd-4.0.1-r1 change of USE flags".  I have since found 
that the problem you observed essentially boils down to the router's dhcp 
server implementation and the way it treats the client_identifier string.

The dhcpcd package complies with RFC2131 and generates and broadcasts a 
unique device identification number for your NIC (DUID).  DUID is the long 
number you have posted, the tail end of which contains the MAC.  The server 
is meant to use this number (according to RFC4361, clause 6.3):
=============================================
   DHCPv4 servers that conform to this specification MUST use the
   'client identifier' option to identify the client if the client sends
   it.
=============================================

All this is fine and dandy, if only the dhcp server in question could directly 
correlate the dhcpcd generated DUID to your MAC.  Unfortunately, many routers 
won't.  They will treat the static MAC settings as a different device than 
that of the DUID and issue your PC with a different than the preselected 
static IP address.  You can run dhcpcd eth0 -T -d to verify what's happening 
in your case, although a newly issued IP address which is different than the 
preset static IP address is a giveaway.

More sophisticated routers allow you to set up on their CLI static LAN IP 
addresses using the DUID string, instead of the client's MAC hardware 
address.

Previous versions of dhcpcd had the vram USE flag which copied the hardware 
address into the DUID string and the dhcp servers would happily recognise the 
original network device, while using the DUID string.  Now the vram flag is 
gone.  Therefore, if you cannot set up static IP addresses with your router's 
CLI using the client_indentifier string (like e.g. on Cisco and 
Adtran/Netvanta routers), the only other solution would be to set it on the 
client side.  That's an inconvenient solution if you have a laptop which 
connects to all sort of networks with different LAN IP addresses/ranges.  In 
that case you may have to run ifconfig and route manually each time you 
connect to a network.
-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to