I am running ISC DHCP server version 2.0 beta
(http://www.isc.org/dhcp-v2.html) on my 2.0.33 (RedHat 5.0) system. I
need to be able to serve Wintel clients, but this requires that the
messages from the DHCP server have a destination address of
255.255.255.255. As explained in the excerpt from the README below. I
tried both of their suggestions: adding a host route for
255.255.255.255, or adding a network route for 255.255.255.0. Neither of
these worked and I get this error each time "SIOCADDRT: Network is
unreachable". So I am looking for an alternate method of either
modifying the routing table, or patching the kernel to not alter the
destination address.
If you could CC any reply to mitc...@ilog.com I would appreciate it.
Thank you,
Blake
--- the text below is from the ISC DHCP README file ---
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.
>I am running ISC DHCP server version 2.0 beta
>(http://www.isc.org/dhcp-v2.html) on my 2.0.33 (RedHat 5.0) system. I
>need to be able to serve Wintel clients, but this requires that the
>messages from the DHCP server have a destination address of
>255.255.255.255. As explained in the excerpt from the README below.
This is strange. Perhaps it is a peculiarity of the 'dhcp' server
you are using. I am using 'bootpd' which supports dhcp requests, and
it works fine with Win95 clients. (It sends to the correct
destination address of the Win95 host, after first plugging an 'arp'
entry into the arp table).
> I
>tried both of their suggestions: adding a host route for
>255.255.255.255, or adding a network route for 255.255.255.0. Neither of
It might be worth trying the bsd compatible style of route, which
would be something like
route add net 255.255.255.0 gw <your.local.ip.address> metric 0
What you havae to do is specify the gateway when you add the host to the
routing table. Here is how I did it. I have two entrys in my /etc/hosts file:
192.168.100.254 gatekeeper # this is the IP of the ethernet interface
to my internal net where DHCPd is being used.
255.255.255.255 broadcast # the broadcast address that DHCPd needs.
Then I just add it to the routing table like so:
route add -host broadcast gw gatekeeper
and that's it, everything works. So I guess you have to remember to specify
the interface.
Neil Rickert wrote:
> This is strange. Perhaps it is a peculiarity of the 'dhcp' server
> you are using. I am using 'bootpd' which supports dhcp requests, and
> it works fine with Win95 clients. (It sends to the correct
> destination address of the Win95 host, after first plugging an 'arp'
> entry into the arp table).
>