summaryrefslogtreecommitdiff
path: root/docs/services/dhcp.rst
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-11-26 19:46:39 +0100
committerChristian Poessinger <christian@poessinger.com>2019-11-26 19:46:39 +0100
commit745318f734aef566b65620ed5e2fed36a69ea7d1 (patch)
treeb97eca32ece60d2fd329c9c4703a52b8bcc99fa4 /docs/services/dhcp.rst
parent90476f00e43a0d9ea076a36cdefbf1b215e5293a (diff)
downloadvyos-documentation-745318f734aef566b65620ed5e2fed36a69ea7d1.tar.gz
vyos-documentation-745318f734aef566b65620ed5e2fed36a69ea7d1.zip
dhcp: dhcpv6: migrate to common dhcp chapter
Diffstat (limited to 'docs/services/dhcp.rst')
-rw-r--r--docs/services/dhcp.rst146
1 files changed, 146 insertions, 0 deletions
diff --git a/docs/services/dhcp.rst b/docs/services/dhcp.rst
index 898784a0..c27099eb 100644
--- a/docs/services/dhcp.rst
+++ b/docs/services/dhcp.rst
@@ -147,3 +147,149 @@ Option 015).
The domain-name parameter should be the domain name used when completing DNS
request where no full FQDN is passed. This option can be given multiple times
if you need multiple search domains (DHCP Option 119).
+
+
+DHCPv6 Server
+=============
+
+VyOS also provides DHCPv6 server functionality which is described in this
+section.
+
+Configuration Options
+---------------------
+
+.. cfgcmd:: set service dhcpv6-server preference <preference value>
+
+Clients receiving advertise messages from multiple servers choose the server
+with the highest preference value. The range for this value is ``0...255``.
+
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> lease-time {default <default-time> | maximum <maximum-time> | minimum <minimum-time>}
+
+The default lease time for DHCPv6 leases is 24 hours. This can be changed by
+supplying a ``default-time``, ``maximum-time`` and ``minimum-time``. All values
+need to be supplied in seconds.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> nis-domain <nis-domain-name>
+
+A :abbr:`NIS (Network Information Service)` domain can be set to be used for
+DHCPv6 clients.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> nisplus-domain <nisplus-domain-name>
+
+The procedure to specify a :abbr:`NIS+ (Network Information Service Plus)`
+domain is similar to the NIS domain one:
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> nis-server <IPv6 address>
+
+Specify a NIS server address for DHCPv6 clients.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> nisplus-server <IPv6 address>
+
+Specify a NIS+ server address for DHCPv6 clients.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> sip-server-address <IPv6 address>
+
+Specify a :abbr:`SIP (Session Initiation Protocol)` server by IPv6 address for
+all DHCPv6 clients.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> sip-server-name <sip-server-name>
+
+Specify a :abbr:`SIP (Session Initiation Protocol)` server by FQDN for all
+DHCPv6 clients.
+
+.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <ipv6net> sntp-server-address <IPv6 address>
+
+A SNTP server address can be specified for DHCPv6 clients:
+
+Address pools
+-------------
+
+DHCPv6 address pools must be configured for the system to act as a DHCPv6
+server. The following example describes a common scenario.
+
+**Example:**
+
+* A shared network named ``NET1`` serves subnet ``2001:db8:100::/64``
+* It is connected to ``eth1``
+* DNS server is located at ``2001:db8:111::111``
+* Address pool shall be ``2001:db8:100::100`` through ``2001:db8:100::199``.
+* Lease time will be left at the default value which is 24 hours
+
+.. code-block:: sh
+
+ set service dhcpv6-server shared-network-name NET1 subnet 2001:db8:100::/64 address-range start 2001:db8:100::100 stop 2001:db8:100::199
+ set service dhcpv6-server shared-network-name NET1 subnet 2001:db8:100::/64 name-server 2001:db8:111::111
+
+The configuration will look as follows:
+
+.. code-block:: sh
+
+ show service dhcpv6-server
+ shared-network-name NET1 {
+ subnet 2001:db8:100::/64 {
+ address-range {
+ start 2001:db8:100::100 {
+ stop 2001:db8:100::199
+ }
+ }
+ name-server 2001:db8:111::111
+ }
+ }
+
+Static mappings
+^^^^^^^^^^^^^^^
+
+In order to map specific IPv6 addresses to specific hosts static mappings can
+be created. The following example explains the process.
+
+**Example:**
+
+* IPv6 address ``2001:db8:100::101`` shall be statically mapped
+* Device MAC address will be ``00:53:c5:b7:5e:23``
+* Host specific mapping shall be named ``client1``
+
+.. nhint:: The MAC address identifier is defined by the last 4 byte of the
+ MAC address.
+
+.. code-block:: sh
+
+ set service dhcpv6-server shared-network-name NET1 subnet 2001:db8:100::/64 static-mapping client1 ipv6-address 2001:db8:100::101
+ set service dhcpv6-server shared-network-name NET1 subnet 2001:db8:100::/64 static-mapping client1 identifier c5b75e23
+
+The configuration will look as follows:
+
+.. code-block:: sh
+
+ show service dhcp-server shared-network-name NET1
+ shared-network-name NET1 {
+ subnet 2001:db8:100::/64 {
+ name-server 2001:db8:111::111
+ address-range {
+ start 2001:db8:100::100 {
+ stop 2001:db8:100::199 {
+ }
+ }
+ static-mapping client1 {
+ ipv6-address 2001:db8:100::101
+ identifier c5b75e23
+ }
+ }
+ }
+
+
+Operation Mode
+--------------
+
+.. opcmd:: restart dhcpv6 server
+
+To restart the DHCPv6 server
+
+.. opcmd:: show dhcpv6 server status
+
+To show the current status of the DHCPv6 server.
+
+.. opcmd:: show dhcpv6 server leases
+
+Show statuses of all assigned leases:
+