Managing the network configurations of the hosts on even a small network can be tedious. Administrators of large networks, including ISPs, have long used the DHCP service to centrally manage network configurations. Red Hat Linux includes a DHCP server that you can install in order to facilitate the management of your network. Hosts configured with DHCP clients can load their network configurations from the DHCP server at boot time, including such configuration items as:
Hostname
Domain name
IP address
Netmask
Broadcast IP address
Gateway IP address
DNS server address
Before installing the DHCP server, you should check whether your system's network adapter is properly configured to support DHCP. To do so, issue the ifconfig command as root:
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:A0:CC:25:8A:EC inet addr:192.168.0.5 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71910 errors:0 dropped:0 overruns:0 frame:0 TX packets:108334 errors:0 dropped:0 overruns:0 carrier:0 collisions:89 txqueuelen:100 Interrupt:11 Base address:0x6000
If your system's network adapter is properly configured to support DHCP, the output of the ifconfig command will indicate that the adapter supports BROADCAST. If the output doesn't include this specifications, you must reconfigure or replace the network adapter. Fortunately, it's rare that an adapter lacks these capabilities.
To set up a DHCP server, use the Package Management Tool to install the dhcp package, which is part of the Network Servers package group. In doing so, be sure to disable the checkboxes associated with any unwanted services. Then, configure the service as explained in the following section.
To configure the DHCP service, you must create the DHCP configuration file, /etc/ dhcpd.conf. Here's a simple configuration that you can use as a starting point:
ddns-update-style ad-hoc; default-lease-time 64800; max-lease-time 64800; option domain-name-servers 192.168.0.1; option domain-name "oreilly.com"; subnet 192.168.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; server-identifier 192.168.0.5; host sara { hardware ethernet 00:50:04:d2:3f:15; fixed-address 192.168.0.33; default-lease-time 86400; } range 192.168.0.50 192.168.0.254; }
When a DHCP client obtains a network configuration from the server, it doesn't generally obtain the configuration permanently. Instead, a DHCP client is said to lease a configuration. The two lines at the top of the configuration file specify the default and maximum lease duration, in seconds. The figure 64800 (seconds) is equivalent to 18 hours. By choosing a relatively long lease time, a client will not generally need to renew its leased network configuration during a workday. You can choose a shorter or longer duration, as you prefer.
The next two lines specify information transmitted to clients as part of their network configurations:
The DNS server IP address. More than one server can be specified. Each server is separated from its neighbor by a comma.
The domain name.
Next comes a group of lines?delimited with paired curly braces?that define a network or subnetwork. In this case, the network defined has the IP address 192.168.0.0 with a netmask of 255.255.255.0. This means that the range of network addresses is from 192.168.0.0 to 192.168.0.255.
Hosts in this network share three parameters:
The network mask, which indicates by 1-bits the bit positions of the IP address associated with the network, rather than the host. Often, the network mask has the value 255.255.255.0.
The IP address of the network, with all 1-bits in the bit positions associated with the host address. Often, this means that the first three members of the dotted quad IP address appear, followed by the value 255.
The default gateway IP address.
The next set of lines define the network configuration for a particular host, named sara:
host sara { hardware ethernet 00:50:04:d2:3f:15; fixed-address 192.168.0.33; default-lease-time 86400; }
The host's network adapter has an Ethernet MAC address of 00:50:04:d2:3f: 15. The Ethernet address is a unique code, assigned by the adapter's manufacturer, that serves to identify the adapter. When it queries the DHCP server, this adapter will be leased the IP address 192.168.0.33; the lease will have a duration of 24 hours (86400 seconds). This adapter will always receive this IP address, which is also known as a static IP address.
The next line defines a range of IP addresses:
range 192.168.0.50 192.168.0.254;
Hosts not assigned a static IP address will be leased an address within the specified range. Such an IP address is termed a dynamic IP address.
For more information about the dhcpd.conf file, see the associated manpage.
To start the DHCP service, launch the Service Configuration Tool by choosing Server Settings Services from the GNOME or KDE menu. Select the list entry associated the DHCP service, named dhcpd, and click Start.
To verify that the DHCP service has started, issue the following command to view recent system log entries:
$ tail -40 /var/log/messages
You should see something like the following:
Nov 3 11:35:39 localhost dhcpd: Internet Software Consortium DHCP Server V3.0pl1 Nov 3 11:35:39 localhost dhcpd: Copyright 1995-2001 Internet Software Consortium. Nov 3 11:35:39 localhost dhcpd: All rights reserved. Nov 3 11:35:39 localhost dhcpd: For info, please visit http://www.isc.org/products/DHCP Nov 3 11:35:39 localhost dhcpd: Wrote 0 deleted host decls to leases file. Nov 3 11:35:39 localhost dhcpd: Wrote 0 new dynamic host decls to leases file. Nov 3 11:35:39 localhost dhcpd: Wrote 0 leases to leases file. Nov 3 11:35:39 localhost dhcpd: Nov 3 11:35:39 localhost dhcpd: Listening on LPF/eth0/00:50:da:76:59:fd/192.168.0.0/24 Nov 3 11:35:39 localhost dhcpd: Sending on LPF/eth0/00:50:da:76:59:fd/192.168.0.0/24 Nov 3 11:35:39 localhost dhcpd: Sending on Socket/fallback/fallback-net Nov 3 11:35:39 localhost dhcpd: dhcpd startup succeeded
Now, boot a client configured to obtain its network configuration via DHCP. If you need help configuring a client to use DHCP, consult the next section. If the DHCP client and server are working, you should see system log messages that resemble the following:
Nov 3 11:59:40 localhost dhcpd: DHCPREQUEST for 192.168.0.4 from 00:50:04:d2:3f:15 via eth0 Nov 3 11:59:40 localhost dhcpd: DHCPACK on 192.168.0.4 to 00:50:04:d2:3f:15 via eth0
If you find that the DHCP server is not working, consult the file /usr/share/doc/dhcp- */README.
|
If you want the DHCP service to start automatically when you boot your system, use the Service Configuration Tool to associate the service with the desired runlevel or runlevels.
To configure a Windows 9x client to use DHCP, select Start Settings Control Panel Network Configuration to open the TCP/IP Properties dialog box. Select the TCP/IP network component associated with the network adapter you want to configure and click Properties. Select the IP Address tab and choose Obtain an IP address automatically. Then select the DNS tab and choose Disable DNS. This setting does not actually disable DNS; it merely configures the system to rely on DHCP to provide the IP address of the DNS server.
Next, select the Gateway tab and remove any installed gateways. Click OK to dismiss the TCP/IP Properties dialog box, and click OK again to dismiss the Network Properties dialog box. You can use a similar procedure to configure Windows NT/ 2000 clients.
Windows 9x lets you view leased network configuration information. To do so, run the program winipcfg and select the proper adapter. The program shows the Ethernet address, IP address, subnet mask, and default gateway associated with the client, if any. Click More to view additional information, such as hostname, DNS server IP address, and the lease expiration time. You can manually release or renew a lease by clicking Release or Renew.
Under Windows 2000 and XP, you can view similar information describing the network configuration by issuing the command:
$ ipconfig /all
To configure a Linux client to use DHCP, launch the Network Administration Tool. Select the Devices tab and click the interface you want to configure. Click Edit to view the Ethernet Device dialog box. Finally, enable the checkbox labelled Automatically obtain IP address settings with, choose DHCP from the drop-down box, and click OK. To determine the status of a DHCP lease held by a Linux client, you can search the system log for relevant messages.