Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/dhcp Re-add README file and RELNOTES, as they may a...



details:   https://anonhg.NetBSD.org/src/rev/c60846be2406
branches:  trunk
changeset: 467833:c60846be2406
user:      mellon <mellon%NetBSD.org@localhost>
date:      Tue Mar 30 01:54:50 1999 +0000

description:
Re-add README file and RELNOTES, as they may actually be of some interest.

diffstat:

 usr.sbin/dhcp/README   |  356 +++++++++++++++++++++++++++
 usr.sbin/dhcp/RELNOTES |  643 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 999 insertions(+), 0 deletions(-)

diffs (truncated from 1007 to 300 lines):

diff -r 03862d34e168 -r c60846be2406 usr.sbin/dhcp/README
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.sbin/dhcp/README      Tue Mar 30 01:54:50 1999 +0000
@@ -0,0 +1,356 @@
+                    Internet Software Consortium
+          Dynamic Host Configuration Protocol Distribution
+                  Version 2, Beta 1, Patchlevel 21
+                           March 29, 1998
+
+Documentation for this software includes this README file, the
+RELNOTES file, and the manual pages, which are in the server, common,
+client and relay subdirectories.  Internet standards relating to the
+DHCP protocol are stored in the doc subdirectory.  You will have the
+best luck reading the manual pages if you build this software and then
+install it, although you can read them directly out of the
+distribution if you need to.
+
+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.
+
+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.
+
+DHCP relay agent documentation is in the dhcrelay man page.
+
+To read installed manual pages, use the man command.  Type "man page"
+where page is the name of the manual page.
+
+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.
+
+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
+pages names are the name of the manual page followed by ".cat"
+followed by 5 or 8, as with unformatted manual pages.
+
+Please note that until you install the manual pages, the pathnames of
+files to which they refer will not be correct for your operating
+system.
+
+This is the first Beta release of Version 2 of the Internet Software
+Consortium DHCP Distribution.  In version 2.0, this distribution
+includes a DHCP server, a DHCP client, and a BOOTP/DHCP relay agent.
+This beta is believed to be fairly stable.  However, DHCP server users
+running a production environment should probably still use version
+1.0, which is more stable, having been in a feature freeze since
+November of 1996.
+
+In this release, the server and relay agent currently work well on
+NetBSD, Linux, FreeBSD, BSD/OS, Ultrix, Digital Alpha OSF/1, and SunOS
+4.1.4.  They can also be run usefully on Solaris as long as only one
+broadcast network interface is configured.  They also runs on QNX as
+long as only one broadcast network interface is configured and a host
+route is added from that interface to the 255.255.255.255 broadcast
+address.  If you are running a Linux 2.0.30 or previous kernel, the
+DHCP daemons will only be able to operate on machines with a single
+network interface.
+
+The DHCP client currently only knows how to configure the network on
+NetBSD, FreeBSD, BSD/os, Linux, Solaris and NextStep.  The client
+depends on a system-dependent shell script to do network
+configuration - support for other operating systems is simply a matter
+of porting this shell script to the new platform.
+
+If you wish to run the DHCP Distribution on Linux, please see the
+Linux-specific notes later in this document.  If you wish to run on an
+SCO release, please see the SCO-specific notes later in this document.
+You particularly need to read these notes if you intend to support
+Windows 95 clients.  If you are running a version of FreeBSD prior to
+2.2, please read the note on FreeBSD.  If you are running HP-UX or
+Ultrix, please read the notes for those operating systems below.
+If you are running NeXTSTEP, please see the notes on NeXTSTEP below.
+
+If you start dhcpd and get a message, "no free bpf", that means you
+need to configure the Berkeley Packet Filter into your operating
+system kernel.   On NetBSD, FreeBSD and BSD/os, type ``man bpf'' for
+information.   On Digital Unix, type ``man pfilt''.
+
+
+                   BUILDING THE DHCP DISTRIBUTION
+
+To build the DHCP Distribution, unpack the compressed tar file using
+the tar utility and the gzip command - type something like:
+
+       zcat dhcp-2.0b1pl21.tar.gz |tar xvf -
+
+Now, cd to the dhcp-2.0b1pl21 subdirectory that you've just created and
+configure the source tree by typing:
+
+               ./configure
+
+If the configure utility can figure out what sort of system you're
+running on, it will create a custom Makefile for you for that
+system; otherwise, it will complain.  If it can't figure out what
+system you are using, that system is not supported - you are on
+your own.
+
+Once you've run configure, just type ``make'', and after a while
+you should have a dhcp server.  If you get compile errors on one
+of the supported systems mentioned earlier, please let us know.
+If you get warnings, it's not likely to be a problem - the DHCP
+server compiles completely warning-free on as many architectures
+as we can manage, but there are a few for which this is difficult.
+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.
+
+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''.
+
+                               LINUX
+
+There are three big LINUX issues: the all-ones broadcast address,
+Linux 2.1 ip_bootp_agent enabling, and operations with more than one
+network interface.   There are also two potential compilation/runtime
+problems for Linux 2.1/2.2: the "SO_ATTACH_FILTER undeclared" problem
+and the "protocol not configured" problem.
+
+                 LINUX: SO_ATTACH_FILTER UNDECLARED
+
+In addition, there is a minor issue that we will mention here because
+this release is so close on the heels of the Linux 2.2 release: there
+is a symlink in /usr/include that points at the linux asm headers.  It
+appears to be not uncommon that this link won't be updated correctly,
+in which case you'll get the following error when you try to build:
+
+   lpf.c: In function `if_register_receive':
+   lpf.c:152: `SO_ATTACH_FILTER' undeclared (first use this function)
+   lpf.c:152: (Each undeclared identifier is reported only once
+   lpf.c:152: for each function it appears in.)
+
+The line numbers may be different, of course.   If you see this
+header, your linux asm header link is probably bad, and you should
+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 or raw
+packet socket configured:
+
+ 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 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.
+
+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.
+
+                       LINUX: IP BOOTP AGENT
+
+Some versions of the Linux 2.1 kernel apparently prevent dhcpd from
+working unless you enable it by doing the following:
+
+             echo 1 >/proc/sys/net/ipv4/ip_bootp_agent
+
+
+                     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
+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.
+
+We have heard reports that you must still add routes to 255.255.255.255
+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.
+
+                                SCO
+
+SCO has the same problem as Linux (described earlier).  The thing is,
+SCO *really* doesn't want to let you add a host route to the all-ones
+broadcast address.  One technique that has been successful on some
+versions of SCO is the very bizarre command:
+
+       ifconfig net0 alias 10.1.1.1 netmask 8.0.0.0
+
+Apparently this works because of an interaction between SCO's support
+for network classes and the weird netmask.  The 10.* network is just a
+dummy that can generally be assumed to be safe.   Don't ask why this
+works.   Just try it.   If it works for you, great.   If not, SCO is
+supposedly adding hooks to support real DHCP service in a future
+release - I have this on good authority from the people at SCO who do
+*their* DHCP server and client.
+
+                               HP-UX
+
+HP-UX has the same problem with the all-ones broadcast address that
+SCO and Linux have.   One user reported that adding the following to
+/etc/rc.config.d/netconf helped (you may have to modify this to suit
+your local configuration):
+
+INTERFACE_NAME[0]=lan0
+IP_ADDRESS[0]=1.1.1.1
+SUBNET_MASK[0]=255.255.255.0
+BROADCAST_ADDRESS[0]="255.255.255.255"
+LANCONFIG_ARGS[0]="ether"
+DHCP_ENABLE[0]=0
+
+                               ULTRIX
+
+Now that we have Ultrix packet filter support, the DHCP Distribution
+on Ultrix should be pretty trouble-free.  However, one thing you do
+need to be aware of is that it now requires that the pfilt device be
+configured into your kernel and present in /dev.  If you type ``man
+packetfilter'', you will get some information on how to configure your
+kernel for the packet filter (if it isn't already) and how to make an
+entry for it in /dev.
+
+                              FreeBSD
+
+Versions of FreeBSD prior to 2.2 have a bug in BPF support in that the
+ethernet driver swaps the ethertype field in the ethernet header
+downstream from BPF, which corrupts the output packet.   If you are
+running a version of FreeBSD prior to 2.2, and you find that dhcpd
+can't communicate with its clients, you should #define BROKEN_FREEBSD_BPF 
+in site.h and recompile.
+
+                              NeXTSTEP
+
+The NeXTSTEP support uses the NeXTSTEP Berkeley Packet Filter
+extension, which is not included in the base NextStep system.  You
+must install this extension in order to get dhcpd or dhclient to work.
+
+                              SOLARIS
+
+One problem which has been observed and is not fixed in this
+patchlevel has to do with using DLPI on Solaris machines.  The symptom
+of this problem is that the DHCP server never receives any requests.
+If you are using Solaris 2.6, and you encounter this symptom, and
+you are running the DHCP server on a machine with a single broadcast
+network interface, you may wish to edit the includes/site.h file and
+uncomment the #define USE_SOCKETS line.  Then type ``make clean;
+make''.
+
+The DHCP client on Solaris will only work with DLPI.  If you run it
+and it just keeps saying it's sending DHCPREQUEST packets, but never
+gets a response, you may be having DLPI trouble as described above.
+If so, you are SOL.  Also, because Solaris requires you to "plumb" an
+interface before it can be detected by the DHCP client, you must
+either specify the name(s) of the interface(s) you want to configure
+on the command line, or must plumb the interfaces prior to invoking



Home | Main Index | Thread Index | Old Index