mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-31 14:25:41 +00:00
Update to reflect changes in 2.0 README
This commit is contained in:
124
README
124
README
@@ -1,16 +1,38 @@
|
||||
Internet Software Consortium
|
||||
Dynamic Host Configuration Protocol Distribution
|
||||
Version 3, Alpha Snapshot
|
||||
June 8, 1999
|
||||
Version 3, Beta 1, Patchlevel 0
|
||||
July 1, 1999
|
||||
|
||||
This is an alpha test snapshot of Version 3 of the Internet Software
|
||||
Consortium DHCP Distribution. In version 3, this distribution
|
||||
includes a DHCP server, a DHCP client, and a BOOTP/DHCP relay agent.
|
||||
This alpha is believed to be relatively stable, but it is definitely
|
||||
not something you should be running in a production environment where
|
||||
stability is your highest priority.
|
||||
README FILE
|
||||
|
||||
DOCUMENTATION
|
||||
You should read this file carefully before trying to install or use
|
||||
the ISC DHCP Distribution.
|
||||
|
||||
TABLE OF CONTENTS
|
||||
|
||||
1 WHERE TO FIND DOCUMENTATION
|
||||
2 RELEASE STATUS
|
||||
3 BUILDING THE DHCP DISTRIBUTION
|
||||
4 INSTALLING THE DHCP DISTRIBUTION
|
||||
5 USING THE DHCP DISTRIBUTION
|
||||
5.1 LINUX
|
||||
5.1.1 SO_ATTACH_FILTER UNDECLARED
|
||||
5.1.2 PROTOCOL NOT CONFIGURED
|
||||
5.1.3 BROADCAST
|
||||
5.1.4 FIREWALL RULES
|
||||
5.1.5 IP BOOTP AGENT
|
||||
5.1.6 MULTIPLE INTERFACES
|
||||
5.2 SCO
|
||||
5.3 HP-UX
|
||||
5.4 ULTRIX
|
||||
5.5 FreeBSD
|
||||
5.6 NeXTSTEP
|
||||
5.7 SOLARIS
|
||||
6 SUPPORT
|
||||
6.1 HOW TO REPORT BUGS
|
||||
7 KNOWN BUGS
|
||||
|
||||
WHERE TO FIND DOCUMENTATION
|
||||
|
||||
Documentation for this software includes this README file, the
|
||||
RELNOTES file, and the manual pages, which are in the server, common,
|
||||
@@ -24,25 +46,37 @@ DHCP server documentation is in the dhcpd man page. Information about
|
||||
the DHCP server lease database is in the dhcpd.leases man page.
|
||||
Server configuration documentation is in the dhcpd.conf man page as
|
||||
well as the dhcp-options man page. A sample DHCP server
|
||||
configuration is in the file server/dhcpd.conf.
|
||||
configuration is in the file server/dhcpd.conf. The source for the
|
||||
dhcpd, dhcpd.leases and dhcpd.conf man pages is in the server/ sub-
|
||||
directory in the distribution. The source for the dhcp-options.5
|
||||
man page is in the common/ subdirectory.
|
||||
|
||||
DHCP Client documentation is in the dhclient man page. DHCP client
|
||||
configuration documentation is in the dhclient.conf man page and the
|
||||
dhcp-options man page. The DHCP client configuration script is
|
||||
documented in the dhclient-script man page. The format of the DHCP
|
||||
client lease database is documented in the dhclient.leases man page.
|
||||
The source for all these man pages is in the client/ subdirectory in
|
||||
the distribution. In addition, the dhcp-options man page should be
|
||||
referred to for information about DHCP options.
|
||||
|
||||
DHCP relay agent documentation is in the dhcrelay man page.
|
||||
DHCP relay agent documentation is in the dhcrelay man page, the source
|
||||
for which is distributed in the relay/ subdirectory.
|
||||
|
||||
To read installed manual pages, use the man command. Type "man page"
|
||||
where page is the name of the manual page.
|
||||
where page is the name of the manual page. This will only work if
|
||||
you have installed the ISC DHCP distribution using the ``make install''
|
||||
command (described later).
|
||||
|
||||
If you want to read manual pages that aren't installed, you can type
|
||||
``nroff -man page |more'' where page is the filename of the
|
||||
unformatted manual page. The filename of an unformatted manual page
|
||||
is the name of the manual page, followed by '.', followed by some
|
||||
number - 5 for documentation about files, and 8 for documentation
|
||||
about programs.
|
||||
about programs. For example, to read the dhcp-options man page,
|
||||
you would type ``nroff -man common/dhcp-options.5 |more'', assuming
|
||||
your current working directory is the top level directory of the ISC
|
||||
DHCP Distribution.
|
||||
|
||||
If you do not have the nroff command, you can type ``more catpage''
|
||||
where catpage is the filename of the catted man page. Catted man
|
||||
@@ -55,6 +89,11 @@ system.
|
||||
|
||||
RELEASE STATUS
|
||||
|
||||
This is the first beta release of version 3.0 of the ISC DHCP
|
||||
Distribution. Development of this release is approaching the point
|
||||
at which it will be frozen, and no significant new features will be
|
||||
added.
|
||||
|
||||
In this release, the server and relay agent currently work well on
|
||||
NetBSD, Linux after kernel version 2.0.30, FreeBSD, BSD/OS, Ultrix,
|
||||
Digital Alpha OSF/1, Solaris and SunOS 4.1.4. They run on AIX, HPUX,
|
||||
@@ -89,12 +128,12 @@ information. On Digital Unix, type ``man pfilt''.
|
||||
To build the DHCP Distribution, unpack the compressed tar file using
|
||||
the tar utility and the gzip command - type something like:
|
||||
|
||||
zcat dhcp-3.0-alpha-19990608.tar.gz |tar xvf -
|
||||
zcat dhcp-3.0b1pl0.tar.gz |tar xvf -
|
||||
|
||||
On BSD/OS, you have to type gzcat, not zcat, and you may run into
|
||||
similar problems on other operating systems.
|
||||
|
||||
Now, cd to the dhcp-3.0-alpha-19990608 subdirectory that you've just
|
||||
Now, cd to the dhcp-3.0b1pl0 subdirectory that you've just
|
||||
created and configure the source tree by typing:
|
||||
|
||||
./configure
|
||||
@@ -115,11 +154,15 @@ If you get errors on a system not mentioned above, you will need
|
||||
to do some programming or debugging on your own to get the DHCP
|
||||
Distribution working.
|
||||
|
||||
INSTALLING THE DHCP DISTRIBUTION
|
||||
|
||||
Once you have successfully gotten the DHCP Distribution to build, you
|
||||
can install it by typing ``make install''. If you already have an old
|
||||
version of the DHCP Distribution installed, you may want to save it
|
||||
before typing ``make install''.
|
||||
|
||||
USING THE DHCP DISTRIBUTION
|
||||
|
||||
LINUX
|
||||
|
||||
There are three big LINUX issues: the all-ones broadcast address,
|
||||
@@ -148,27 +191,34 @@ make sure it's pointing to correct linux source directory.
|
||||
LINUX: PROTOCOL NOT CONFIGURED
|
||||
|
||||
One additional Linux 2.1/2.2 issue: if you get the following message,
|
||||
it's because your kernel doesn't have the linux packetfilter
|
||||
configured:
|
||||
it's because your kernel doesn't have the linux packetfilter or raw
|
||||
packet socket configured:
|
||||
|
||||
Can't install packet filter program: Protocol not available
|
||||
exiting.
|
||||
Set CONFIG_PACKET=y and CONFIG_FILTER=y in your kernel configuration
|
||||
|
||||
If this happens, you need to edit your linux kernel .config file, set
|
||||
CONFIG_FILTER=y, and rebuild your kernel. If the preceding sentence
|
||||
made no sense to you, ask your Linux vendor/guru for help - please
|
||||
don't ask us.
|
||||
CONFIG_FILTER=y and CONFIG_PACKET=y, and rebuild your kernel. If the
|
||||
preceding sentence made no sense to you, ask your Linux vendor/guru
|
||||
for help - please don't ask us.
|
||||
|
||||
If you set CONFIG_PACKET=m or CONFIG_FILTER=m, then you must tell the
|
||||
kernel module loader to load the appropriate modules. If this doesn't
|
||||
make sense to you, don't use CONFIG_whatever=m - use CONFIG_whatever=y.
|
||||
Don't ask for help with this on the DHCP mailing list - it's a Linux
|
||||
kernel issue.
|
||||
|
||||
LINUX: 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.
|
||||
address of 255.255.255.255. Unfortunately, Linux changes an IP
|
||||
destination of 255.255.255.255 into the local subnet broadcast address
|
||||
(here, that's 192.5.5.223). This isn't a problem on Linux 2.2 and
|
||||
later kernels, since we completely bypass the Linux IP stack, but on
|
||||
old versions of Linux 2.1 and all versions of Linux prior to 2.1, it
|
||||
is a problem - pickier DHCP clients connected to the same network as
|
||||
the ISC DHCP server or ISC relay agent will not see messages from the
|
||||
DHCP 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
|
||||
@@ -219,12 +269,12 @@ working unless you enable it by doing the following:
|
||||
|
||||
LINUX: MULTIPLE INTERFACES
|
||||
|
||||
Most older versions of the Linux kernel do not provide a networking
|
||||
API that allows dhcpd to operate correctly if the system has more than
|
||||
one broadcast network interface. However, Linux 2.0 kernels with
|
||||
version numbers greater than or equal to 2.0.31 add an API feature:
|
||||
the SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it
|
||||
is possible for dhcpd to operate on Linux with more than one network
|
||||
Very old versions of the Linux kernel do not provide a networking API
|
||||
that allows dhcpd to operate correctly if the system has more than one
|
||||
broadcast network interface. However, Linux 2.0 kernels with version
|
||||
numbers greater than or equal to 2.0.31 add an API feature: the
|
||||
SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it is
|
||||
possible for dhcpd to operate on Linux with more than one network
|
||||
interface. In order to take advantage of this, you must be running a
|
||||
2.0.31 or greater kernel, and you must have 2.0.31 or later system
|
||||
headers installed *before* you build the DHCP Distribution.
|
||||
@@ -234,6 +284,10 @@ in order for the all-ones broadcast to work, even on 2.0.31 kernels.
|
||||
In fact, you now need to add a route for each interface. Hopefully
|
||||
the Linux kernel gurus will get this straight eventually.
|
||||
|
||||
Linux 2.1 and later kernels do not use SO_BINDTODEVICE or require the
|
||||
broadcast address hack, but do support multiple interfaces, using the
|
||||
Linux Packet Filter.
|
||||
|
||||
SCO
|
||||
|
||||
SCO has the same problem as Linux (described earlier). The thing is,
|
||||
@@ -348,6 +402,8 @@ before you can report bugs.
|
||||
|
||||
PLEASE READ THIS README FILE CAREFULLY BEFORE REPORTING BUGS!
|
||||
|
||||
HOW TO REPORT BUGS
|
||||
|
||||
When you report bugs, please provide us complete information. A list
|
||||
of information we need follows. Please read it carefully, and put
|
||||
all the information you can into your initial bug report, so that we
|
||||
|
Reference in New Issue
Block a user