|
@@ -2679,13 +2679,13 @@ then change those defaults with config set Resolver/forward_addresses[0]/address
|
|
<title>DHCPv4 Server Configuration</title>
|
|
<title>DHCPv4 Server Configuration</title>
|
|
<para>
|
|
<para>
|
|
The DHCPv4 server does not have a lease database implemented yet
|
|
The DHCPv4 server does not have a lease database implemented yet
|
|
- nor any support for configuration, so every time the same set
|
|
|
|
|
|
+ nor any support for configuration, so the same set
|
|
of configuration options (including the same fixed address)
|
|
of configuration options (including the same fixed address)
|
|
will be assigned every time.
|
|
will be assigned every time.
|
|
</para>
|
|
</para>
|
|
<para>
|
|
<para>
|
|
At this stage of development, the only way to alter the server
|
|
At this stage of development, the only way to alter the server
|
|
- configuration is to tweak its source code. To do so, please
|
|
|
|
|
|
+ configuration is to modify its source code. To do so, please
|
|
edit src/bin/dhcp4/dhcp4_srv.cc file and modify following
|
|
edit src/bin/dhcp4/dhcp4_srv.cc file and modify following
|
|
parameters and recompile:
|
|
parameters and recompile:
|
|
<screen>
|
|
<screen>
|
|
@@ -2872,11 +2872,11 @@ const std::string HARDCODED_SERVER_ID = "192.0.2.1";</screen>
|
|
<section id="dhcp6-config">
|
|
<section id="dhcp6-config">
|
|
<title>DHCPv6 Server Configuration</title>
|
|
<title>DHCPv6 Server Configuration</title>
|
|
<para>
|
|
<para>
|
|
- Once the server is started, its configuration becomes possible. To view
|
|
|
|
- existing configuration, use the following command in <command>bindctl</command>:
|
|
|
|
|
|
+ Once the server is started, it can be configured. To view the
|
|
|
|
+ current configuration, use the following command in <command>bindctl</command>:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config show Dhcp6</userinput></screen>
|
|
> <userinput>config show Dhcp6</userinput></screen>
|
|
- When starting Dhcp6 daemon for the first time, the initial configuration
|
|
|
|
|
|
+ When starting Dhcp6 daemon for the first time, the default configuration
|
|
will be available. It will look similar to this:
|
|
will be available. It will look similar to this:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config show Dhcp6</userinput>
|
|
> <userinput>config show Dhcp6</userinput>
|
|
@@ -2889,47 +2889,50 @@ Dhcp6/subnet6 [] list (default)</screen>
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>
|
|
<para>
|
|
- To change one of the existing configurations, simply follow
|
|
|
|
|
|
+ To change one of the parameters, simply follow
|
|
the usual <command>bindctl</command> procedure. For example, to make the
|
|
the usual <command>bindctl</command> procedure. For example, to make the
|
|
leases longer, change their valid-lifetime parameter:
|
|
leases longer, change their valid-lifetime parameter:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config set Dhcp6/valid-lifetime 7200</userinput>
|
|
> <userinput>config set Dhcp6/valid-lifetime 7200</userinput>
|
|
> <userinput>config commit</userinput></screen>
|
|
> <userinput>config commit</userinput></screen>
|
|
- Please note that most parameters specified in Dhcp6 scope are global
|
|
|
|
- and apply to all defined subnets, unless they are overwritten in a more
|
|
|
|
- specific scope.
|
|
|
|
|
|
+ Please note that most Dhcp6 parameters are of global scope
|
|
|
|
+ and apply to all defined subnets, unless they are overridden on a
|
|
|
|
+ per-subnet basis.
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>
|
|
<para>
|
|
The essential role of DHCPv6 server is address assignment. The server
|
|
The essential role of DHCPv6 server is address assignment. The server
|
|
- has to be configured with at least a subnet and pool of dynamic
|
|
|
|
- addresses that it can manage. For example, let's assume that the server
|
|
|
|
- is connected to a network segment that uses 2001:db8:1::/64
|
|
|
|
- prefix. Administrator of that network decided that addresses from range
|
|
|
|
|
|
+ has to be configured with at least one subnet and one pool of dynamic
|
|
|
|
+ addresses to be managed. For example, assume that the server
|
|
|
|
+ is connected to a network segment that uses the 2001:db8:1::/64
|
|
|
|
+ prefix. The Administrator of that network has decided that addresses from range
|
|
2001:db8:1::1 to 2001:db8:1::ffff are going to be managed by the Dhcp6
|
|
2001:db8:1::1 to 2001:db8:1::ffff are going to be managed by the Dhcp6
|
|
- server. Such configuration can be achieved in the following way:
|
|
|
|
|
|
+ server. Such a configuration can be achieved in the following way:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/subnet6</userinput>
|
|
> <userinput>config add Dhcp6/subnet6</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/subnet "2001:db8:1::/64"</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/subnet "2001:db8:1::/64"</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/pool [ "2001:db8:1::1 - 2001:db8:1::ffff" ]</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/pool [ "2001:db8:1::1 - 2001:db8:1::ffff" ]</userinput>
|
|
> <userinput>config commit</userinput></screen>
|
|
> <userinput>config commit</userinput></screen>
|
|
- Please note that subnet is defined as a simple string, but the pool is
|
|
|
|
- an actual list of pools, therefore must be defined with square
|
|
|
|
- brackets. It is possible to define more than one pool in a
|
|
|
|
- subnet. Continuing the previous example, let's further assume that also
|
|
|
|
- 2001:db8:1:0:5::/80 should be used. It could be written as
|
|
|
|
- 2001:db8:1:0:5:: to 2001:db8:1::5:ffff:ffff:ffff, but typing so many Fs
|
|
|
|
- is cumbersome. It can be expressed simply as 2001:db8:1:0:5::/80. Both
|
|
|
|
- formats are supported by Dhcp6. For example, one could define the following pools:
|
|
|
|
|
|
+ Note that subnet is defined as a simple string, but the pool parameter
|
|
|
|
+ is actually a list of pools: for this reason, the pool definition is
|
|
|
|
+ enclosed in square brackets, even though only one range of addresses
|
|
|
|
+ is specified.</para>
|
|
|
|
+ <para>It is possible to define more than one pool in a
|
|
|
|
+ subnet: continuing the previous example, further assume that
|
|
|
|
+ 2001:db8:1:0:5::/80 should be also be managed by the server. It could be written as
|
|
|
|
+ 2001:db8:1:0:5:: to 2001:db8:1::5:ffff:ffff:ffff, but typing so many 'f's
|
|
|
|
+ is cumbersome. It can be expressed more simply as 2001:db8:1:0:5::/80. Both
|
|
|
|
+ formats are supported by Dhcp6 and can be mixed in the pool list.
|
|
|
|
+ For example, one could define the following pools:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config set Dhcp6/subnet6[0]/pool [ "2001:db8:1::1 - 2001:db8:1::ffff", "2001:db8:1:0:5::/80" ]</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/pool [ "2001:db8:1::1 - 2001:db8:1::ffff", "2001:db8:1:0:5::/80" ]</userinput>
|
|
> <userinput>config commit</userinput></screen>
|
|
> <userinput>config commit</userinput></screen>
|
|
- Number of subnets is not limited, but for performance reasons it is recommended to keep
|
|
|
|
- them as low as possible.
|
|
|
|
|
|
+ The number of pools is not limited, but for performance reasons it is recommended to
|
|
|
|
+ use as few as possible.
|
|
</para>
|
|
</para>
|
|
<para>
|
|
<para>
|
|
The server may be configured to serve more than one subnet. To add a second subnet,
|
|
The server may be configured to serve more than one subnet. To add a second subnet,
|
|
- use command similar to the following:
|
|
|
|
|
|
+ use a command similar to the following:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/subnet6</userinput>
|
|
> <userinput>config add Dhcp6/subnet6</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[1]/subnet "2001:db8:beef::/48"</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[1]/subnet "2001:db8:beef::/48"</userinput>
|