Bug 217 - dhcpd needs a route to the interfaces
Summary: dhcpd needs a route to the interfaces
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: dhcp
Version: 5.2
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Erik Troan
QA Contact:
: 2406 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 1998-11-29 00:39 UTC by Marc MERLIN
Modified: 2008-05-01 15:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 1999-06-02 20:29:44 UTC

Attachments (Terms of Use)

Description Marc MERLIN 1998-11-29 00:39:25 UTC
According to the documentation, dhcpd needs a host route of 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
dev $i
+                   ;;
+               esac

         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;
option time-offset -8;
#option ntp-servers;
#option netbios-name-servers;
# 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 netmask {
  option routers;
  range dynamic-bootp;

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

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
Copyright 1995, 1996, 1997, 1998 The Internet Software
All rights reserved.
fddi0: unknown hardware address type 774

I know you don't support fddi, this is more an FYI thing.

Comment 1 David Lawrence 1998-11-30 01:17:59 UTC
It is verified that the route 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

Comment 2 Marc MERLIN 1998-11-30 09:35:59 UTC
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.

Comment 3 Marc MERLIN 1999-02-25 07:02:59 UTC

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
Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software
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/
Sending on   LPF/eth0/00:80:c8:47:37:72/
Listening on
Sending on
Sending on   Socket/fallback/fallback-net

Comment 4 Preston Brown 1999-03-18 15:48:59 UTC
the dhcp and bootp client daemons have been replaced by pump. Erik,
does pump have these limitations?

Comment 5 Marc MERLIN 1999-04-07 07:18:59 UTC
I think you are confusing dhcp and dhcpd
Unfortunately, the package that contains dhcpd is called dhcp, hence
the confusion.

Comment 6 Jeff Johnson 1999-06-02 10:46:59 UTC
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?

Comment 7 Jeff Johnson 1999-06-02 10:47:59 UTC
*** 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"
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" 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

Comment 8 Erik Troan 1999-06-02 20:29:59 UTC
This is only needed for some old (broken) windows stacks

Note You need to log in before you can comment on or make changes to this bug.