Clients can be defined in a configuration file or in a database. A configuration file could be generated manually or generated by a script accessing your configuration database. It has to be referred in general settings file with:

store_file_config = /path/to/dhcpy6d/clients.conf

Clients can have these attributes:

  • class (required)
  • hostname
  • mac – more than one have to be separated by spaces
  • duid – more than one have to be separated by spaces
  • address – more than one have to be separated by spaces
  • prefix – defines a static prefix for a client
  • id (0-FFFF) – will be used for one octet of IPv6 address
  • prefix_route_link_local - allows to use link-local address as route to provides prefixes

It is mandatory that a client has at least the corresponding attributes the general identification relies on, e.g. if MACs are used for identification all clients should have one in configuration, otherwise they won’t be recognized.

The option id can be used for address definitions of category id and will be replaced in the corresponding $id$ snippet.

The option address allows to add additional fixed addresses beyond class defined addresses. Several addresses have to be separated by spaces.

A given fixed prefix option defines the prefix the client always should get.

If multiple addresses are configured for a client and it requests prefixes too, it might be helpful to configure prefix_route_link_local as true. This way the call_up command will be called with the link-local address of the client to make the route clear.

A client configuration file should look like this:

hostname = client1
mac = 01:01:01:01:01:01
class = valid_client

hostname = client2
mac = 02:02:02:02:02:02
class = invalid_client

hostname = client3
duid = 000100011234567890abcdef1234
class = valid_client
address = 2001:cb8::babe:1

hostname = client4
mac = 04:04:04:04:04:04
id = 4
class = valid_client
prefix = 2001:db8::/56 

hostname = client5
mac = 05:05:05:05:05:05
id = 5
class = valid_client
prefix = 2001:db8:5::/64
prefix_route_link_local = true

Every client not listed here will be of class default and get its default address(es) as defined for default addresses and class in general configuration file.

©2022 Henri Wahl et al.