1*83ee113eSDavid van Moolenbroek# Server configuration file example for DHCPv6
2*83ee113eSDavid van Moolenbroek# From the file used for TAHI tests.
3*83ee113eSDavid van Moolenbroek
4*83ee113eSDavid van Moolenbroek# IPv6 address valid lifetime
5*83ee113eSDavid van Moolenbroek#  (at the end the address is no longer usable by the client)
6*83ee113eSDavid van Moolenbroek#  (set to 30 days, the usual IPv6 default)
7*83ee113eSDavid van Moolenbroekdefault-lease-time 2592000;
8*83ee113eSDavid van Moolenbroek
9*83ee113eSDavid van Moolenbroek# IPv6 address preferred lifetime
10*83ee113eSDavid van Moolenbroek#  (at the end the address is deprecated, i.e., the client should use
11*83ee113eSDavid van Moolenbroek#   other addresses for new connections)
12*83ee113eSDavid van Moolenbroek#  (set to 7 days, the	usual IPv6 default)
13*83ee113eSDavid van Moolenbroekpreferred-lifetime 604800;
14*83ee113eSDavid van Moolenbroek
15*83ee113eSDavid van Moolenbroek# T1, the delay before Renew
16*83ee113eSDavid van Moolenbroek#  (default is 1/2 preferred lifetime)
17*83ee113eSDavid van Moolenbroek#  (set to 1 hour)
18*83ee113eSDavid van Moolenbroekoption dhcp-renewal-time 3600;
19*83ee113eSDavid van Moolenbroek
20*83ee113eSDavid van Moolenbroek# T2, the delay before Rebind (if Renews failed)
21*83ee113eSDavid van Moolenbroek#  (default is 3/4 preferred lifetime)
22*83ee113eSDavid van Moolenbroek#  (set to 2 hours)
23*83ee113eSDavid van Moolenbroekoption dhcp-rebinding-time 7200;
24*83ee113eSDavid van Moolenbroek
25*83ee113eSDavid van Moolenbroek# Enable RFC 5007 support (same than for DHCPv4)
26*83ee113eSDavid van Moolenbroekallow leasequery;
27*83ee113eSDavid van Moolenbroek
28*83ee113eSDavid van Moolenbroek# Global definitions for name server address(es) and domain search list
29*83ee113eSDavid van Moolenbroekoption dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
30*83ee113eSDavid van Moolenbroekoption dhcp6.domain-search "test.example.com","example.com";
31*83ee113eSDavid van Moolenbroek
32*83ee113eSDavid van Moolenbroek# Set preference to 255 (maximum) in order to avoid waiting for
33*83ee113eSDavid van Moolenbroek# additional servers when there is only one
34*83ee113eSDavid van Moolenbroek##option dhcp6.preference 255;
35*83ee113eSDavid van Moolenbroek
36*83ee113eSDavid van Moolenbroek# Server side command to enable rapid-commit (2 packet exchange)
37*83ee113eSDavid van Moolenbroek##option dhcp6.rapid-commit;
38*83ee113eSDavid van Moolenbroek
39*83ee113eSDavid van Moolenbroek# The delay before information-request refresh
40*83ee113eSDavid van Moolenbroek#  (minimum is 10 minutes, maximum one day, default is to not refresh)
41*83ee113eSDavid van Moolenbroek#  (set to 6 hours)
42*83ee113eSDavid van Moolenbroekoption dhcp6.info-refresh-time 21600;
43*83ee113eSDavid van Moolenbroek
44*83ee113eSDavid van Moolenbroek# The path of the lease file
45*83ee113eSDavid van Moolenbroekdhcpv6-lease-file-name "/usr/local/var/db/dhcpd6.leases";
46*83ee113eSDavid van Moolenbroek
47*83ee113eSDavid van Moolenbroek# Static definition (must be global)
48*83ee113eSDavid van Moolenbroekhost myclient {
49*83ee113eSDavid van Moolenbroek	# The entry is looked up by this
50*83ee113eSDavid van Moolenbroek	host-identifier option
51*83ee113eSDavid van Moolenbroek		dhcp6.client-id 00:01:00:01:00:04:93:e0:00:00:00:00:a2:a2;
52*83ee113eSDavid van Moolenbroek
53*83ee113eSDavid van Moolenbroek	# A fixed address
54*83ee113eSDavid van Moolenbroek	fixed-address6 3ffe:501:ffff:100::1234;
55*83ee113eSDavid van Moolenbroek
56*83ee113eSDavid van Moolenbroek	# A fixed prefix
57*83ee113eSDavid van Moolenbroek	fixed-prefix6 3ffe:501:ffff:101::/64;
58*83ee113eSDavid van Moolenbroek
59*83ee113eSDavid van Moolenbroek	# Override of the global definitions,
60*83ee113eSDavid van Moolenbroek	# works only when a resource (address or prefix) is assigned
61*83ee113eSDavid van Moolenbroek	option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:4f4e;
62*83ee113eSDavid van Moolenbroek
63*83ee113eSDavid van Moolenbroek	# For debug (to see when the entry statements are executed)
64*83ee113eSDavid van Moolenbroek	#  (log "sol" when a matching Solicitation is received)
65*83ee113eSDavid van Moolenbroek	##if packet(0,1) = 1 { log(debug,"sol"); }
66*83ee113eSDavid van Moolenbroek}
67*83ee113eSDavid van Moolenbroek
68*83ee113eSDavid van Moolenbroekhost otherclient {
69*83ee113eSDavid van Moolenbroek        # This host entry is hopefully matched if the client supplies a DUID-LL
70*83ee113eSDavid van Moolenbroek        # or DUID-LLT containing this MAC address.
71*83ee113eSDavid van Moolenbroek        hardware ethernet 01:00:80:a2:55:67;
72*83ee113eSDavid van Moolenbroek
73*83ee113eSDavid van Moolenbroek        fixed-address6 3ffe:501:ffff:100::4321;
74*83ee113eSDavid van Moolenbroek}
75*83ee113eSDavid van Moolenbroek
76*83ee113eSDavid van Moolenbroek# The subnet where the server is attached
77*83ee113eSDavid van Moolenbroek#  (i.e., the server has an address in this subnet)
78*83ee113eSDavid van Moolenbroeksubnet6 3ffe:501:ffff:100::/64 {
79*83ee113eSDavid van Moolenbroek	# Two addresses available to clients
80*83ee113eSDavid van Moolenbroek	#  (the third client should get NoAddrsAvail)
81*83ee113eSDavid van Moolenbroek	range6 3ffe:501:ffff:100::10 3ffe:501:ffff:100::11;
82*83ee113eSDavid van Moolenbroek
83*83ee113eSDavid van Moolenbroek	# Use the whole /64 prefix for temporary addresses
84*83ee113eSDavid van Moolenbroek	#  (i.e., direct application of RFC 4941)
85*83ee113eSDavid van Moolenbroek	range6 3ffe:501:ffff:100:: temporary;
86*83ee113eSDavid van Moolenbroek
87*83ee113eSDavid van Moolenbroek	# Some /64 prefixes available for Prefix Delegation (RFC 3633)
88*83ee113eSDavid van Moolenbroek	prefix6 3ffe:501:ffff:100:: 3ffe:501:ffff:111:: /64;
89*83ee113eSDavid van Moolenbroek}
90*83ee113eSDavid van Moolenbroek
91*83ee113eSDavid van Moolenbroek# A second subnet behind a relay agent
92*83ee113eSDavid van Moolenbroeksubnet6 3ffe:501:ffff:101::/64 {
93*83ee113eSDavid van Moolenbroek	range6 3ffe:501:ffff:101::10 3ffe:501:ffff:101::11;
94*83ee113eSDavid van Moolenbroek
95*83ee113eSDavid van Moolenbroek	# Override of the global definitions,
96*83ee113eSDavid van Moolenbroek	# works only when a resource (address or prefix) is assigned
97*83ee113eSDavid van Moolenbroek	option dhcp6.name-servers 3ffe:501:ffff:101:200:ff:fe00:3f3e;
98*83ee113eSDavid van Moolenbroek
99*83ee113eSDavid van Moolenbroek}
100*83ee113eSDavid van Moolenbroek
101*83ee113eSDavid van Moolenbroek# A third subnet behind a relay agent chain
102*83ee113eSDavid van Moolenbroeksubnet6 3ffe:501:ffff:102::/64 {
103*83ee113eSDavid van Moolenbroek	range6 3ffe:501:ffff:102::10 3ffe:501:ffff:102::11;
104*83ee113eSDavid van Moolenbroek}
105*83ee113eSDavid van Moolenbroek
106