home *** CD-ROM | disk | FTP | other *** search
/ Hacks & Cracks / Hacks_and_Cracks.iso / hackersclub / km / library / articles / dhcp-faq.txt < prev    next >
Text File  |  1998-03-25  |  44KB  |  827 lines

  1.  
  2.                                    DHCP FAQ
  3.                                        
  4.    Author
  5.           John Wobus, jmwobus@syr.edu (corrections welcome)
  6.           
  7.    Date
  8.           3/28/96
  9.           
  10.    This file
  11.           http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html
  12.           
  13. Questions
  14.  
  15.     1. General
  16.          1. What is DHCP?
  17.          2. What is DHCP's purpose?
  18.          3. Who Created It? How Was It Created?
  19.          4. How is it different that BOOTP or RARP?
  20.          5. Why shouldn't clients assign IP numbers without the use of a
  21.             server?
  22.          6. Can DHCP support statically defined addresses?
  23.          7. Can a BOOTP client boot from a DHCP server?
  24.          8. Can a DHCP client boot from a BOOTP server?
  25.          9. Is a DHCP server "supposed to" be able to support a BOOTP
  26.             client?
  27.         10. Is a DHCP client "supposed to" be able to use a BOOTP server?
  28.         11. Can a DHCP client update its DNS entry through DHCP?
  29.         12. Can a DHCP server back up another DHCP server?
  30.         13. When will the server to server protocol be defined?
  31.         14. Is there a DHCP mailing list?
  32.         15. In a subnetted environment, how does the DHCP server discover
  33.             what subnet a request has come from?
  34.         16. Where is DHCP defined?
  35.         17. What other sources of information are available?
  36.         18. Can DHCP support remote access?
  37.         19. Can a client have a home address and still float?
  38.         20. How can I relay DHCP if my router does not support it?
  39.         21. How do I migrate my site from BOOTP to DHCP?
  40.         22. Can you limit which MAC addresses are allowed to roam?
  41.         23. What are the Gotcha's?
  42.     2. Info on Implementations
  43.          1. What features or restrictions can a DHCP server have?
  44.          2. What freeware DHCP servers are available?
  45.          3. What commercial DHCP servers are available?
  46.          4. Which vendors of client software currently support DHCP?
  47.          5. What are the DHCP plans of major client-software vendors?
  48.          6. What Routers forward DHCP requests?
  49.          7. What Routers include DHCP servers?
  50.          8. What Servers forward DHCP requests?
  51.          9. Which implementations support or require the broadcast flag?
  52.         10. How can I run Windows 95 without a DHCP server?
  53.         11. Do any servers limit the MAC addresses that may roam?
  54.         12. What are the Gotcha's specific to various implementations?
  55.             
  56. Answers
  57.  
  58.     1. General
  59.          1. What is DHCP?
  60.             
  61.             DHCP stands for "Dynamic Host Configuration Protocol".
  62.          2. What is DHCP's purpose?
  63.             
  64.             DHCP's purpose is to enable individual computers on an IP
  65.             network to extract their configurations from a server (the
  66.             'DHCP server') or servers, in particular, servers that have
  67.             no exact information about the individual computers until
  68.             they request the information. The overall purpose of this is
  69.             to reduce the work necessary to administer a large IP
  70.             network.
  71.          3. Who Created It? How Was It Created?
  72.             
  73.             DHCP was created by the Dynamic Host Configuration Working
  74.             Group of the Internet Engineering Task Force (IETF; a
  75.             volunteer organization which defines protocols for use on the
  76.             Internet). As such, it's definition is recorded in an
  77.             Internet RFC and the Internet Activities Board (IAB) is
  78.             asserting its status as to Internet Standardization. As of
  79.             this writing (March 1996), DHCP is an Internet Proposed
  80.             Standard Protocl and is Elective. BOOTP is an Internet Draft
  81.             Standard Protocol and is Recommended. For more information on
  82.             Internet standardization, see RFC1920 (March 1996).
  83.          4. How is it different that BOOTP or RARP?
  84.             
  85.             DHCP is based on BOOTP and maintains some backward
  86.             compatibility. The main difference is that BOOTP was designed
  87.             for manual pre-configuration of the host information in a
  88.             server database, while DHCP allows for dynamic allocation of
  89.             network addresses and configurations to newly attached hosts.
  90.             Additionally, DHCP allows for recovery and reallocation of
  91.             network addresses through a leasing mechanism.
  92.             
  93.             RARP is a protocol used by Sun and other vendors that allows
  94.             a computer to find out its own IP number, which is one of the
  95.             protocol parameters typically passed to the client system by
  96.             DHCP or BOOTP. RARP doesn't support other parameters and
  97.             using it, a server can only serve a single LAN. DHCP and
  98.             BOOTP are designed so they can be routed.
  99.          5. Why shouldn't clients assign IP numbers without the use of a
  100.             server?
  101.             
  102.             It is theoretically possible for client-machines to find
  103.             addresses to use by picking an address out of the blue and
  104.             broadcasting a request of all the other client machines to
  105.             see if they are using them. Appletalk is designed around this
  106.             idea, and Apple's MacTCP can be configured to do this for IP.
  107.             However, this method of IP address assignment has
  108.             disadvantages.
  109.               1. A computer that needs a permanently-assigned IP number
  110.                  might be turned off and lose its number to a machine
  111.                  coming up. This has problems both for finding services
  112.                  and for security.
  113.               2. A network might be temporarily divided into two
  114.                  non-communicating networks while a network component is
  115.                  not functioning. During this time, two different
  116.                  client-machines might end up claiming the same IP
  117.                  number. When the network comes back, they start
  118.                  malfunctioning.
  119.               3. If such dynamic assignment is to be confined to ranges
  120.                  of IP addresses, then the ranges are configured in each
  121.                  desktop machine rather than being centrally
  122.                  administered. This can lead both to hidden configuration
  123.                  errors and to difficulty in changing the range. Another
  124.                  problem with the use of such ranges is keeping it easy
  125.                  to move a computer from one subnet to another.
  126.          6. Can DHCP support statically defined addresses?
  127.             
  128.             Yes. At least there is nothing in the protocol to preclude
  129.             this and one expects it to be a feature of any DHCP server.
  130.             This is really a server matter and the client should work
  131.             either way. The RFC refers to this as manual allocation.
  132.          7. Can a BOOTP client boot from a DHCP server?
  133.             
  134.             Only if the DHCP server is specifically written to also
  135.             handle BOOTP queries.
  136.          8. Can a DHCP client boot from a BOOTP server?
  137.             
  138.             Only if the DHCP client were specifically written to make use
  139.             of the answer from a BOOTP server. It would presumeably treat
  140.             a BOOTP reply as an unending lease on the IP address.
  141.             
  142.             In particular, the TCP/IP stack included with Windows 95 Does
  143.             not have this capability.
  144.          9. Is a DHCP server "supposed to" be able to support a BOOTP
  145.             client?
  146.             
  147.             The RFC on such interoperability (1541) is clear: "In
  148.             summary, a DHCP server: ... MAY support BOOTP clients,"
  149.             (section 2). The word "MAY" indicates such support, however
  150.             useful, is left as an option.
  151.         10. Is a DHCP client "supposed to" be able to use a BOOTP server?
  152.             
  153.             
  154.             The RFC on such interoperability (1541) is clear: "A DHCP
  155.             client MAY use a reply from a BOOTP server if the
  156.             configuration returned from the BOOTP server is acceptable to
  157.             the DHCP client." (section 3). The word "MAY" indicates such
  158.             support, however useful, is left as an option.
  159.         11. Can a DHCP client update its DNS entry through DHCP?
  160.             
  161.             No. There has been some discussion about adding this ability
  162.             to DHCP.
  163.             
  164.             (Note: as far as I can tell, the DNS needs no protocol update
  165.             since the server already tells the clients how long they can
  166.             use the information they receive; what is really needed is a
  167.             DNS server that can make fuller use of this feature and that
  168.             cooperates with a DHCP server, perhaps through the use of
  169.             some new "DHCP-server-to-DNS-server" protocol).
  170.         12. Can a DHCP server back up another DHCP server?
  171.             
  172.             This is the purpose of the "server to server protocol" (see
  173.             next question). I know of no other way that you can keep a
  174.             "hot" spare server in synch with your production server.
  175.             However, it is possible that some server vendors have
  176.             addressed this issue with their own features.
  177.         13. When will the server to server protocol be defined?
  178.             
  179.             The DHC WG of the IETF is actively investigating the issues
  180.             in inter-server communication. The protocol should be defined
  181.             "soon".
  182.         14. Is there a DHCP mailing list?
  183.             
  184.             There are several:
  185.  
  186. List                            Purpose
  187. ----                            -------
  188. dhcp-v4@bucknell.edu            General discussion: a good list for
  189.                                 server administrators.
  190. dhcp-bake@bucknell.edu          DHCP bakeoffs
  191. dhcp-impl@bucknell.edu          Implementations
  192. dhcp-serve@bucknell.edu         Server to server protocol
  193. dhcp-dns@bucknell.edu           DNS-DHCP issues
  194. dhcp-v6@bucknell.edu            DHCP for IPv6
  195.  
  196.         The lists are run by listserv@bucknell.edu which can be used to
  197.             subscribe and sign off. Archives for the dhcp-v4 list (which
  198.             used to be called the host-conf list) are stored at
  199.             ftp://ftp.bucknell.edu/pub/dhcp/.
  200.         15. In a subnetted environment, how does the DHCP server discover
  201.             what subnet a request has come from?
  202.             
  203.             DHCP client messages are sent to off-net servers by DHCP
  204.             relay agents, which are often a part of an IP router. The
  205.             DHCP relay agent records the subnet from which the message
  206.             was received in the DHCP message header for use by the DHCP
  207.             server.
  208.             
  209.             Note: a DHCP relay agent is the same thing as a BOOTP relay
  210.             agent, and the latter phrase is more commonly used.
  211.         16. Where is DHCP defined?
  212.             
  213.             In Internet RFCs.
  214.             
  215.               RFC1541
  216.                       R. Droms, "Dynamic Host Configuration Protocol",
  217.                       10/27/1993.
  218.                       
  219.               RFC1534
  220.                       R. Droms, "Interoperation Between DHCP and BOOTP",
  221.                       10/08/1993.
  222.                       
  223.               RFC1533
  224.                       S. Alexander, R. Droms, "DHCP Options and BOOTP
  225.                       Vendor Extensions", 10/08/1993.
  226.                       
  227.         A web site for RFCs is:
  228.             http://ds.internic.net/ds/dspg1intdoc.html
  229.         17. What other sources of information are available?
  230.             
  231.             See the dhcp-v4 mailing list mentioned above as well as its
  232.             archives.
  233.             
  234.               DHCP - Dynamic Host Configuration Protocol
  235.                       http://www.bucknell.edu/~droms/dhcp/
  236.                       
  237.               Problems and Solutions of DHCP: Experiences with DHCP
  238.                       implementation and Operation
  239.                       A. Tominaga, O. Nakamura, F. Teraoka, J. Murai.
  240.                       http://info.isoc.org/HMP/PAPER/127/html/paper.htm
  241.                       l
  242.                       
  243.               DHCP Resources
  244.                       Alan Dobkin.
  245.                       http://NWS.CC.Emory.Edu/WebStaff/Alan/Net-Man/Com
  246.                       puting/DHCP/
  247.                       
  248.               Internet Drafts
  249.                       Internet drafts are works in progress intended to
  250.                       update the current RFCs or specify additional
  251.                       functionality, and sometimes there is one or more
  252.                       draft related to DHCP. All Internet Drafts are
  253.                       available from various sites: the US East Cost site
  254.                       is ftp://ds.internic.net/internet-drafts/; a web
  255.                       site is http://ds.internic.net/ds/dsintdrafts.html.
  256.                       The DHCP-related drafts currently have filenames of
  257.                       the form "draft-ietf-dhc-SOMETHING". These
  258.                       DHCP-related drafts are also stored at
  259.                       ftp://ftp.bucknell.edu/pub/dhcp/, and are
  260.                       available through
  261.                       http://www.bucknell.edu/~droms/dhcp/. I cannot be
  262.                       more specific about the documents because they are
  263.                       by their nature temporary.
  264.                       
  265.         18. Can DHCP support remote access?
  266.             
  267.             PPP has its own non-DHCP way in which communications servers
  268.             can hand clients an IP address called IPCP (IP Control
  269.             Protocol) but doesn't have the same flexibility as DHCP or
  270.             BOOTP in handing out other parameters. Such a communications
  271.             server may support the use of DHCP to acquire the IP
  272.             addresses it gives out. This is sometimes called doing DHCP
  273.             by proxy for the client. I know that Windows NT's remote
  274.             access support does this.
  275.             
  276.             A feature of DHCP under development (DHCPinform) is a method
  277.             by which a DHCP server can supply parameters to a client that
  278.             already has an IP number. With this, a PPP client could get
  279.             its IP number using IPCP, then get the rest of its parameters
  280.             using this feature of DHCP.
  281.             
  282.             SLIP has no standard way in which a server can hand a client
  283.             an IP address, but many communications servers support
  284.             non-standard ways of doing this that can be utilized by
  285.             scripts, etc. Thus, like communications servers supporting
  286.             PPP, such communications servers could also support the use
  287.             of DHCP to acquire the IP addressees to give out.
  288.             
  289.             I am not currently aware of any way in which DHCP can support
  290.             client-computers served solely by PPP or SLIP. Such a
  291.             computer doesn't have the IEEE-style MAC address that DHCP
  292.             requires to act as its key to determining which
  293.             client-computer is which within the same subnet.
  294.             Communications servers that acquire IP numbers for their
  295.             clients via DHCP run into the same roadblock in that they
  296.             have just one MAC address, but need to acquire more than one
  297.             IP address. One way such a communications server can get
  298.             around this problem is through the use of a set of unique
  299.             pseudo-MAC addresses for the purposes of its communications
  300.             with the DHCP server. Another way (used by Shiva) is to use a
  301.             different "client ID type" for your hardware address. Client
  302.             ID type 1 means you're using MAC addresses. However, client
  303.             ID type 0 means an ASCII string.
  304.         19. Can a client have a home address and still float?
  305.             
  306.             There is nothing in the protocol to keep a client that
  307.             already has a leased or permanent IP number from getting
  308.             a(nother) lease on a temporary basis on another subnet (i.e.,
  309.             for that laptop which is almost always in one office, but
  310.             occiasionally is plugged in in a conference room or class
  311.             room). Thus it is left to the server implementation to
  312.             support such a feature. I've heard that Microsoft's NT-based
  313.             server can do it.
  314.         20. How can I relay DHCP if my router does not support it?
  315.             
  316.             A server on a net(subnet) can relay DHCP or BOOTP for that
  317.             net and Windows NT is an example of a server with that
  318.             capability.
  319.         21. How do I migrate my site from BOOTP to DHCP?
  320.             
  321.             I don't have an answer for this, but will offer a little
  322.             discussion. The answer depends a lot on what BOOTP server you
  323.             are using and how you are maintaining it. If you depend
  324.             heavily on BOOTP server software to support your existing
  325.             clients, then the demand to support clients that support DHCP
  326.             but not BOOTP presents you with problems. In general, you are
  327.             faced with the choice:
  328.               1. Find a server that is administered like your BOOTP
  329.                  server only that also serves DHCP. For example, one
  330.                  popular BOOTP server, the CMU server, has been patched
  331.                  so that it will answer DHCP queries.
  332.               2. Run both a DHCP and a BOOTP server. It would be good if
  333.                  I could find out the gotcha's of such a setup.
  334.               3. Adapt your site's administration to one of the available
  335.                  DHCP/BOOTP servers.
  336.               4. Handle the non-BOOTP clients specially, e.g. turn off
  337.                  DHCP and configure them statically: not a good solution,
  338.                  but certainly one that can be done to handle the first
  339.                  few non-BOOTP clients at your site.
  340.         22. Can you limit which MAC addresses are allowed to roam?
  341.             
  342.             Sites may choose to require central pre-configuration for all
  343.             computers that will be able to acquire a dynamic address. A
  344.             DHCP server could be designed to implement such a
  345.             requirement, presumeably as an option to the server
  346.             administerator. See section below on servers that implement
  347.             this.
  348.         23. What are the Gotcha's?
  349.                o A malicious user could make trouble by putting up an
  350.                  unofficial DHCP server.
  351.                     # The immediate problem would be a server passing out
  352.                       numbers already belonging to some computer yielding
  353.                       the potential for two or more "innocent bystander"
  354.                       nodes ending up with the same IP number. Net result
  355.                       is problems using the nodes, possibly intermittent
  356.                       of one or the other is sometimes turned off.
  357.                     # A lot of problems are possible if a renegade server
  358.                       manages to get a client to accept its lease
  359.                       offering, and feeds the client its own version of
  360.                       other booting parameters. One scenario is a client
  361.                       that loads its OS over the network via tftp being
  362.                       directed to a different file (possibly on a
  363.                       different server), thus allowing the perpetrator to
  364.                       take over the client. Given that boot parameters
  365.                       are often made to control many different things
  366.                       about the computers' operation and communication,
  367.                       many other scenarios are just as serious.
  368.              Note that BOOTP has the same vulnerabilities.
  369.                o The "broadcast flag": DHCP includes a way in which
  370.                  client implementations unable to receive a packet with a
  371.                  specific IP address can ask the server or relay agent to
  372.                  use the broadcast IP address in the replies (a "flag"
  373.                  set by the client in the requests). The definition of
  374.                  DHCP states that implementations "should" honor this
  375.                  flag, but it doesn't say they "must". Some Microsoft
  376.                  TCP/IP implementations used this flag, which meant in
  377.                  practical terms, relay agents and servers had to
  378.                  implement it. A number of BOOTP-relay-agent
  379.                  implementations (e.g. in routers) handled DHCP just fine
  380.                  except for the need for this feature, thus they
  381.                  announced new versions stated to handle DHCP.
  382.                o Some of the virtual LAN schemes, i.e., those that use
  383.                  the packet's IP number to decide which "virtual LAN" a
  384.                  client-computer is on for the purposes of TCP/IP, don't
  385.                  work when using DHCP to dynamically assign addresses.
  386.                  DHCP servers and relay agents use their knowledge of
  387.                  what LAN the client-station is on to select the subnet
  388.                  number for the client-station's new IP address whereas
  389.                  such switches use the subnet number sent by the
  390.                  client-station to decide which (virtual) LAN to put the
  391.                  station on.
  392.                o Routers are sometimes configured so that one LAN on one
  393.                  port has multiple network (or subnet) numbers. When the
  394.                  router is relaying requests from such a LAN to the DHCP
  395.                  server, it must pass along as IP number that is
  396.                  associated with one of the network (or subnet) numbers.
  397.                  The only way the DHCP server can allocate addresses on
  398.                  one of the LAN's other network (or subnet) numbers is if
  399.                  the DHCP server is specifically written to have a
  400.                  feature to handle such cases, and it has a configuration
  401.                  describing the situation.
  402.                o The knowledge that a particular IP number is associated
  403.                  with a particular node is often used for various
  404.                  functions. Examples are: for security purposes, for
  405.                  network management, and even for identifying resources.
  406.                  Furthermore, if the DNS's names are going to identify IP
  407.                  numbers, the numbers, the IP numbers have to be stable.
  408.                  Dynamic configuration of the IP numbers undercuts such
  409.                  methods. For this reason, some sites try to keep the
  410.                  continued use of dynamically allocatable IP numbers to a
  411.                  minimum.
  412.                o With two or more servers serving a LAN, clients that are
  413.                  moved around (e.g. mobile clients) can end up with
  414.                  redundant leases. Consider a home site with two DHCP
  415.                  servers, a remote site with DHCP services, and a mobile
  416.                  client. The client first connects to the home site and
  417.                  receives an address from one of the two serves. He/she
  418.                  then travels to the remote site (without releasing the
  419.                  lease at the home site) and attempts to use the acquired
  420.                  address. It is of course NAK'ed and the client receives
  421.                  an address appropriate for the remote site. The client
  422.                  then returns home and tries to use the address from the
  423.                  remote site. It is NAK'ed but now the client broadcasts
  424.                  a DHCPDISCOVER to get a address. The server that holds
  425.                  the previous lease will offer the address back to the
  426.                  client but there is no guarantee that the client will
  427.                  accept that address; consequently, it is possible for
  428.                  the client to acquire an address on the other server and
  429.                  therefore have two leases within the site. The problem
  430.                  can be solved by using only one server per subnet/site
  431.                  and can be mitigated by short lease lengths. But in a
  432.                  very mobile environment, it is possible for these
  433.                  transient servers to consume more than their fair share
  434.                  of addresses.
  435.     2. Info on Implementations
  436.          1. What features or restrictions can a DHCP server have?
  437.             
  438.             While the DHCP server protocol is designed to support dynamic
  439.             management of IP addresses, there is nothing to stop someone
  440.             from implementing a server that uses the DHCP protocol, but
  441.             does not provide that kind of support. In particular, the
  442.             maintainer of a BOOTP server-implementation might find it
  443.             helpful to enhance their BOOTP server to allow DHCP clients
  444.             that cannot speak "BOOTP" to retrieve statically defined
  445.             addresses via DHCP. The following terminology has become
  446.             common to describe three kinds of IP address
  447.             allocation/management. These are independent "features": a
  448.             particular server can offer or not offer any of them:
  449.                o Manual allocation: the server's administrator creates a
  450.                  configuration for the server that includes the MAC
  451.                  address and IP address of each DHCP client that will be
  452.                  able to get an address: functionally equivalent to BOOTP
  453.                  though the protocol is incompatible.
  454.                o Automatic allocation: the server's administrator creates
  455.                  a configuration for the server that includes only IP
  456.                  addresses, which it gives out to clients. An IP address,
  457.                  once associated with a MAC address, is permanently
  458.                  associated with it until the server's administrator
  459.                  intervenes.
  460.                o Dynamic allocation: like automatic allocation except
  461.                  that the server will track leases and give IP addresses
  462.                  whose lease has expired to other DHCP clients.
  463.         
  464.             
  465.             Other features which a DHCP server may or may not have:
  466.                o Support for BOOTP clients.
  467.                o Support for the broadcast bit.
  468.                o Administrator-setable lease times.
  469.                o Administrator-setable lease times on manually allocated
  470.                  addresses.
  471.                o Ability to limit what MAC addresses will be served with
  472.                  dynamic addresses.
  473.                o Allows administrator to configure additional DHCP
  474.                  option-types.
  475.                o Interaction with a DNS server. Note that there are a
  476.                  number of interactions that one might support and that a
  477.                  standard set & method is in the works.
  478.                o Interaction with some other type of name server, e.g.
  479.                  NIS.
  480.                o Allows manual allocation of two or more alternative IP
  481.                  numbers to a single MAC address, whose use depends upon
  482.                  the gateway address through which the request is
  483.                  relayed.
  484.                o Ability to associate two or more dynamic address pools
  485.                  on separate IP networks (or subnets) with a single
  486.                  gateway address. This is the basic support for
  487.                  "secondary nets", e.g. a router that is acting as a
  488.                  BOOTP relay for an interface which has addresses for
  489.                  more than one IP network or subnet.
  490.                o Support for User Class Information option.
  491.                o Support for Vendor Class Information option.
  492.                o Administrator-setable T1/T2 lengths.
  493.                o Interaction with another DHCP server. Note that there
  494.                  are a number of interactions that one might support and
  495.                  that a standard set & method is in the works.
  496.                o Use of PING (ICMP Echo Request) to check an address
  497.                  prior to dynamically allocating it.
  498.                o Server grace period on lease times.
  499.         
  500.             
  501.             Following are some features related not to the functions that
  502.             the server is capable of carrying out, but to the way that it
  503.             is administered.
  504.                o Ability to import files listing manually allocated
  505.                  addresses (as opposed to a system which requires you to
  506.                  type the entire configuration into its own input
  507.                  utility). Even better is the ability to make the server
  508.                  do this via a command that can be used in a script,
  509.                  rdist, rsh, etc.
  510.                o Graphical administration.
  511.                o Central administration of multiple servers.
  512.          2. What freeware DHCP servers are available?
  513.             
  514.             (This is not necessarily a complete list)
  515.  
  516.  
  517. 950415 Bootp server:
  518.  Bootp 2.4.3 (not DHCP, but with the "DHCP patches" mentioned
  519.  below, can handle DHCP requests)
  520.  ftp://ftp.mc.com/pub/bootp-2.4.3.tar.Z
  521. 950425 Bootp server version 2.4.3 with "samba" DHCP patches
  522.  (does manual allocation of IP addresses)
  523.  http://www.sghms.ac.uk/~mpreston/bootp_dhcp.tar.Z
  524.  (within http://www.sghms.ac.uk/~mpreston/tools.htm")
  525. 950706 "samba" DHCP patches for bootp server:
  526.  (does manual allocation of IP addresses)
  527.  ftp://nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch
  528.  (note: I've heard that the patched server will crash if it receives
  529.   one particular optional packet, the DHCP Release packet)
  530. 950711 Patched bootp server supporting DHCP-based "automatic" allocation:
  531.  (gives addresses dynamically, but never takes them away)
  532.  ftp://ftp.ntplx.net/pub/networking/bootp/bootp-DD2.4.3.tar.gz
  533. 951219 BOOTP server and patches for DHCP
  534.  ftp://africa.geomic.uni-oldenburg.de/pub/people/joey/dhcp/bootpd/
  535. 960112 OS/2 port of BOOTP server with patches for manual DHCP support
  536.  ftp://ftp.leo.org/pub/comp/os/os2/tcpip/systools/bootpd-243-dhcp.zip
  537. 960130 Rose-Hulman Institute of Technology "Mondo-DB" LAN administration
  538.  project: modified DHCP server planned
  539.  http://www.rose-hulman.edu/~allard/Mondo-DB/index.html
  540. 950630 WIDE Project:
  541.  Akihiro Tominaga (tomy@sfc.wide.ad.jp)
  542.  WIDE Project
  543.  Keio Univ.
  544.  Japan
  545.  ftp://sh.wide.ad.jp/WIDE/free-ware/dhcp/dhcp-1.2.1.tar.gz
  546.  Check Archie for dhcp-1.2.1 because lots of sites distribute it.
  547.  Beta version:
  548.  ftp://sh.wide.ad.jp/WIDE/free-ware/dhcp/dhcp-1.3beta.tar.gz
  549. 960308 Internet Software Consortium DHCP/BOOTP Server (ISC dhcpd beta 0)
  550.  ftp://www.isc.org/pub/dhcp/DHCPD-BETA-0.tar.gz
  551.  http://www.isc.org/isc
  552. 960308 Carnegie Mellon University DHCP/BOOTP server (SunOS, dhcp-3.3.6)
  553.  ftp://ftp.net.cmu.edu/pub/dhcp/dhcp-3.3.6.tar.gz
  554.  
  555.          3. What commercial DHCP servers are available?
  556.             
  557.             (This is not necessarily a complete list)
  558.  
  559.  
  560. 950425 Silicon Graphics
  561. 950613 NetWare/IP 2.1 will NOT support DHCP but support for enhanced
  562.        bootp will be provided.  I'm guessing this means DHCP-format
  563.        packets, but no address leasing.
  564. 950714 FTP Software (Services OnNet Product)
  565.        http://www.ftp.com/mkt_info/services.html
  566. 950714 Microsoft Windows NT
  567.        http://www.microsoft.com/NTServer/
  568.        http://www.microsoft.com/BackOffice/techbriefs/tech1000.htm
  569. 950714 Hewlett Packard HP-UX
  570. 950906 IBM: included in Warp Server which is in beta
  571. 951010 Wollongong: included in next release of PathWay for OpenVMS which is in
  572.        beta
  573. 951010 TGV: DHCP/BOOTP server will be included in Multinet for VMS v3.5.
  574.        http://www.tgv.com/
  575. 951121 TGV(800-848-3440): MultiNet 3.5 for OpenVMS includes DHCP server.
  576.        mailto:sales@tgv.com
  577.        http://www.tgv.com/
  578. 951207 IBM: DHCP server included in AIX 4.1.4 server packages.
  579.        Also includes custom DNS server that is "DHCP knowledgeable".
  580.        http://www.ibmlink.ibm.com/(search for DHCP in SalesManual)
  581. 951219 Puzzle Systems: WEBserv (NLM(s) that do DHCP, BOOTP, HTTP, and FTP)
  582.        mailto:info@puzzle.com
  583.        http://www.puzzle.com/
  584. 951220 ON Technology: IPTrack is a Novell Server-based DHCP/BOOTP server (NLM)
  585.        http://www.on.com/on/onprods/iptrack.html/
  586. 951220 Process Software: server for OpenVMS included in TCPware for OpenVMS
  587.        http://www.process.com/
  588. 960108 Sun Solstice LAN Management Package (SolarNet)
  589.        http://www.sun.com/cgi-bin/show?sunsoft/Products/Networking-products/pro
  590. ducts/pcadmin.html
  591.        http://www.sun.com/cgi-bin/show?products-n-solutions/sw/solstice/network
  592. /prod_spec_solstice_solarnet.html
  593. 960110 Quadritek Systems, Inc. (DHCP server included in next release)
  594.        http://www.qtek.com/qsi-qip.html
  595. 960130 Network TeleSystems: Shadow (PC-based)
  596.        http://www.ntsi.com/nts_shadow.html
  597. 960130 Digital: RoamAbout Mobile IP Client/Server Network Software V2.0
  598.        http://www.digital.com/info/Customer-Update/940620001.txt.html
  599. 960208 Competitive Automation's JOIN (415-321-4006): SunOS4.x, Solaris2.x,
  600.        DECOSF3.x,4.x, HP-UX 9 & 10 DHCP/BOOTP servers.
  601.        http://www.join.com/
  602. 960209 Microsoft Windows NT Server
  603.        http://www.microsoft.com/NTServer/
  604.        http://www.microsoft.com/BackOffice/techbriefs/tech1000.htm
  605.        ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/tcpipimp.doc
  606. 960312 Nevod Inc. Proxy IP/DHCP Server (PIP) Beta-1.0
  607.        http://www.nevod.com/pip/index.html
  608. 960327 Xedia: IP/Assist 1.0 feature for their switches includes DHCP service.
  609.        http://www.xedia.com
  610. 960328 Novell: Netware IP 2.2 includes a DHCP server.
  611.        ftp://ftp.novell.com/updates/unixconn/nwip22/nips22.exe
  612.  
  613.          4. Which vendors of client software currently support DHCP?
  614.             
  615.             (This is not necessarily a complete list)
  616.  
  617.  
  618. 950417 Shiva: proxy client for remote users (in Lanrovers and Netmodems)
  619. 950421 Microsoft: Windows for Workgroups
  620. 950425 Sun
  621. 950425 Silicon Graphics
  622. 950425 Hewlett-Packard
  623. 950502 NetManage: Chameleon 4.5
  624. 950630 Beame & Whiteside Software: resells Dirk Koeppen EDV-Beratungs-GmbH's
  625.        TCP/IP BOOT-PROM
  626. 950705 Microsoft: MS-TCP/IP 3.11a & MS-TCP/IP 3.11b
  627. 950711 Microsoft: Windows NT 3.5
  628. 950711 Microsoft: Windows for Workgroups 3.11a
  629. 950711 Frontier Technologies(800-929-3054): in SuperTCP for Windows
  630.        http:www.frontiertech.com
  631.        info@frontiertech.com
  632. 950712 Beame & Whiteside(800-720-7151): BW-Connect NFS for DOS & Windows
  633. 950725 IBM: a future release of AIX
  634. 950728 Sun: PCNFS for Windows
  635. 950802 Wollongong: PathWay Access ver 3.2 (Windows)
  636.        http://www.twg.com/
  637. 950802 WRQ: Reflection Network Series products (version 5) for Windows
  638.        http://www.wrq.com/
  639. 950814 Competitive Automation(415-321-4006): SunOS4.x, Solaris2.x and
  640.        DECOSF3.x,4.x clients
  641. 950906 IBM: included in Warp Server which is in beta
  642. 950915 Stampede: included in Remote Office Gold
  643. 951113 Persoft(800-368-5283): TCP Addition and Portable TCP
  644.        http://www.persoft.com
  645. 951207 Dirk Koeppen EDV-Beratungs-GmbH: TCP/IP DHCP Boot ROMs (TCP/IP
  646.        BOOT-PROM) www.dunkel.de/dksoft
  647. 951207 IBM: AIX 4.1.4 client and server packages include a DHCP client.
  648.        http://www.ibmlink.ibm.com/(search for DHCP in SalesManual)
  649. 951220 Attachmate: IRMA TCP Suite Version 3.1
  650. 960130 Digital: RoamAbout Mobile IP Client/Server Network Software V2.0
  651.        http://www.digital.com/info/Customer-Update/940620001.txt.html
  652. 960209 FTP Software: OnNet 2.0 (Windows)
  653.        http://www.ftp.com/
  654. 960209 FTP Software: PC/TCP 4.0 (DOS)
  655.        http://www.ftp.com/
  656. 960305 TGV: will be included in MultiNet for Windows V1.2
  657.        http://www.tgv.com/
  658. 960312 Core Systems: Internet-Connect for Windows 95 Version 2.1 has DHCP
  659.        proxy client.
  660.        http://ns1.win.net/~core/Coresys/homepage.html
  661. 960312 Novell: I heard a report that they offer a client.
  662. 960313 Apple: Open Transport 1.1 included with System 7.5.3 & runs on
  663.        68030, 68040, and PowerPC Macintoshes.
  664. 960314 Apple: Open Transport 1.1 shrink wrap version will be offered.
  665.  
  666.          5. What are the DHCP plans of major client-software vendors?
  667.             
  668.               Apple MacOS
  669.                       MacTCP's successor, Open Transport, supports DHCP.
  670.                       Open Transport 1.1 ships with System 7.5 Update 2.0
  671.                       (which updates MacOS to version 7.5.3, released
  672.                       March 11, 1996) and supports any 68030, 68040, or
  673.                       PowerPC Macintosh. A shrink wrap version of Open
  674.                       Transport is planned.
  675.                       
  676.               Microsoft Windows95
  677.                       supports it and does not support BOOTP. I heard a
  678.                       rumor that BOOTP support will be added.
  679.                       
  680.               Novell LAN Workplace for DOS
  681.                       has plans for client support later in 1995.
  682.                       
  683.               IBM OS/2
  684.                       will support it; I have no news on when or what
  685.                       version.
  686.                       
  687.          6. What Routers forward DHCP requests?
  688.             
  689.             (This is not necessarily a complete list).
  690.             
  691.             Note that in general, these routers probably already had
  692.             BOOTP forwarding, but lacked the support for the BOOTP
  693.             broadcast flag (see "broadcast flag" under What are the
  694.             Gotcha's? above). It is likely that many other routers also
  695.             support BOOTP forwarding.
  696.             
  697.               Cisco
  698.                       (from Cisco FAQ) Routers running GSYS version
  699.                       9.21(4) and 10.0(3) as well as later releases.
  700.                       
  701.               Wellfleet/Bay
  702.                       (from Wellfleet FAQ) DHCP is supported by enabling
  703.                       BOOTP support (with transmission and/or reception
  704.                       as needed).
  705.                       
  706.               3Com Netbuilder
  707.                       Version 7.2 software can support DHCP relaying
  708.                       through the use of its generic UDP Helper service.
  709.                       Version 8.0 and later officially supports DHCP.
  710.                       
  711.               Xyplex
  712.                       Version 5.5 of their routing software supports
  713.                       DHCP.
  714.                       
  715.               ALANTEC
  716.                       The switches' "router" function has have been
  717.                       handling BOOTP forwarding since around 1993.
  718.                       Support for the broadcast flag introduced in a
  719.                       maintenance release of 2.5 of their software and is
  720.                       in version 2.6 and later.
  721.                       
  722.               IBM 2210
  723.                       I've confirmed that Version 1 Release 2 has a BOOTP
  724.                       relay agent. I haven't found out anything about
  725.                       support for the broadcast flag.
  726.                       
  727.          7. What Routers include DHCP servers?
  728.             
  729.             DHCP requires disk storage (or some other form of reliable
  730.             non-volatile storage), making the task of DHCP service
  731.             compatible with servers but incompatible with dedicated
  732.             routers. There are a number of server types that can be
  733.             configured to both route and serve DHCP (especially
  734.             all-in-one "Internet Gateways" designed to be web servers,
  735.             firewalls, etc.), but no dedicated routers.
  736.          8. What Servers forward DHCP requests?
  737.                o DHCP Relay Agent supplied with Windows NT Resource Kit
  738.                  (version 3.51).
  739.                o For Novell servers, there are NLMs that forward BOOTP
  740.                  requests, thus DHCP requests. The "forward BOOTP NLM" is
  741.                  included in Netware 4.1. You can get this support in
  742.                  Netware 3.11 and 3.12 also, but you must apply the
  743.                  TCP31A.EXE patch which is located on Netwire. Here are
  744.                  two such NLMs that are available online:
  745.                     # ftp://netlab2.usu.edu/misc/bootpfd.zip(unsupported
  746.                       Novell software, 1993)
  747.                     # ftp://netlab2.usu.edu/misc/bootp311.zip(unsupported
  748.                       Novell software, 1991)
  749.          9. Which implementations support or require the broadcast flag?
  750.             
  751.             The broadcast flag is an optional element of DHCP, but a
  752.             client which sets it works only with a server or relay that
  753.             supports it.
  754.                o Clients
  755.                  
  756.                     Microsoft Windows NT
  757.                             DHCP client support added with version 3.5
  758.                             sets the broadcast flag. Version 3.51 and
  759.                             later no longer set it. The exception is in
  760.                             the remote access support: it sets the flag
  761.                             when it uses DHCP to acquire addresses to
  762.                             hand out to its PPP clients.
  763.                             
  764.                     tcp/ip-32 for Microsoft Windows for Workgroups (WFW)
  765.                             Version 3.11a sets it, but version 3.11B
  766.                             doesn't.
  767.                             
  768.                     Microsoft Windows 95
  769.                             Does not set the broadcast flag.
  770.                             
  771.         10. How can I run Windows 95 without a DHCP server?
  772.             
  773.             Not really a DHCP question, but it has been asked a lot,
  774.             particularly by sites for which changing from BOOTP
  775.             represents a lot of work. Some choices:
  776.                o Use no server at all for the Windows 95 clients: set the
  777.                  addresses in each client's setup.
  778.                o Install a non-Microsoft TCP/IP stack for Windows 95 that
  779.                  supports BOOTP.
  780.                o Switch from your current BOOTP server to one that
  781.                  supports both BOOTP and DHCP.
  782.         
  783.             
  784.             A Document that addresses this question is the Windows 95tm
  785.             Networking FAQ,
  786.             http://www-leland.stanford.edu/~llurch/win95netbugs/faq.htm
  787.             l
  788.         11. Do any servers limit the MAC addresses that may roam?
  789.                o IBM's AIX and OS/2 WARP DHCP servers.
  790.         12. What are the Gotcha's specific to various implementations?
  791.             
  792.             In many cases, new releases have solved the problems that
  793.             have been identified with various DHCP implementations.
  794.                o There have been servers that are inflexible as to the
  795.                  list of configuration parameters they were able to
  796.                  serve. If your client requires certain parameters, you
  797.                  could find such a server unusable.
  798.                o I hate to cast wide suspicions, but I've heard
  799.                  occasional word on client DHCP implementations that do
  800.                  not implement the entire protocol. Doing so requires
  801.                  that the software module be able to wake up again after
  802.                  a specified period of time and "renew the lease", i.e.,
  803.                  ask to continue using the IP number. This is at least
  804.                  one feature of DHCP that is very hard to implement in
  805.                  some simpler systems.
  806.                o There are a number of issues regarding the patched bootp
  807.                  servers. These have been reported to re DD2.4.3:
  808.                     # 'When run from inetd, I had problems with "Could
  809.                       not bind port" and DHCP request failure. I don't
  810.                       know why, and the problem went away when bootpd is
  811.                       run as a daemon.'
  812.                     # 'Unless you set "dl" to some value in the bootptab
  813.                       file, the DHCP lease time, renewal time and
  814.                       prebinding time will be rubbish, which will cause
  815.                       occasional renewal problems.'
  816.                o Early Microsoft DHCP client implementations required the
  817.                  broadcast bit. Current ones do not.
  818.                o Early Apple Open Transport implementations did not
  819.                  always fill out packets to BOOTP's 300-byte minimum,
  820.                  thus BOOTP forwarding agents that follow the BOOTP RFC
  821.                  and discard such packets end up discarding such DHCP
  822.                  packets, causing some of the functions to fail. Open
  823.                  Transport 1.1 fixes this.
  824.  
  825. Posted Mon Apr  1 14:17:39 EST 1996
  826.  
  827.