16.2.3. Starting and Stopping the Server
Important
When the DHCP server is started for the first time, it fails unless the
dhcpd.leases
file exists. Use the command touch /var/lib/dhcpd/dhcpd.leases
to create the file if it does not exist.
If the same server is also running BIND as a DNS server, this step is not necessary, as starting the
named
service automatically checks for a dhcpd.leases
file.
To start the DHCP service, use the command
/sbin/service dhcpd start
. To stop the DHCP server, use the command /sbin/service dhcpd stop
.
By default, the DHCP service does not start at boot time. For information on how to configure the daemon to start automatically at boot time, see Chapter 12, Services and Daemons.
If more than one network interface is attached to the system, but the DHCP server should only be started on one of the interfaces, configure the DHCP server to start only on that device. In
/etc/sysconfig/dhcpd
, add the name of the interface to the list of DHCPDARGS
:
# Command line options here DHCPDARGS=eth0
This is useful for a firewall machine with two network cards. One network card can be configured as a DHCP client to retrieve an IP address to the Internet. The other network card can be used as a DHCP server for the internal network behind the firewall. Specifying only the network card connected to the internal network makes the system more secure because users cannot connect to the daemon through the Internet.
Other command-line options that can be specified in
/etc/sysconfig/dhcpd
include:
-p <portnum>
— Specifies the UDP port number on whichdhcpd
should listen. The default is port 67. The DHCP server transmits responses to the DHCP clients at a port number one greater than the UDP port specified. For example, if the default port 67 is used, the server listens on port 67 for requests and responds to the client on port 68. If a port is specified here and the DHCP relay agent is used, the same port on which the DHCP relay agent should listen must be specified. See Section 16.2.4, “DHCP Relay Agent” for details.-f
— Runs the daemon as a foreground process. This is mostly used for debugging.-d
— Logs the DHCP server daemon to the standard error descriptor. This is mostly used for debugging. If this is not specified, the log is written to/var/log/messages
.-cf <filename>
— Specifies the location of the configuration file. The default location is/etc/dhcp/dhcpd.conf
.-lf <filename>
— Specifies the location of the lease database file. If a lease database file already exists, it is very important that the same file be used every time the DHCP server is started. It is strongly recommended that this option only be used for debugging purposes on non-production machines. The default location is/var/lib/dhcpd/dhcpd.leases
.-q
— Do not print the entire copyright message when starting the daemon.