Sustainable Sustworks - Tools for Internet Travel
Advanced Networking for Mactintosh Professionals
Search






 




User Guide

Contents


Using the IPNetRouter DHCP Server

The DHCP window allows you to configure the DHCP server built-in to IPNetRouter. In order to access the Internet, each computer on your LAN needs to be configured with four pieces of information (IP Address, Network Mask, Router Address, and Name Server Address). The DHCP server in IPNetRouter allows other computers on your LAN to get this information automatically from IPNetRouter by selecting "Configure via DHCP" in the corresponding TCP/IP control panel.

Using DHCP (Dynamic Host Configuration Protocol) avoids the need to manually configure each computer on your LAN before it can be used, and is especially useful if you have many computers on your LAN or frequently move computers from one network to another.

Before you can use DHCP to configure other hosts on your LAN, the DHCP Server itself needs to be configured. In most cases, you can simply press the "Use Defaults" button and enable the server by selecting "DHCP Server On". These settings assume your LAN will use IP addresses from the range 192.168.0.x and that your gateway running IPNetRouter will use 192.168.0.1 as its local address. [*WARNING* If you are connecting using a cable or DSL modem and single Ethernet configuration, you must not enable DHCP on this Ethernet since DHCP requests are broadcast to all interfaces on that physical network. There are other benefits to using the dual ethernet as well.]

If your Local Area Network has additional requirements, you can use the DHCP Window to control what IP addresses to assign, to whom, for how long, and other operational parameters. The information in the DHCP Window is divided into four tables or panels which are briefly described below. For more information on DHCP, refer to RFC-2131, RFC-2132, or a good book on TCP/IP.

Status Table

This table keeps track of Lease Bindings. What addresses are currently leased, to whom (hardware address or clientID), and when the lease expires. It also keeps a state value for each entry so it can track bindings that are not currently active (such as bindings that have been offered, released, or expired). The intent here is to remember previously assigned leases so clients will always get the same lease whenever possible. Finally, this table keeps track of when each entry was last updated so the server can re-use the oldest unused entry first ("Least Recently Used"). This table should normally be viewed as "Read Only", but you can use the button on the right to remove an obsolete lease binding. You can also copy rows to the clipboard as text for use in other panels.

The Status Table is stored in a separate file in the Preferences Folder called "DHCP Server Status". Any time a lease is granted to a client, the corresponding entry is written out to this file (committed to non-volatile storage). If the server is stopped for any reason, it can recover all the current lease information from here. You can also move your DHCP Server to another machine by copying this file and the corresponding IPNetRouter configuration file.

Static Config Table

This table keeps track of any static address assignments the administrator wants to create. The fields are: (1) Network Interface - the IP address of which interface a request must arrive on [If a host moves from one network to another, we need to assign a different IP address depending on which network it is attached to. If a BOOTP relay agent is used, we match this network as well.]; (2) Lease Address - the address to grant; (3) What host or client this address is reserved for as specified by the Ethernet hardware address or ClientID. The ClientID will override the hardware address if specified in the table. The entries in this table can be edited in place by clicking in a cell. Use the buttons on the right to insert or delete entire rows. You can use Tab, Shift Tab, Return, and Shift Return to move the selected cell.

The Static Config Table is stored as part of your IPNetRouter configuration when you save from the file menu.

Dynamic Config Table

This table keeps track of ranges of IP addresses that can be automatically assigned to hosts as needed and later reclaimed. The fields are: (1) Network Interface - the IP address of which interface a request must arrive on [Each network interface that accepts DHCP requests will normally assign IP addresses from a different range.]; (2) Starting Lease Address - start of range used for address pool; (3) Ending Lease Address - end of range used for address pool. The entries in this table can be edited in place by clicking in a cell. Use the buttons on the right to insert or delete entire rows. You can use Tab, Shift Tab, Return, and Shift Return to move the selected cell.

There are no restrictions on how many address ranges can be defined to serve from multiple interfaces or multiple ranges on a single interface. Any IP address in a dynamic address pool that overlaps with an address in the Static Config Table will be reserved for static configuration and not dynamically assigned. The Dynamic Config Table is stored as part of your IPNetRouter configuration when you save from the file menu.

Some clients may use BOOTP, an older subset of DHCP. BOOTP clients are normally not eligable to receive dynamic IP addresses because BOOTP does not provide any mechanism to reclaim an expired address. To avoid requiring the network administrator to create a static assignment for each BOOTP client, IPNetRouter will try to assign BOOTP clients a dynamic address if no static configuration is found and display a warning message in the log window. In order not to lose addresses permanently, the server will try to reclaim "BOOTP dynamic addresses" after 60 days. The dynamic BOOTP feature can be disabled by editing STR# resource 131 named "Option Settings" and changing the string "DynamicBOOTP=1" to "DynamicBOOTP=0".

Lease Options Table

This table stores the other information that is given out to clients based on what network they are attached to. The fields are: (1) Network Interface - the IP address of which interface a request must arrive on [Each network interface that accepts DHCP requests can potentially give out different information.]; (2) Network Mask - the network mask for this network; (3) Routers - the router addresses for this network; (4) Name Servers - the name server addresses for this network; (5) Default Lease Time - lease time granted if none is explicitly requested; (6) Maximum Lease Time - the maximum lease time to grant regardless of what is requested; (7) Domain Name - A default domain clients can use for DNS lookups; (8) Enable DHCP on this interface - DHCP serving can be selectively enabled on a per interface basis.

The Network Interface popup menu lists the IP interfaces which have a lease options entry currently defined. It selects which row of the table to view in the rest of the panel. If you select a new interface, IPNetRouter will try to fill in appropriate values for the subnet mask, router, name server and default lease times. The Lease Options Table is stored as part of your IPNetRouter configuration when you save from the file menu.

More About DHCP Data and Editing

When you edit data in place, you are only editing a visible copy of that data on the display. You can undo any changes you make by pressing "Restore". To have your changes take effect, you must press "Apply". To save your settings to an IPNetRouter configuration file, you must still select "Save" from the File menu.

DHCP should be seen as a mission critical service since hosts on your LAN may not be able to use the Internet if your server is unavailable. DHCP is designed so that more than one server can be configured to provide the same information for reliability. Clients normally try to renew an existing lease and only the Server with a record of that lease will respond. If the existing lease cannot be renewed, the client may then try to obtain a new lease. The Server pings any new proposed lease address before offering it to a client to check that the address is not already in use. If the Server discovers an address conflict, it will mark the corresponding address in the Status Table as "In Use" or "Declined" and no longer try to assign it. You can see when the conflict was detected from the "Last Update" column in the Status Table. In order not to loose addresses permanently, the server will try to reclaim "In Use" or "Declined" addresses after 60 days.

Since the Status Table is kept as plain text in the file "DHCP Server Status", you can edit this table manually if desired.

Related References

DHCP and Mac OS

DHCP FAQ -- http://www.dhcp-handbook.com/dhcp_faq.html

Top