Provided by: wide-dhcpv6-server_20080615-12_amd64 bug

NAME

     dhcp6s.conf — DHCPv6 server configuration file

SYNOPSIS

     /etc/wide-dhcpv6/dhcp6s.conf

DESCRIPTION

     The dhcp6s.conf file contains configuration information for KAME's DHCPv6 server, dhcp6s.
     The configuration file consists of a sequence of statements terminated by a semi-colon
     (`;').  Statements are composed of tokens separated by white space, which can be any
     combination of blanks, tabs and newlines.  In some cases a set of statements is combined
     with a pair of brackets, which is regarded as a single token.  Lines beginning with ‘#’ are
     comments.

Interface specification

     There are some statements that may or have to specify interface.  Interfaces are specified
     in the form of "name unit", such as fxp0 and gif1.

Include statement

     An include statement specifies another configuration file to be included.  The format of an
     include statement is as follows:
     include "filename";
             Where "filename" is the name (full path) of the file to be included.

Option statement

     An option statement specifies configuration parameters provided for every client.  The
     format of the statement is as follows.
     option option-name [option-value] ;
             The following options can be specified in an option statement.
             domain-name-servers dns-address [dns-addresses...];
                     provides DNS server address(es).  Each dns-address must be a numeric IPv6
                     address.  Multiple server addresses can also be specified by a sequence of
                     these statements.
             domain-name "dns-name";
                     provides a domain name of a DNS search path.  Multiple names in the path can
                     be specified by a sequence of these statements.
             ntp-servers ntp-address [ntp-addresses...];
                     provides NTP server address(es).  Each ntp-address must be a numeric IPv6
                     address.  Multiple server addresses can also be specified by a sequence of
                     these statements.
             sip-server-address sip-server-address [sip-server-addresses...];
                     provides SIP server address(es).  Each sip-server-address must be a numeric
                     IPv6 address.  Multiple server addresses can also be specified by a sequence
                     of these statements.
             sip-server-domain-name "sip-server-domain-name";
                     provides a domain name of a SIP server.  Multiple names in the path can be
                     specified by a sequence of these statements.
             nis-server-address nis-server-address [nis-server-addresses...];
                     provides NIS server address(es).  Each nis-server-address must be a numeric
                     IPv6 address.  Multiple server addresses can also be specified by a sequence
                     of these statements.
             nis-domain-name "nis-domain-name";
                     provides a NIS domain name.  Multiple names in the path can be specified by
                     a sequence of these statements.
             nisp-server-address nisp-server-address [nisp-server-addresses...];
                     provides NIS+ server address(es).  Each nisp-server-address must be a
                     numeric IPv6 address.  Multiple server addresses can also be specified by a
                     sequence of these statements.
             nisp-domain-name "nisp-domain-name";
                     provides a NIS+ domain name.  Multiple names in the path can be specified by
                     a sequence of these statements.
             bcmcs-server-address bcmcs-server-address [bcmcs-server-addresses...];
                     provides BCMCS server address(es).  Each bcmcs-server-address must be a
                     numeric IPv6 address.  Multiple server addresses can also be specified by a
                     sequence of these statements.
             bcmcs-server-domain-name "bcmcs-server-domain-name";
                     provides a domain name of a BCMCS server.  Multiple names in the path can be
                     specified by a sequence of these statements.
             refreshtime interval;
                     specifies the refresh time of stateless information that does not have
                     particular lease duration in seconds.  This option is only applicable to
                     stateless configuration by information-request and reply exchanges.

Interface statement

     An interface statement specifies configuration parameters on the interface.  The generic
     format of an interface statement is as follows:
     interface interface { substatements };
             The followings are possible substatements in an interface statement.
             allow allow-options ;
                     This statement specifies DHCPv6 options accepted by the server.  Currently
                     only rapid-commit can be specified in an allow statement, which specifies
                     the server to accept a rapid-commit option in solicit messages.
             preference pref;
                     This statement sets the server's preference value on the interface to the
                     value pref.  The specified value will be contained in a preference option of
                     advertise messages.  The preference value must be a decimal integer and be
                     between 0 and 255 (inclusive.)
             address-pool pool pltime [vltime];
                     This statement assigns an address pool pool to the interface. When
                     dhcp6s.conf receives a allocation request for an IA-NA, it assigns one IPv6
                     address from this pool.  The specified pool name will be defined in a pool
                     statement.  Regarding the pltime and vltime , please see the explanation in
                     the prefix substatement in host statement section.

Host statement

     A host statement specifies configuration parameters for a particular client.  The generic
     format of a host statement is as follows:
     host name { substatements };
             name is an arbitrary string.  It does not affect server's behavior but is provided
             for readability of log messages.  Possible substatements are as follows.
             duid ID;
                     This statement defines the client's DHCP unique identifier (DUID).  ID is a
                     colon-separated hexadecimal sequence where each separated part must be
                     composed of two hexadecimal values.  This statement is used to identify a
                     particular host by the server and must be included in a host statement.
             prefix ipv6-prefix pltime [vltime];
                     This statement specifies an IPv6 prefix to be delegated to the client.
                     ipv6-prefix is a string representing a valid IPv6 prefix (see the example
                     below).  pltime and vltime are preferred and valid lifetimes of the prefix,
                     respectively.  When the latter is omitted, it will be set to the same value
                     of pltime. A positive decimal number or a special string infinity can be
                     specified as a lifetime.  A decimal number provides the lifetime in seconds,
                     while infinity means the corresponding lifetime never expires.  When both
                     lifetimes are specified, pltime must not be larger than vltime.  Multiple
                     prefixes can be specified, each of which is given by a single prefix
                     statement.  In that case, all or some of the specified prefixes will be
                     delegated to the client, based on required parameters by the client.
             address ipv6-address pltime [vltime];
                     This statement specifies an IPv6 address to be assigned to the client.
                     Everything is same as prefix option, except that you do not need specify
                     prefix length.
             delayedkey keyname;
                     This statement specifies a secret key shared with the client for the DHCPv6
                     delayed authentication protocol.  keyname is a string that identifies a
                     particular set of key parameters.  A separate keyinfo statement for keyname
                     must be provided in the configuration file.  When this statement is
                     specified and the client includes an authentication option for the delayed
                     authentication protocol in a Solicit message, dhcp6s will perform the
                     authentication protocol for succeeding message exchanges.

Pool statement

     A pool statement specifies an address pool for a particular interface.  The generic format
     of a pool statement is as follows:
     pool name { substatements; };
             name is an arbitrary string.  It does not affect server's behavior but is provided
             for readability of log messages.  Possible substatements are as follows.
             range min-addr to max-addr
                     This substatement defines the range of addresses allocated for the pool,
                     i.e. from min-addr to max-addr.

Keyinfo statement

     This statement defines a secret key shared with a client to authenticate DHCPv6 messages.
     The format and the description of this statement is provided in dhcp6c.conf(5).  One
     important difference in the server configuration is, however, the keyname is referred from a
     host statement as described above.

Examples

     The followings are a sample configuration to provide a DNS server address for every client
     as well as to delegate a permanent IPv6 prefix 2001:db8:1111::/48 to a client whose DUID is
     00:01:00:01:aa:bb.

     option domain-name-servers 2001:db8::35;

     host kame {
             duid 00:01:00:01:aa:bb;
             prefix 2001:db8:1111::/48 infinity;
     };

     If a shared secret should be configured in both the server and the client for DHCPv6
     authentication, it would be specified in the configuration file as follows:

     keyinfo kame {
             realm "kame.net";
             keyid 1;
             secret "5pvW2g48OHPvkYMJSw0vZA==";
     };

     And the host statement would be modified as follows:

     host kame {
             duid 00:01:00:01:aa:bb;
             prefix 2001:db8:1111::/48 infinity;
             delayedkey kame;
     };

SEE ALSO

     dhcp6c.conf(5) dhcp6s(8)

HISTORY

     The dhcp6s.conf configuration file first appeared in the WIDE/KAME IPv6 protocol stack kit.