commit d9c82b5d88928ed1bf9c41c58c4cf8ee3cf8a9e7
Author: Martin Prpic <mprpic(a)redhat.com>
Date: Mon Jun 28 15:31:10 2010 +0200
modified the DHCP chapter
en-US/Dynamic_Host_Configuration_Protocol_DHCP.xml | 166 +++++++++-----------
1 files changed, 76 insertions(+), 90 deletions(-)
---
diff --git a/en-US/Dynamic_Host_Configuration_Protocol_DHCP.xml
b/en-US/Dynamic_Host_Configuration_Protocol_DHCP.xml
index 9b5bffd..976ced2 100644
--- a/en-US/Dynamic_Host_Configuration_Protocol_DHCP.xml
+++ b/en-US/Dynamic_Host_Configuration_Protocol_DHCP.xml
@@ -60,11 +60,6 @@
</indexterm>
<para>The first step in configuring a DHCP server is to create the
configuration file that stores the network information for the clients. Use this file to
declare options and global options for client systems.</para>
<para>The configuration file can contain extra tabs or blank lines for easier
formatting. Keywords are case-insensitive and lines beginning with a hash mark (#) are
considered comments.</para>
- <para>Two DNS update schemes are currently implemented — the ad-hoc DNS
update mode and the interim DHCP-DNS interaction draft update mode. If and when these two
are accepted as part of the Internet Engineering Task Force (IETF) standards process,
there will be a third mode — the standard DNS update method. You must configure the DNS
server for compatibility with these schemes. Version 3.0b2pl11 and previous versions used
the ad-hoc mode; however, it has been deprecated. To keep the same behavior, add the
following line to the top of the configuration file:</para>
- <screen>ddns-update-style ad-hoc;</screen>
- <para>To use the recommended mode, add the following line to the top of the
configuration file:</para>
- <screen>ddns-update-style interim;</screen>
- <para>Refer to the <filename>dhcpd.conf</filename> man page for
details about the different modes.</para>
<para>There are two types of statements in the configuration
file:</para>
<itemizedlist>
<listitem>
@@ -95,7 +90,7 @@
<para>Instead of changing a DHCP configuration file and restarting the
service each time, using the <command>omshell</command> command provides an
interactive way to connect to, query, and change the configuration of a DHCP server. By
using <command>omshell</command>, all changes can be made while the server is
running. For more information on <command>omshell</command>, refer to the
<command>omshell</command> man page.</para>
</note>
<para>In <xref
- linkend="subnet"/>, the <filename>routers</filename>,
<filename>subnet-mask</filename>,
<filename>domain-name</filename>,
<filename>domain-name-servers</filename>, and
<filename>time-offset</filename> options are used for any
<filename>host</filename> statements declared below it.</para>
+ linkend="subnet"/>, the <filename>routers</filename>,
<filename>subnet-mask</filename>,
<filename>domain-search</filename>,
<filename>domain-name-servers</filename>, and
<filename>time-offset</filename> options are used for any
<filename>host</filename> statements declared below it.</para>
<indexterm
significance="normal">
<primary>DHCP</primary>
@@ -110,13 +105,45 @@
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
- option domain-name "example.com";
+ option domain-search "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
range 192.168.1.10 192.168.1.100;
}
</screen>
</example>
+ <para>To configure a DHCP server that leases a dynamic IP address to a system
within a subnet, modify <xref
+ linkend="dynamic-ip"/> with your values. It declares a default
lease time, maximum lease time, and network configuration values for the clients. This
example assigns IP addresses in the <filename>range</filename> 192.168.1.10
and 192.168.1.100 to client systems.</para>
+ <example
+ id="dynamic-ip">
+ <title>Range Parameter</title>
+ <screen>
+default-lease-time 600;
+max-lease-time 7200;
+option subnet-mask 255.255.255.0;
+option broadcast-address 192.168.1.255;
+option routers 192.168.1.254;
+option domain-name-servers 192.168.1.1, 192.168.1.2;
+option domain-search "example.com";
+subnet 192.168.1.0 netmask 255.255.255.0 {
+ range 192.168.1.10 192.168.1.100;
+}
+</screen>
+ </example>
+ <para>To assign an IP address to a client based on the MAC address of the
network interface card, use the <filename>hardware ethernet</filename>
parameter within a <filename>host</filename> declaration. As demonstrated in
<xref
+ linkend="static-ip"/>, the <filename>host
apex</filename> declaration specifies that the network interface card with the MAC
address 00:A0:78:8E:9E:AA always receives the IP address 192.168.1.4.</para>
+ <para>Note that the optional parameter
<filename>host-name</filename> can also be used to assign a host name to the
client.</para>
+ <example
+ id="static-ip">
+ <title>Static IP Address using DHCP</title>
+ <screen>
+host apex {
+ option host-name "apex.example.com";
+ hardware ethernet 00:A0:78:8E:9E:AA;
+ fixed-address 192.168.1.4;
+}
+</screen>
+ </example>
<indexterm
significance="normal">
<primary>DHCP</primary>
@@ -131,7 +158,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 {
<title>Shared-network Declaration</title>
<screen>
shared-network name {
- option domain-name "test.redhat.com";
+ option domain-search "test.redhat.com";
option domain-name-servers
ns1.redhat.com,
ns2.redhat.com;
option routers 192.168.0.254;
more parameters for EXAMPLE shared-network
@@ -160,7 +187,7 @@ shared-network name {
group {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
- option domain-name "example.com";
+ option domain-search "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
host apex {
@@ -176,38 +203,6 @@ group {
}
</screen>
</example>
- <para>To configure a DHCP server that leases a dynamic IP address to a system
within a subnet, modify <xref
- linkend="dynamic-ip"/> with your values. It declares a default
lease time, maximum lease time, and network configuration values for the clients. This
example assigns IP addresses in the <filename>range</filename> 192.168.1.10
and 192.168.1.100 to client systems.</para>
- <example
- id="dynamic-ip">
- <title>Range Parameter</title>
- <screen>
-default-lease-time 600;
-max-lease-time 7200;
-option subnet-mask 255.255.255.0;
-option broadcast-address 192.168.1.255;
-option routers 192.168.1.254;
-option domain-name-servers 192.168.1.1, 192.168.1.2;
-option domain-name "example.com";
-subnet 192.168.1.0 netmask 255.255.255.0 {
- range 192.168.1.10 192.168.1.100;
-}
-</screen>
- </example>
- <para>To assign an IP address to a client based on the MAC address of the
network interface card, use the <filename>hardware ethernet</filename>
parameter within a <filename>host</filename> declaration. As demonstrated in
<xref
- linkend="static-ip"/>, the <filename>host
apex</filename> declaration specifies that the network interface card with the MAC
address 00:A0:78:8E:9E:AA always receives the IP address 192.168.1.4.</para>
- <para>Note that the optional parameter
<filename>host-name</filename> can also be used to assign a host name to the
client.</para>
- <example
- id="static-ip">
- <title>Static IP Address using DHCP</title>
- <screen>
-host apex {
- option host-name "apex.example.com";
- hardware ethernet 00:A0:78:8E:9E:AA;
- fixed-address 192.168.1.4;
-}
-</screen>
- </example>
<note>
<title>Tip</title>
<para>The sample configuration file provided can be used as a starting
point and custom configuration options can be added to it. To copy it to the proper
location, use the following command:</para>
@@ -320,13 +315,13 @@ DHCPDARGS=eth0
significance="normal">
<primary>DHCP</primary>
<secondary>
- <command>dhcrelay</command>
+ dhcrelay
</secondary>
</indexterm>
<indexterm
significance="normal">
<primary>
- <command>dhcrelay</command>
+ dhcrelay
</primary>
</indexterm>
<para>The DHCP Relay Agent (<command>dhcrelay</command>) allows
for the relay of DHCP and BOOTP requests from a subnet with no DHCP server on it to one or
more DHCP servers on other subnets.</para>
@@ -348,19 +343,8 @@ DHCPDARGS=eth0
<primary>DHCP</primary>
<secondary>connecting to</secondary>
</indexterm>
- <para
-
lang="en-US,as-IN,bn-IN,gu-IN,hi-IN,kn-IN,ml-IN,mr-IN,or-IN,pa-IN,si-LK,ta-IN,te-IN">
- The first step for configuring a DHCP client is to make sure the kernel recognizes the
network interface card. Most cards are recognized during the installation process and the
system is configured to use the correct kernel module for the card. If a card is added
after installation, <application>Kudzu</application>
- <footnote>
- <para>
- <application>Kudzu</application> is a hardware probing tool run at
system boot time to determine what hardware has been added or removed from the
system.</para>
- </footnote> will recognize it and prompt you for the proper kernel module (Be
sure to check the Hardware Compatibility List at <ulink
-
url="http://hardware.redhat.com/hcl/">http://hardware.redhat...>).
If either the installation program or kudzu does not recognize the network card, you can
load the correct kernel module (refer to <xref
- linkend="ch-General_Parameters_and_Modules"/> for
details).</para>
+
<para>To configure a DHCP client manually, modify the
<filename>/etc/sysconfig/network</filename> file to enable networking and the
configuration file for each network device in the
<filename>/etc/sysconfig/network-scripts</filename> directory. In this
directory, each device should have a configuration file named
<filename>ifcfg-eth0</filename>, where <filename>eth0</filename>
is the network device name.</para>
- <para>The <filename>/etc/sysconfig/network</filename> file should
contain the following line:</para>
- <screen>NETWORKING=yes</screen>
- <para>The <computeroutput>NETWORKING</computeroutput> variable must
be set to <computeroutput>yes</computeroutput> if you want networking to start
at boot time.</para>
<para>The
<filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename> file should
contain the following lines:</para>
<screen>
DEVICE=eth0
@@ -372,13 +356,13 @@ ONBOOT=yes
<itemizedlist>
<listitem>
<para>
- <command>DHCP_HOSTNAME</command> — Only use this option if the DHCP
server requires the client to specify a hostname before receiving an IP address. (The DHCP
server daemon in &MAJOROS; does not support this feature.)</para>
+ <literal>DHCP_HOSTNAME</literal> — Only use this option if the DHCP
server requires the client to specify a hostname before receiving an IP address. (The DHCP
server daemon in &MAJOROS; does not support this feature.)</para>
</listitem>
<listitem>
<para>
-
<command>PEERDNS=<replaceable><answer></replaceable>
- </command>, where
<command><replaceable><answer></replaceable>
- </command> is one of the following:</para>
+
<literal>PEERDNS=<replaceable><answer></replaceable>
+ </literal>, where
<literal><replaceable><answer></replaceable>
+ </literal> is one of the following:</para>
<itemizedlist>
<listitem>
<para>
@@ -390,28 +374,6 @@ ONBOOT=yes
</listitem>
</itemizedlist>
</listitem>
- <listitem>
- <para>
-
<command>SRCADDR=<replaceable><address></replaceable>
- </command>, where
<command><replaceable><address></replaceable>
- </command> is the specified source IP address for outgoing
packets.</para>
- </listitem>
- <listitem>
- <para>
-
<command>USERCTL=<replaceable><answer></replaceable>
- </command>, where
<command><replaceable><answer></replaceable>
- </command> is one of the following:</para>
- <itemizedlist>
- <listitem>
- <para>
- <command>yes</command> — Non-root users are allowed to control
this device.</para>
- </listitem>
- <listitem>
- <para>
- <command>no</command> — Non-root users are not allowed to
control this device.</para>
- </listitem>
- </itemizedlist>
- </listitem>
</itemizedlist>
<para>If you prefer using a graphical interface, refer to <xref
linkend="ch-Network_Configuration"/> for instructions on using the
<application>Network Administration Tool</application> to configure a network
interface to use DHCP.</para>
@@ -457,8 +419,7 @@ subnet 172.16.0.0 netmask 255.255.255.0 {
<variablelist>
<varlistentry>
<term>
- <computeroutput>subnet <replaceable>10.0.0.0</replaceable>
netmask <replaceable>255.255.255.0</replaceable>
- </computeroutput>
+ <computeroutput>subnet
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>
netmask
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>;</computeroutput>
</term>
<listitem>
<para>A <computeroutput>subnet</computeroutput> declaration
is required for every network your DHCP server is serving. Multiple subnets require
multiple <computeroutput>subnet</computeroutput> declarations. If the DHCP
server does not have a network interface in a range of a
<computeroutput>subnet</computeroutput> declaration, the DHCP server does not
serve that network.</para>
@@ -477,7 +438,7 @@ dhcpd: Not configured to listen on any interfaces!
</varlistentry>
<varlistentry>
<term>
- <computeroutput>option subnet-mask
<replaceable>255.255.255.0</replaceable>;</computeroutput>
+ <computeroutput>option subnet-mask
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>;</computeroutput>
</term>
<listitem>
<para>The <computeroutput>option subnet-mask</computeroutput>
option defines a subnet mask, and overrides the
<computeroutput>netmask</computeroutput> value in the
<computeroutput>subnet</computeroutput> declaration. In simple cases, the
subnet and netmask values are the same.</para>
@@ -485,7 +446,7 @@ dhcpd: Not configured to listen on any interfaces!
</varlistentry>
<varlistentry>
<term>
- <computeroutput>option routers
<replaceable>10.0.0.1</replaceable>;</computeroutput>
+ <computeroutput>option routers
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>;</computeroutput>
</term>
<listitem>
<para>The <computeroutput>option routers</computeroutput>
option defines the default gateway for the subnet. This is required for systems to reach
internal networks on a different subnet, as well as external networks.</para>
@@ -493,7 +454,7 @@ dhcpd: Not configured to listen on any interfaces!
</varlistentry>
<varlistentry>
<term>
- <computeroutput>range <replaceable>10.0.0.5
10.0.0.15</replaceable>;</computeroutput>
+ <computeroutput>range
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>;</computeroutput>
</term>
<listitem>
<para>The <computeroutput>range</computeroutput> option
specifies the pool of available IP addresses. Systems are assigned an address from the
range of specified IP addresses.</para>
@@ -554,15 +515,15 @@ host example1 {
</varlistentry>
<varlistentry>
<term>
- <computeroutput>hardware ethernet
<replaceable>00:1A:6B:6A:2E:0B</replaceable>;</computeroutput>
+ <computeroutput>hardware ethernet
<replaceable><mac_address></replaceable>;</computeroutput>
</term>
<listitem>
- <para>The <computeroutput>hardware
ethernet</computeroutput> option identifies the system. To find this address, run
the <command>ifconfig</command> command on the desired system, and look for
the <computeroutput>HWaddr</computeroutput> address.</para>
+ <para>The <computeroutput>hardware
ethernet</computeroutput> option identifies the system. To find this address, run
the <command>ip link</command> command.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- <computeroutput>fixed-address
<replaceable>10.0.0.20</replaceable>;</computeroutput>
+ <computeroutput>fixed-address
<replaceable><ipv4_address></replaceable></computeroutput>
<emphasis>or</emphasis>
<computeroutput><replaceable><ipv6_address></replaceable>;</computeroutput>
</term>
<listitem>
<para>The <computeroutput>fixed-address</computeroutput>
option assigns a valid IP address to the system specified by the
<computeroutput>hardware ethernet</computeroutput> option. This address must
be outside the IP address pool specified with the
<computeroutput>range</computeroutput> option.</para>
@@ -613,6 +574,31 @@ dhcpd: Configuration file errors encountered -- exiting
<para>This error was caused by having multiple <computeroutput>host
interface0</computeroutput> declarations defined in
<filename>/etc/dhcp/dhcpd.conf</filename>.</para>
</section>
</section>
+ <section id="s1-dhcp_for_ipv6_dhcpv6">
+ <title>DHCP for IPv6 (DHCPv6)</title>
+ <para>
+ The ISC DHCP includes support for IPv6 (DHCPv6) since the 4.x release with a DHCPv6
server, client and relay agent functionality. The server, client and relay agents support
both IPv4 and IPv6. However, the client and server agents can only operate one protocol at
a time — for dual support they must be started separately for IPv4 and IPv6.
+ </para>
+ <para>
+ The DHCPv6 server configuration file can be found at
<filename>/etc/dhcp/dhcpd6.conf</filename>.
+ </para>
+ <para>
+ The sample server configuration file can be found at
<filename>/usr/share/doc/dhcp-<version>/dhcpd6.conf.sample</filename>.
+ </para>
+ <para>
+ To start the DHCPv6 service, use the command <command>/sbin/service dhcpd6
start</command>.
+ </para>
+ <para>
+ A simple DHCPv6 server configuration file can look like this:
+ </para>
+ <screen>
+subnet6 2001:db8:0:1::/64 {
+ range6 2001:db8:0:1::129 2001:db8:0:1::254;
+ option dhcp6.name-servers fec0:0:0:1::1;
+ option dhcp6.domain-search "domain.example";
+}
+ </screen>
+ </section>
<section
id="s1-dhcp-additional-resources">
<title>Additional Resources</title>
@@ -621,7 +607,7 @@ dhcpd: Configuration file errors encountered -- exiting
<primary>DHCP</primary>
<secondary>additional resources</secondary>
</indexterm>
- <para>For additional configuration options, refer to the following
resources.</para>
+ <para>For additional configuration options, refer to <citetitle>The DHCP
Handbook; Ralph Droms and Ted Lemon; 2003</citetitle> or the following
resources.</para>
<section
id="s2-dhcp-installed-docs">
<title>Installed Documentation</title>