According to the documentation, dhcpd needs a host route of 255.255.255.255 on each ethernet interface (at least for some versions of the linux kernels, it doesn't say which ones work without this) I modified /etc/rc.d/init.d/network as such on my system: --- network.redhat Thu Aug 13 19:17:15 1998 +++ network Fri Aug 14 14:02:34 1998 @@ -82,6 +82,11 @@ for i in $interfaces; do ./ifup $i boot + case $i in + eth*) + /sbin/route add -host 255.255.255.255 dev $i + ;; + esac done touch /var/lock/subsys/network Also, as mentionned in another bug, it'd be _really_ nice to have a default configuration file like this one option domain-name "localdomain"; #option domain-name-servers 192.168.1.1; option time-offset -8; #option ntp-servers 192.168.1.1; #option netbios-name-servers 192.168.1.1; # Selects point-to-point node (default is hybrid). Don't change this unless # you understand Netbios very well #option netbios-node-type 2; # 30 days max-lease-time 2592000; # 7 days default-lease-time 604800; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.204.1; range dynamic-bootp 192.168.1.200 192.168.1.230; } It is not meant to be working, but it's very easy to modify. You may also want to look at having /etc/dhcpd.leases in the rpm. Last but not least, if the machine has an fddi board, dhcpd refuses to run: moremagic:~# /etc/rc.d/init.d/dhcpd start Starting dhcpd: dhcpd Internet Software Consortium DHCPD $Name: V2-BETA-1-PATCHLEVEL-6 $ Copyright 1995, 1996, 1997, 1998 The Internet Software Consortium. All rights reserved. fddi0: unknown hardware address type 774 exiting. I know you don't support fddi, this is more an FYI thing.
It is verified that the route 255.255.255.255 is not enable by default but I am not really sure this is a bug since it is not always necessary to have. According to the documentation it says that normally this is not necessary unless using Windows clients. I am passing this on to a developer to see how they would like to address it.
You are correct, this is only if you intend to serve windows clients. I've had to do that and it wouldn't work without that route.
FYI: dhcp 2.0b1pl14 now works with my fddi interface moremagic:/tmp# /etc/rc.d/init.d/dhcpd start Starting dhcpd: dhcpd Internet Software Consortium DHCP Server V2.0b1pl14 Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved. Please contribute if you find this software useful. For info, please visit http://www.isc.org/dhcp-contrib.html Listening on LPF/eth0/00:80:c8:47:37:72/192.168.205.0 Sending on LPF/eth0/00:80:c8:47:37:72/192.168.205.0 Listening on LPF/fddi0/08:00:2b:b2:9f:d8:00:00:00:00:00:00:00:00:00:00/192.168.215.0 Sending on LPF/fddi0/08:00:2b:b2:9f:d8:00:00:00:00:00:00:00:00:00:00/192.168.215.0 Sending on Socket/fallback/fallback-net
the dhcp and bootp client daemons have been replaced by pump. Erik, does pump have these limitations?
I think you are confusing dhcp and dhcpd Unfortunately, the package that contains dhcpd is called dhcp, hence the confusion.
I've upgraded to dhcp-2.0b1pl28 that includes support for token ring, and has a UDP checksum fix for cable modems. Erik, do you want the default host route added when the interface is brought up?
*** Bug 2406 has been marked as a duplicate of this bug. *** Two problems with the dhcpd startup script: 1. dhcpd requires adding a route to "host" 255.255.255.255 to convince Linux not to screw up the address in the offer message. (Both Windows DHCP clients and pump [new in RH 6.0] are picky about this.) In older versions of RedHat, adding the line "eth0 host 255.255.255.255" to /etc/sysconfig/static-routes solved the problem. Now this file is ignored if linuxconf exists, but there doesn't seem to be any way to get linuxconf to spit out the correct route. 2. For machines with multiple interfaces, it is necessary to give dhcpd command-line options telling it on which interfaces to provide DHCP service. (By default, dhcpd assumes all interfaces, but croaks if dhcpd.conf doesn't include configurations for all of them.) A simple solution is to append " ${DHCP_OPTIONS}" to "daemon /usr/sbin/dhcpd" in the startup script. This way, the user can add something like DHCP_OPTIONS="eth1 st0" to /etc/sysconfig/network if he wants DHCP only on eth1 and st0.
This is only needed for some old (broken) windows stacks