Annotation of embedaddon/dhcp/README, revision 1.1
1.1 ! misho 1: Internet Systems Consortium DHCP Distribution
! 2: Version 4.1-ESV-R4
! 3: 29 November 2011
! 4:
! 5: README FILE
! 6:
! 7: You should read this file carefully before trying to install or use
! 8: the ISC DHCP Distribution.
! 9:
! 10: TABLE OF CONTENTS
! 11:
! 12: 1 WHERE TO FIND DOCUMENTATION
! 13: 2 RELEASE STATUS
! 14: 3 BUILDING THE DHCP DISTRIBUTION
! 15: 3.1 UNPACKING IT
! 16: 3.2 CONFIGURING IT
! 17: 3.2.1 DYNAMIC DNS UPDATES
! 18: 3.2.2 LOCALLY DEFINED OPTIONS
! 19: 3.3 BUILDING IT
! 20: 4 INSTALLING THE DHCP DISTRIBUTION
! 21: 5 USING THE DHCP DISTRIBUTION
! 22: 5.1 FIREWALL RULES
! 23: 5.2 LINUX
! 24: 5.2.1 IF_TR.H NOT FOUND
! 25: 5.2.2 SO_ATTACH_FILTER UNDECLARED
! 26: 5.2.3 PROTOCOL NOT CONFIGURED
! 27: 5.2.4 BROADCAST
! 28: 5.2.6 IP BOOTP AGENT
! 29: 5.2.7 MULTIPLE INTERFACES
! 30: 5.3 SCO
! 31: 5.4 HP-UX
! 32: 5.5 ULTRIX
! 33: 5.6 FreeBSD
! 34: 5.7 NeXTSTEP
! 35: 5.8 SOLARIS
! 36: 5.8.1 Solaris 11
! 37: 5.8.2 Other Solaris Items
! 38: 5.9 AIX
! 39: 5.10 MacOS X
! 40: 6 SUPPORT
! 41: 6.1 HOW TO REPORT BUGS
! 42:
! 43: WHERE TO FIND DOCUMENTATION
! 44:
! 45: Documentation for this software includes this README file, the
! 46: RELNOTES file, and the manual pages, which are in the server, common,
! 47: client and relay subdirectories. The README file (this file) includes
! 48: late-breaking operational and system-specific information that you
! 49: should read even if you don't want to read the manual pages, and that
! 50: you should *certainly* read if you run into trouble. Internet
! 51: standards relating to the DHCP protocol are stored in the doc
! 52: subdirectory. You will have the best luck reading the manual pages if
! 53: you build this software and then install it, although you can read
! 54: them directly out of the distribution if you need to.
! 55:
! 56: DHCP server documentation is in the dhcpd man page. Information about
! 57: the DHCP server lease database is in the dhcpd.leases man page.
! 58: Server configuration documentation is in the dhcpd.conf man page as
! 59: well as the dhcp-options man page. A sample DHCP server
! 60: configuration is in the file server/dhcpd.conf. The source for the
! 61: dhcpd, dhcpd.leases and dhcpd.conf man pages is in the server/ sub-
! 62: directory in the distribution. The source for the dhcp-options.5
! 63: man page is in the common/ subdirectory.
! 64:
! 65: DHCP Client documentation is in the dhclient man page. DHCP client
! 66: configuration documentation is in the dhclient.conf man page and the
! 67: dhcp-options man page. The DHCP client configuration script is
! 68: documented in the dhclient-script man page. The format of the DHCP
! 69: client lease database is documented in the dhclient.leases man page.
! 70: The source for all these man pages is in the client/ subdirectory in
! 71: the distribution. In addition, the dhcp-options man page should be
! 72: referred to for information about DHCP options.
! 73:
! 74: DHCP relay agent documentation is in the dhcrelay man page, the source
! 75: for which is distributed in the relay/ subdirectory.
! 76:
! 77: To read installed manual pages, use the man command. Type "man page"
! 78: where page is the name of the manual page. This will only work if
! 79: you have installed the ISC DHCP distribution using the ``make install''
! 80: command (described later).
! 81:
! 82: If you want to read manual pages that aren't installed, you can type
! 83: ``nroff -man page |more'' where page is the filename of the
! 84: unformatted manual page. The filename of an unformatted manual page
! 85: is the name of the manual page, followed by '.', followed by some
! 86: number - 5 for documentation about files, and 8 for documentation
! 87: about programs. For example, to read the dhcp-options man page,
! 88: you would type ``nroff -man common/dhcp-options.5 |more'', assuming
! 89: your current working directory is the top level directory of the ISC
! 90: DHCP Distribution.
! 91:
! 92: Please note that the pathnames of files to which our manpages refer
! 93: will not be correct for your operating system until after you iterate
! 94: 'make install' (so if you're reading a manpage out of the source
! 95: directory, it may not have up-to-date information).
! 96:
! 97: RELEASE STATUS
! 98:
! 99: This is ISC DHCP 4.1-ESV-R4, an extended support (ESV)
! 100: release that provides patches for a pair of bugs one of
! 101: which is a potential security issue.
! 102:
! 103: ESVs are intended for users who have longer upgrade constraints
! 104: Please see our web page http://www.isc.org/downloads/extended-support
! 105: for more information on ESVs
! 106:
! 107: In this release, the DHCPv6 server should be fully functional on Linux,
! 108: Solaris, or any BSD. The DHCPv6 client should be similarly functional
! 109: except on Solaris.
! 110:
! 111: The DHCPv4 server, relay, and client, should be fully functional
! 112: on Linux, Solaris, any BSD, HPUX, SCO, NextSTEP, and Irix.
! 113:
! 114: If you are running the DHCP distribution on a machine which is a
! 115: firewall, or if there is a firewall between your DHCP server(s) and
! 116: DHCP clients, please read the section on firewalls which appears later
! 117: in this document.
! 118:
! 119: If you wish to run the DHCP Distribution on Linux, please see the
! 120: Linux-specific notes later in this document. If you wish to run on an
! 121: SCO release, please see the SCO-specific notes later in this document.
! 122: You particularly need to read these notes if you intend to support
! 123: Windows 95 clients. If you are running a version of FreeBSD prior to
! 124: 2.2, please read the note on FreeBSD. If you are running HP-UX or
! 125: Ultrix, please read the notes for those operating systems below. If
! 126: you are running NeXTSTEP, please see the notes on NeXTSTEP below.
! 127:
! 128: If you start dhcpd and get a message, "no free bpf", that means you
! 129: need to configure the Berkeley Packet Filter into your operating
! 130: system kernel. On NetBSD, FreeBSD and BSD/os, type ``man bpf'' for
! 131: information. On Digital Unix, type ``man pfilt''.
! 132:
! 133:
! 134: BUILDING THE DHCP DISTRIBUTION
! 135:
! 136: UNPACKING IT
! 137:
! 138: To build the DHCP Distribution, unpack the compressed tar file using
! 139: the tar utility and the gzip command - type something like:
! 140:
! 141: gunzip dhcp-4.1-ESV-R4.tar.gz
! 142: tar xvf dhcp-4.1-ESV-R4.tar
! 143:
! 144: CONFIGURING IT
! 145:
! 146: Now, cd to the dhcp-4.1-ESV-R4 subdirectory that you've just created and
! 147: configure the source tree by typing:
! 148:
! 149: ./configure
! 150:
! 151: If the configure utility can figure out what sort of system you're
! 152: running on, it will create a custom Makefile for you for that
! 153: system; otherwise, it will complain. If it can't figure out what
! 154: system you are using, that system is not supported - you are on
! 155: your own.
! 156:
! 157: DYNAMIC DNS UPDATES
! 158:
! 159: A fully-featured implementation of dynamic DNS updates is included in
! 160: this release. There are no build dependencies with any BIND version
! 161: - this version can and should just use the resolver in your C library.
! 162:
! 163: There is documentation for the DDNS support in the dhcpd.conf manual
! 164: page - see the beginning of this document for information on finding
! 165: manual pages.
! 166:
! 167: LOCALLY DEFINED OPTIONS
! 168:
! 169: In previous versions of the DHCP server there was a mechanism whereby
! 170: options that were not known by the server could be configured using
! 171: a name made up of the option code number and an identifier:
! 172: "option-nnn" This is no longer supported, because it is not future-
! 173: proof. Instead, if you want to use an option that the server doesn't
! 174: know about, you must explicitly define it using the method described
! 175: in the dhcp-options man page under the DEFINING NEW OPTIONS heading.
! 176:
! 177: BUILDING IT
! 178:
! 179: Once you've run configure, just type ``make'', and after a while
! 180: you should have a dhcp server. If you get compile errors on one
! 181: of the supported systems mentioned earlier, please let us know.
! 182: If you get warnings, it's not likely to be a problem - the DHCP
! 183: server compiles completely warning-free on as many architectures
! 184: as we can manage, but there are a few for which this is difficult.
! 185: If you get errors on a system not mentioned above, you will need
! 186: to do some programming or debugging on your own to get the DHCP
! 187: Distribution working.
! 188:
! 189: INSTALLING THE DHCP DISTRIBUTION
! 190:
! 191: Once you have successfully gotten the DHCP Distribution to build, you
! 192: can install it by typing ``make install''. If you already have an old
! 193: version of the DHCP Distribution installed, you may want to save it
! 194: before typing ``make install''.
! 195:
! 196: USING THE DHCP DISTRIBUTION
! 197:
! 198: FIREWALL RULES
! 199:
! 200: If you are running the DHCP server or client on a computer that's also
! 201: acting as a firewall, you must be sure to allow DHCP packets through
! 202: the firewall. In particular, your firewall rules _must_ allow packets
! 203: from IP address 0.0.0.0 to IP address 255.255.255.255 from UDP port 68
! 204: to UDP port 67 through. They must also allow packets from your local
! 205: firewall's IP address and UDP port 67 through to any address your DHCP
! 206: server might serve on UDP port 68. Finally, packets from relay agents
! 207: on port 67 to the DHCP server on port 67, and vice versa, must be
! 208: permitted.
! 209:
! 210: We have noticed that on some systems where we are using a packet
! 211: filter, if you set up a firewall that blocks UDP port 67 and 68
! 212: entirely, packets sent through the packet filter will not be blocked.
! 213: However, unicast packets will be blocked. This can result in strange
! 214: behaviour, particularly on DHCP clients, where the initial packet
! 215: exchange is broadcast, but renewals are unicast - the client will
! 216: appear to be unable to renew until it starts broadcasting its
! 217: renewals, and then suddenly it'll work. The fix is to fix the
! 218: firewall rules as described above.
! 219:
! 220: PARTIAL SERVERS
! 221:
! 222: If you have a server that is connected to two networks, and you only
! 223: want to provide DHCP service on one of those networks (e.g., you are
! 224: using a cable modem and have set up a NAT router), if you don't write
! 225: any subnet declaration for the network you aren't supporting, the DHCP
! 226: server will ignore input on that network interface if it can. If it
! 227: can't, it will refuse to run - some operating systems do not have the
! 228: capability of supporting DHCP on machines with more than one
! 229: interface, and ironically this is the case even if you don't want to
! 230: provide DHCP service on one of those interfaces.
! 231:
! 232: LINUX
! 233:
! 234: There are three big LINUX issues: the all-ones broadcast address,
! 235: Linux 2.1 ip_bootp_agent enabling, and operations with more than one
! 236: network interface. There are also two potential compilation/runtime
! 237: problems for Linux 2.1/2.2: the "SO_ATTACH_FILTER undeclared" problem
! 238: and the "protocol not configured" problem.
! 239:
! 240: LINUX: PROTOCOL NOT CONFIGURED
! 241:
! 242: If you get the following message, it's because your kernel doesn't
! 243: have the linux packetfilter or raw packet socket configured:
! 244:
! 245: Make sure CONFIG_PACKET (Packet socket) and CONFIG_FILTER (Socket
! 246: Filtering) are enabled in your kernel configuration
! 247:
! 248: If this happens, you need to configure your Linux kernel to support
! 249: Socket Filtering and the Packet socket, or to select a kernel provided
! 250: by your Linux distribution that has these enabled (virtually all modern
! 251: ones do by default).
! 252:
! 253: LINUX: BROADCAST
! 254:
! 255: If you are running a recent version of Linux, this won't be a problem,
! 256: but on older versions of Linux (kernel versions prior to 2.2), there
! 257: is a potential problem with the broadcast address being sent
! 258: incorrectly.
! 259:
! 260: In order for dhcpd to work correctly with picky DHCP clients (e.g.,
! 261: Windows 95), it must be able to send packets with an IP destination
! 262: address of 255.255.255.255. Unfortunately, Linux changes an IP
! 263: destination of 255.255.255.255 into the local subnet broadcast address
! 264: (here, that's 192.5.5.223).
! 265:
! 266: This isn't generally a problem on Linux 2.2 and later kernels, since
! 267: we completely bypass the Linux IP stack, but on old versions of Linux
! 268: 2.1 and all versions of Linux prior to 2.1, it is a problem - pickier
! 269: DHCP clients connected to the same network as the ISC DHCP server or
! 270: ISC relay agent will not see messages from the DHCP server. It *is*
! 271: possible to run into trouble with this on Linux 2.2 and later if you
! 272: are running a verson of the DHCP server that was compiled on a Linux
! 273: 2.0 system, though.
! 274:
! 275: It is possible to work around this problem on some versions of Linux
! 276: by creating a host route from your network interface address to
! 277: 255.255.255.255. The command you need to use to do this on Linux
! 278: varies from version to version. The easiest version is:
! 279:
! 280: route add -host 255.255.255.255 dev eth0
! 281:
! 282: On some older Linux systems, you will get an error if you try to do
! 283: this. On those systems, try adding the following entry to your
! 284: /etc/hosts file:
! 285:
! 286: 255.255.255.255 all-ones
! 287:
! 288: Then, try:
! 289:
! 290: route add -host all-ones dev eth0
! 291:
! 292: Another route that has worked for some users is:
! 293:
! 294: route add -net 255.255.255.0 dev eth0
! 295:
! 296: If you are not using eth0 as your network interface, you should
! 297: specify the network interface you *are* using in your route command.
! 298:
! 299: LINUX: IP BOOTP AGENT
! 300:
! 301: Some versions of the Linux 2.1 kernel apparently prevent dhcpd from
! 302: working unless you enable it by doing the following:
! 303:
! 304: echo 1 >/proc/sys/net/ipv4/ip_bootp_agent
! 305:
! 306:
! 307: LINUX: MULTIPLE INTERFACES
! 308:
! 309: Very old versions of the Linux kernel do not provide a networking API
! 310: that allows dhcpd to operate correctly if the system has more than one
! 311: broadcast network interface. However, Linux 2.0 kernels with version
! 312: numbers greater than or equal to 2.0.31 add an API feature: the
! 313: SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it is
! 314: possible for dhcpd to operate on Linux with more than one network
! 315: interface. In order to take advantage of this, you must be running a
! 316: 2.0.31 or greater kernel, and you must have 2.0.31 or later system
! 317: headers installed *before* you build the DHCP Distribution.
! 318:
! 319: We have heard reports that you must still add routes to 255.255.255.255
! 320: in order for the all-ones broadcast to work, even on 2.0.31 kernels.
! 321: In fact, you now need to add a route for each interface. Hopefully
! 322: the Linux kernel gurus will get this straight eventually.
! 323:
! 324: Linux 2.1 and later kernels do not use SO_BINDTODEVICE or require the
! 325: broadcast address hack, but do support multiple interfaces, using the
! 326: Linux Packet Filter.
! 327:
! 328: LINUX: OpenWrt
! 329:
! 330: DHCP 4.1 has been tested on OpenWrt 7.09 and 8.09. In keeping with
! 331: standard practice, client/scripts now includes a dhclient-script file
! 332: for OpenWrt. However, this is not sufficient by itself to run dhcp on
! 333: OpenWrt; a full OpenWrt package for DHCP is available at
! 334: ftp://ftp.isc.org/isc/dhcp/dhcp-4.1.0-openwrt.tar.gz
! 335:
! 336: LINUX: 802.1q VLAN INTERFACES
! 337:
! 338: If you're using 802.1q vlan interfaces on Linux, it is necessary to
! 339: vconfig the subinterface(s) to rewrite the 802.1q information out of
! 340: packets received by the dhcpd daemon via LPF:
! 341:
! 342: vconfig set_flag eth1.523 1 1
! 343:
! 344: Note that this may affect the performance of your system, since the
! 345: Linux kernel must rewrite packets received via this interface. For
! 346: more information, consult the vconfig man pages.
! 347:
! 348: SCO
! 349:
! 350: ISC DHCP will now work correctly on newer versions of SCO out of the
! 351: box (tested on OpenServer 5.05b, assumed to work on UnixWare 7).
! 352:
! 353: Older versions of SCO have the same problem as Linux (described earlier).
! 354: The thing is, SCO *really* doesn't want to let you add a host route to
! 355: the all-ones broadcast address.
! 356:
! 357: You can try the following:
! 358:
! 359: ifconfig net0 xxx.xxx.xxx.xxx netmask 0xNNNNNNNN broadcast 255.255.255.255
! 360:
! 361: If this doesn't work, you can also try the following strange hack:
! 362:
! 363: ifconfig net0 alias 10.1.1.1 netmask 8.0.0.0
! 364:
! 365: Apparently this works because of an interaction between SCO's support
! 366: for network classes and the weird netmask. The 10.* network is just a
! 367: dummy that can generally be assumed to be safe. Don't ask why this
! 368: works. Just try it. If it works for you, great.
! 369:
! 370: HP-UX
! 371:
! 372: HP-UX has the same problem with the all-ones broadcast address that
! 373: SCO and Linux have. One user reported that adding the following to
! 374: /etc/rc.config.d/netconf helped (you may have to modify this to suit
! 375: your local configuration):
! 376:
! 377: INTERFACE_NAME[0]=lan0
! 378: IP_ADDRESS[0]=1.1.1.1
! 379: SUBNET_MASK[0]=255.255.255.0
! 380: BROADCAST_ADDRESS[0]="255.255.255.255"
! 381: LANCONFIG_ARGS[0]="ether"
! 382: DHCP_ENABLE[0]=0
! 383:
! 384: ULTRIX
! 385:
! 386: Now that we have Ultrix packet filter support, the DHCP Distribution
! 387: on Ultrix should be pretty trouble-free. However, one thing you do
! 388: need to be aware of is that it now requires that the pfilt device be
! 389: configured into your kernel and present in /dev. If you type ``man
! 390: packetfilter'', you will get some information on how to configure your
! 391: kernel for the packet filter (if it isn't already) and how to make an
! 392: entry for it in /dev.
! 393:
! 394: FreeBSD
! 395:
! 396: Versions of FreeBSD prior to 2.2 have a bug in BPF support in that the
! 397: ethernet driver swaps the ethertype field in the ethernet header
! 398: downstream from BPF, which corrupts the output packet. If you are
! 399: running a version of FreeBSD prior to 2.2, and you find that dhcpd
! 400: can't communicate with its clients, you should #define BROKEN_FREEBSD_BPF
! 401: in site.h and recompile.
! 402:
! 403: Modern versions of FreeBSD include the ISC DHCP 3.0 client as part of
! 404: the base system, and the full distribution (for the DHCP server and
! 405: relay agent) is available from the Ports Collection in
! 406: /usr/ports/net/isc-dhcp3, or as a package on FreeBSD installation
! 407: CDROMs.
! 408:
! 409: NeXTSTEP
! 410:
! 411: The NeXTSTEP support uses the NeXTSTEP Berkeley Packet Filter
! 412: extension, which is not included in the base NextStep system. You
! 413: must install this extension in order to get dhcpd or dhclient to work.
! 414:
! 415: SOLARIS
! 416:
! 417: Solaris 11
! 418:
! 419: We have integrated a patch from Oracle to use sockets instead of
! 420: DLPI on Solaris 11. This functionality was written for use with
! 421: Solaris Studio 12.2 and requires the system/header package.
! 422:
! 423: By default this code is disabled in order to minimize disruptions
! 424: for current users. In order to enable this code you will need to
! 425: enable both USE_SOCKETS and USE_V4_PKTINFO as part of the
! 426: configuration step. The command line would be something like:
! 427:
! 428: ./configure --enable-use-sockets --enable-ipv4-pktinfo
! 429:
! 430: Other Solaris Items
! 431:
! 432: One problem which has been observed and is not fixed in this
! 433: patchlevel has to do with using DLPI on Solaris machines. The symptom
! 434: of this problem is that the DHCP server never receives any requests.
! 435: This has been observed with Solaris 2.6 and Solaris 7 on Intel x86
! 436: systems, although it may occur with other systems as well. If you
! 437: encounter this symptom, and you are running the DHCP server on a
! 438: machine with a single broadcast network interface, you may wish to
! 439: edit the includes/site.h file and uncomment the #define USE_SOCKETS
! 440: line. Then type ``make clean; make''. As an alternative workaround,
! 441: it has been reported that running 'snoop' will cause the dhcp server
! 442: to start receiving packets. So the practice reported to us is to run
! 443: snoop at dhcpd startup time, with arguments to cause it to receive one
! 444: packet and exit.
! 445:
! 446: snoop -c 1 udp port 67 > /dev/null &
! 447:
! 448: The DHCP client on Solaris will only work with DLPI. If you run it
! 449: and it just keeps saying it's sending DHCPREQUEST packets, but never
! 450: gets a response, you may be having DLPI trouble as described above.
! 451: If so, we have no solution to offer at this time, aside from the above
! 452: workaround which should also work here. Also, because Solaris requires
! 453: you to "plumb" an interface before it can be detected by the DHCP client,
! 454: you must either specify the name(s) of the interface(s) you want to
! 455: configure on the command line, or must plumb the interfaces prior to
! 456: invoking the DHCP client. This can be done with ``ifconfig iface plumb'',
! 457: where iface is the name of the interface (e.g., ``ifconfig hme0 plumb'').
! 458:
! 459: It should be noted that Solaris versions from 2.6 onward include a
! 460: DHCP client that you can run with ``/sbin/ifconfig iface dhcp start''
! 461: rather than using the ISC DHCP client, including DHCPv6. Consequently,
! 462: we don't believe there is a need for the client to run on Solaris, and
! 463: have not engineered the needed DHCPv6 modifications for the dhclient-script.
! 464: If you feel this is in error, or have a need, please contact us.
! 465:
! 466: AIX
! 467:
! 468: The AIX support uses the BSD socket API, which cannot differentiate on
! 469: which network interface a broadcast packet was received; thus the DHCP
! 470: server and relay will work only on a single interface. (They do work
! 471: on multi-interface machines if configured to listen on only one of the
! 472: interfaces.)
! 473:
! 474: We have reports of Windows XP clients having difficutly retrieving
! 475: addresses from a server running on an AIX machine. This issue
! 476: was traced to the client requiring messages be sent to the all ones
! 477: broadcast address (255.255.255.255) while the AIX server was sending
! 478: to 192.168.0.255.
! 479:
! 480: You may be able to solve this by including a relay between the client
! 481: and server with the relay configured to use a broadcast of all-ones.
! 482:
! 483: A second option that worked for AIX 5.1 but doesn't seem to work for
! 484: AIX 5.3 was to:
! 485: create a host file entry for all-ones (255.255.255.255)
! 486: and then add a route:
! 487: route add -host all-ones -interface <local-ip-address>
! 488:
! 489: The ISC DHCP distribution does not include a dhclient-script for AIX--
! 490: AIX comes with a DHCP client. Contribution of a working dhclient-script
! 491: for AIX would be welcome.
! 492:
! 493:
! 494: MacOS X
! 495:
! 496: The MacOS X system uses a TCP/IP stack derived from FreeBSD with a
! 497: user-friendly interface named the System Configuration Framework.
! 498: As it includes a builtin DHCPv4 client (you are better just using that),
! 499: this text is only about the DHCPv6 client (``dhclient -6 ...''). The DNS
! 500: configuration (domain search list and name servers' addresses) is managed
! 501: by a System Configuration agent, not by /etc/resolv.conf (which is a link
! 502: to /var/run/resolv.conf, which itself only reflects the internal state;
! 503: the System Configuration framework's Dynamic Store).
! 504:
! 505: This means that modifying resolv.conf directly doesn't have the
! 506: intended effect, instead the macos script sample creates its own
! 507: resolv.conf.dhclient6 in /var/run, and inserts the contents of this
! 508: file into the Dynamic Store.
! 509:
! 510: When updating the address configuration the System Configuration
! 511: framework expects the prefix and a default router along with the
! 512: configured address. As this extra information is not available via
! 513: the DHCPv6 protocol the System Configuration framework isn't usable
! 514: for address configuration, instead ifconfig is used directly.
! 515:
! 516: Note the Dynamic Store (from which /var/run/resolv.conf is built) is
! 517: recomputed from scratch when the current location/set is changed.
! 518: Running the dhclient-script reinstalls the resolv.conf.dhclient6
! 519: configuration.
! 520:
! 521: SUPPORT
! 522:
! 523: The Internet Systems Consortium DHCP server is developed and distributed
! 524: by ISC in the public trust, thanks to the generous donations of its
! 525: sponsors. ISC now also offers commercial quality support contracts for
! 526: ISC DHCP, more information about ISC Support Contracts can be found at
! 527: the following URL:
! 528:
! 529: https://www.isc.org/services/support/
! 530:
! 531: Please understand that we may not respond to support inquiries unless
! 532: you have a support contract. ISC will continue its practice of always
! 533: responding to critical items that effect the entire community, and
! 534: responding to all other requests for support upon ISC's mailing lists
! 535: on a best-effort basis.
! 536:
! 537: However, ISC DHCP has attracted a fairly sizable following on the
! 538: Internet, which means that there are a lot of knowledgeable users who
! 539: may be able to help you if you get stuck. These people generally
! 540: read the dhcp-users@isc.org mailing list. Be sure to provide as much
! 541: detail in your query as possible.
! 542:
! 543: If you are going to use ISC DHCP, you should probably subscribe to
! 544: the dhcp-users or dhcp-announce mailing lists.
! 545:
! 546: WHERE TO SEND FEATURE REQUESTS: We like to hear your feedback. We may
! 547: not respond to it all the time, but we do read it. If ISC DHCP doesn't
! 548: work well for you, or you have an idea that would improve it for your
! 549: use, please send your suggestion to dhcp-suggest@isc.org. This is also
! 550: an excellent place to send patches that add new features.
! 551:
! 552: WHERE TO REPORT BUGS: If you want the act of sending in a bug report
! 553: to result in you getting help in the form of a fixed piece of
! 554: software, you are asking for help. Your bug report is helpful to us,
! 555: but fundamentally you are making a support request, so please use the
! 556: addresses described in the previous paragraphs. If you are _sure_ that
! 557: your problem is a bug, and not user error, or if your bug report
! 558: includes a patch, you can send it to our ticketing system at
! 559: dhcp-bugs@isc.org. If you have not received a notice that the ticket
! 560: has been resolved, then we're still working on it.
! 561:
! 562: PLEASE DO NOT REPORT BUGS IN OLD SOFTWARE RELEASES! Fetch the latest
! 563: release and see if the bug is still in that version of the software,
! 564: and if it's not, _then_ report it. ISC release versions always have
! 565: three numbers, for example: 1.2.3. The 'major release' is 1 here,
! 566: the 'minor release' is 2, and the 'maintenance release' is 3. ISC
! 567: will accept bug reports against the most recent two major.minor
! 568: releases: for example, 1.0.0 and 0.9.0, but not 0.8.* or prior.
! 569:
! 570: PLEASE take a moment to determine where the ISC DHCP distribution
! 571: that you're using came from. ISC DHCP is sometimes heavily modified
! 572: by integrators in various operating systems - it's not that we
! 573: feel that our software is perfect and incapable of having bugs, but
! 574: rather that it is very frustrating to find out after many days trying
! 575: to help someone that the sources you're looking at aren't what they're
! 576: running. When in doubt, please retrieve the source distribution from
! 577: ISC's web page and install it.
! 578:
! 579: HOW TO REPORT BUGS OR REQUEST HELP
! 580:
! 581: When you report bugs or ask for help, please provide us complete
! 582: information. A list of information we need follows. Please read it
! 583: carefully, and put all the information you can into your initial bug
! 584: report. This will save us a great deal of time and more informative
! 585: bug reports are more likely to get handled more quickly overall.
! 586:
! 587: 1. The specific operating system name and version of the
! 588: machine on which the DHCP server or client is running.
! 589: 2. The specific operating system name and version of the
! 590: machine on which the client is running, if you are having
! 591: trouble getting a client working with the server.
! 592: 3. If you're running Linux, the version number we care about is
! 593: the kernel version and maybe the library version, not the
! 594: distribution version - e.g., while we don't mind knowing
! 595: that you're running Redhat version mumble.foo, we must know
! 596: what kernel version you're running, and it helps if you can
! 597: tell us what version of the C library you're running,
! 598: although if you don't know that off the top of your head it
! 599: may be hard for you to figure it out, so don't go crazy
! 600: trying.
! 601: 4. The specific version of the DHCP distribution you're
! 602: running, as reported by dhcpd -t.
! 603: 5. Please explain the problem carefully, thinking through what
! 604: you're saying to ensure that you don't assume we know
! 605: something about your situation that we don't know.
! 606: 6. Include your dhcpd.conf and dhcpd.leases file as MIME attachments
! 607: if they're not over 100 kilobytes in size each. If they are
! 608: this large, please make them available to us eg via a hidden
! 609: http:// URL or FTP site. If you're not comfortable releasing
! 610: this information due to sensitive contents, you may encrypt
! 611: the file to our release signing key, available on our website.
! 612: 7. Include a log of your server or client running until it
! 613: encounters the problem - for example, if you are having
! 614: trouble getting some client to get an address, restart the
! 615: server with the -d flag and then restart the client, and
! 616: send us what the server prints. Likewise, with the client,
! 617: include the output of the client as it fails to get an
! 618: address or otherwise does the wrong thing. Do not leave
! 619: out parts of the output that you think aren't interesting.
! 620: 8. If the client or server is dumping core, please run the
! 621: debugger and get a stack trace, and include that in your
! 622: bug report. For example, if your debugger is gdb, do the
! 623: following:
! 624:
! 625: gdb dhcpd dhcpd.core
! 626: (gdb) where
! 627: [...]
! 628: (gdb) quit
! 629:
! 630: This assumes that it's the dhcp server you're debugging, and
! 631: that the core file is in dhcpd.core.
! 632:
! 633: Please see https://www.isc.org/software/dhcp/ for details on how to subscribe
! 634: to the ISC DHCP mailing lists.
! 635:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>