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.