IPv6 provisioning works a bit differently than IPv4 provisioning. The first and most important part of IPv6 provisioning is the Router Advertisement (RA). It is sent by a router to advertise its presence and to communicate the basic network settings of the local network. It contains (amongst other information):
- whether the router can be used as a default gateway and for how long
- whether there is a stateful DHCPv6 server available
- whether there is a stateless DHCPv6 server available
- which prefixes are used on the local network
- for each prefix: whether that prefix may be used for auto-configuration
- it may also contain DNS domains and resolvers
In the most simple case the RA tells the devices on the network that it's a default gateway, that there is no DHCPv6 server and one prefix with auto-configuration enabled. In that case the devices on the network can just configure their own address based on the network prefix. You'd miss the DNS settings though.
DNS settings can be communicated inside the RA but not every OS recognises that option. So usually you combine this network configuration with a stateless DHCPv6 server. Such a server doesn't give out addresses but it does provide other configuration information such as DNS settings.
If you want more control over the addresses that devices get then you probably want to disable auto-configuration and set the flag in the RA that says that a stateful DHCPv6 server is available. Devices on the network then know they have to ask the DHCPv6 server for their address. And this is where the DHCPv6 server configuration you show comes in.
You will have to configure your router to send the correct RA. If your Linux box is the router you do this with radvd
:
interface eth0
{
AdvSendAdvert on;
# The network is managed: there is a stateful DHCPv6 server
AdvManagedFlag on;
# Your prefix
prefix 2001:db8:0:1::/64
{
AdvOnLink on;
# No auto-configuration
AdvAutonomous off;
};
# Configure both Google public DNS resolvers
RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
{
};
# Configure the DNS search list
DNSSL domain.example.com example.com
{
};
};
When clients receive this RA then they will start querying the DHCPv6 server.
PS: site-local addresses (those starting with fec0:
) have been long deprecated. You should use ULA instead.