mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-09-01 06:45:27 +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
|
Internet Software Consortium
|
||||||
Dynamic Host Configuration Protocol Distribution
|
Dynamic Host Configuration Protocol Distribution
|
||||||
Version 3, Alpha Snapshot
|
Version 3, Beta 1, Patchlevel 0
|
||||||
June 8, 1999
|
July 1, 1999
|
||||||
|
|
||||||
This is an alpha test snapshot of Version 3 of the Internet Software
|
README FILE
|
||||||
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.
|
|
||||||
|
|
||||||
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
|
Documentation for this software includes this README file, the
|
||||||
RELNOTES file, and the manual pages, which are in the server, common,
|
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.
|
the DHCP server lease database is in the dhcpd.leases man page.
|
||||||
Server configuration documentation is in the dhcpd.conf man page as
|
Server configuration documentation is in the dhcpd.conf man page as
|
||||||
well as the dhcp-options man page. A sample DHCP server
|
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
|
DHCP Client documentation is in the dhclient man page. DHCP client
|
||||||
configuration documentation is in the dhclient.conf man page and the
|
configuration documentation is in the dhclient.conf man page and the
|
||||||
dhcp-options man page. The DHCP client configuration script is
|
dhcp-options man page. The DHCP client configuration script is
|
||||||
documented in the dhclient-script man page. The format of the DHCP
|
documented in the dhclient-script man page. The format of the DHCP
|
||||||
client lease database is documented in the dhclient.leases man page.
|
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"
|
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
|
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
|
``nroff -man page |more'' where page is the filename of the
|
||||||
unformatted manual page. The filename of an unformatted manual page
|
unformatted manual page. The filename of an unformatted manual page
|
||||||
is the name of the manual page, followed by '.', followed by some
|
is the name of the manual page, followed by '.', followed by some
|
||||||
number - 5 for documentation about files, and 8 for documentation
|
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''
|
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
|
where catpage is the filename of the catted man page. Catted man
|
||||||
@@ -55,6 +89,11 @@ system.
|
|||||||
|
|
||||||
RELEASE STATUS
|
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
|
In this release, the server and relay agent currently work well on
|
||||||
NetBSD, Linux after kernel version 2.0.30, FreeBSD, BSD/OS, Ultrix,
|
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,
|
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
|
To build the DHCP Distribution, unpack the compressed tar file using
|
||||||
the tar utility and the gzip command - type something like:
|
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
|
On BSD/OS, you have to type gzcat, not zcat, and you may run into
|
||||||
similar problems on other operating systems.
|
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:
|
created and configure the source tree by typing:
|
||||||
|
|
||||||
./configure
|
./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
|
to do some programming or debugging on your own to get the DHCP
|
||||||
Distribution working.
|
Distribution working.
|
||||||
|
|
||||||
|
INSTALLING THE DHCP DISTRIBUTION
|
||||||
|
|
||||||
Once you have successfully gotten the DHCP Distribution to build, you
|
Once you have successfully gotten the DHCP Distribution to build, you
|
||||||
can install it by typing ``make install''. If you already have an old
|
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
|
version of the DHCP Distribution installed, you may want to save it
|
||||||
before typing ``make install''.
|
before typing ``make install''.
|
||||||
|
|
||||||
|
USING THE DHCP DISTRIBUTION
|
||||||
|
|
||||||
LINUX
|
LINUX
|
||||||
|
|
||||||
There are three big LINUX issues: the all-ones broadcast address,
|
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
|
LINUX: PROTOCOL NOT CONFIGURED
|
||||||
|
|
||||||
One additional Linux 2.1/2.2 issue: if you get the following message,
|
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
|
it's because your kernel doesn't have the linux packetfilter or raw
|
||||||
configured:
|
packet socket configured:
|
||||||
|
|
||||||
Can't install packet filter program: Protocol not available
|
Set CONFIG_PACKET=y and CONFIG_FILTER=y in your kernel configuration
|
||||||
exiting.
|
|
||||||
|
|
||||||
If this happens, you need to edit your linux kernel .config file, set
|
If this happens, you need to edit your linux kernel .config file, set
|
||||||
CONFIG_FILTER=y, and rebuild your kernel. If the preceding sentence
|
CONFIG_FILTER=y and CONFIG_PACKET=y, and rebuild your kernel. If the
|
||||||
made no sense to you, ask your Linux vendor/guru for help - please
|
preceding sentence made no sense to you, ask your Linux vendor/guru
|
||||||
don't ask us.
|
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
|
LINUX: BROADCAST
|
||||||
|
|
||||||
In order for dhcpd to work correctly with picky DHCP clients (e.g.,
|
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
|
Windows 95), it must be able to send packets with an IP destination
|
||||||
address of 255.255.255.255. Unfortunately, Linux insists on changing
|
address of 255.255.255.255. Unfortunately, Linux changes an IP
|
||||||
255.255.255.255 into the local subnet broadcast address (here, that's
|
destination of 255.255.255.255 into the local subnet broadcast address
|
||||||
192.5.5.223). This results in a DHCP protocol violation, and while
|
(here, that's 192.5.5.223). This isn't a problem on Linux 2.2 and
|
||||||
many DHCP clients don't notice the problem, some (e.g., all Microsoft
|
later kernels, since we completely bypass the Linux IP stack, but on
|
||||||
DHCP clients) do. Clients that have this problem will appear not to
|
old versions of Linux 2.1 and all versions of Linux prior to 2.1, it
|
||||||
see DHCPOFFER messages from the server.
|
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
|
It is possible to work around this problem on some versions of Linux
|
||||||
by creating a host route from your network interface address to
|
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
|
LINUX: MULTIPLE INTERFACES
|
||||||
|
|
||||||
Most older versions of the Linux kernel do not provide a networking
|
Very old versions of the Linux kernel do not provide a networking API
|
||||||
API that allows dhcpd to operate correctly if the system has more than
|
that allows dhcpd to operate correctly if the system has more than one
|
||||||
one broadcast network interface. However, Linux 2.0 kernels with
|
broadcast network interface. However, Linux 2.0 kernels with version
|
||||||
version numbers greater than or equal to 2.0.31 add an API feature:
|
numbers greater than or equal to 2.0.31 add an API feature: the
|
||||||
the SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it
|
SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it is
|
||||||
is possible for dhcpd to operate on Linux with more than one network
|
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
|
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
|
2.0.31 or greater kernel, and you must have 2.0.31 or later system
|
||||||
headers installed *before* you build the DHCP Distribution.
|
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
|
In fact, you now need to add a route for each interface. Hopefully
|
||||||
the Linux kernel gurus will get this straight eventually.
|
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
|
||||||
|
|
||||||
SCO has the same problem as Linux (described earlier). The thing is,
|
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!
|
PLEASE READ THIS README FILE CAREFULLY BEFORE REPORTING BUGS!
|
||||||
|
|
||||||
|
HOW TO REPORT BUGS
|
||||||
|
|
||||||
When you report bugs, please provide us complete information. A list
|
When you report bugs, please provide us complete information. A list
|
||||||
of information we need follows. Please read it carefully, and put
|
of information we need follows. Please read it carefully, and put
|
||||||
all the information you can into your initial bug report, so that we
|
all the information you can into your initial bug report, so that we
|
||||||
|
Reference in New Issue
Block a user