[NTLUG:Discuss] NT won't talk to Linux DHCP server

Rusty Haddock rusty at fe2o3.lonestar.org
Wed Mar 8 08:45:58 CST 2000


Brian wrote:
    >I've set up the Moreton Bay DHCP server (a very minimal, small-footprint
    >server which does exactly what I want and no more:  provide an IP
    >address and a DNS address) on my Linux box.  Requests from a Linux DHCP
    >client are handled with no problem.  When a request is broadcast from
    >the NT box, the server receives the DHCP request, responds with an
    >offer, and the NT box simply ignores it.
    >
    >I read somewhere that when a broadcast message is sent from a Linux box,
    >an IP address of 0.0.0.0 is (incorrectly) used.  While most DHCP clients
    >can handle this non-compliant message, M$ fails miserably.
    >
    >Anybody know of a quick workaround to fix this?

Probably not the best solution but it worked for me even though my DHCP
client was not from Micros~1.  Try this:

	route -host 255.255.255.255 dev  eth0

The following is a quote from /usr/doc/dhcp-2.0b1pl6/README.
Yeah, it's probably old...  I know it's old.  So am I...  :-(

Does "newer" dhcp software for Linux fix this problem??

	-Rusty-
-----
                              BROADCAST

In order for dhcpd to work correctly with picky DHCP clients (e.g.,
Windows 95), it must be able to send packets with an IP destination
address of 255.255.255.255.  Unfortunately, Linux insists on changing
255.255.255.255 into the local subnet broadcast address (here, that's
192.5.5.223).  This results in a DHCP protocol violation, and while
many DHCP clients don't notice the problem, some (e.g., all Microsoft
DHCP clients) do.  Clients that have this problem will appear not to
see DHCPOFFER messages from the server.

It is possible to work around this problem on some versions of Linux
by creating a host route from your network interface address to
255.255.255.255.   The command you need to use to do this on Linux
varies from version to version.   The easiest version is:

        route add -host 255.255.255.255 dev eth0

On some older Linux systems, you will get an error if you try to do
this.   On those systems, try adding the following entry to your
/etc/hosts file:

255.255.255.255 all-ones

Then, try:

	route add -host all-ones dev eth0

Another route that has worked for some users is:

	route add -net 255.255.255.0 dev eth0

If you are not using eth0 as your network interface, you should
specify the network interface you *are* using in your route command.
 

-- 
   _____        Rusty Haddock  =  KD4WLZ  =  rusty at fe2o3.lonestar.org
|\/   o \   o
|   (  -<  O o  Thanks, Sparky!          Charles M Schulz (1922-2000)
|/\__V__/




More information about the Discuss mailing list