From 745318f734aef566b65620ed5e2fed36a69ea7d1 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 26 Nov 2019 19:46:39 +0100 Subject: dhcp: dhcpv6: migrate to common dhcp chapter --- docs/services/dhcp.rst | 146 +++++++++++++++++++++++ docs/services/dhcpv6.rst | 305 ----------------------------------------------- docs/services/index.rst | 1 - 3 files changed, 146 insertions(+), 306 deletions(-) delete mode 100644 docs/services/dhcpv6.rst 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 + +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 subnet lease-time {default | maximum | minimum } + +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 subnet nis-domain + +A :abbr:`NIS (Network Information Service)` domain can be set to be used for +DHCPv6 clients. + +.. cfgcmd:: set service dhcpv6-server shared-network-name subnet nisplus-domain + +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 subnet nis-server + +Specify a NIS server address for DHCPv6 clients. + +.. cfgcmd:: set service dhcpv6-server shared-network-name subnet nisplus-server + +Specify a NIS+ server address for DHCPv6 clients. + +.. cfgcmd:: set service dhcpv6-server shared-network-name subnet sip-server-address + +Specify a :abbr:`SIP (Session Initiation Protocol)` server by IPv6 address for +all DHCPv6 clients. + +.. cfgcmd:: set service dhcpv6-server shared-network-name subnet 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 subnet sntp-server-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: + diff --git a/docs/services/dhcpv6.rst b/docs/services/dhcpv6.rst deleted file mode 100644 index e70b3eba..00000000 --- a/docs/services/dhcpv6.rst +++ /dev/null @@ -1,305 +0,0 @@ - -DHCPv6 server -------------- - -VyOS provides DHCPv6 server functionality which is described in this section. -In order to use the DHCPv6 server it has to be enabled first: - -.. code-block:: sh - - set service dhcpv6-server - -To restart the DHCPv6 server (operational mode): - -.. code-block:: sh - - restart dhcpv6 server - -To show the current status of the DHCPv6 server use: - -.. code-block:: sh - - show dhcpv6 server status - -Show statuses of all assigned leases: - -.. code-block:: sh - - show dhcpv6 server leases - -DHCPv6 server options -^^^^^^^^^^^^^^^^^^^^^ - -DHCPv6 server 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`. Set -a preference value for the DHCPv6 server: - -.. code-block:: sh - - set service dhcpv6-server preference - -Delete a preference: - -.. code-block:: sh - - set service dhcpv6-server preference - -Show current preference: - -.. code-block:: sh - - show service dhcpv6-server preference - -Specify address lease 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 in -seconds): - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet lease-time {default | maximum | minimum } - -Reset the custom lease times: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet lease-time {default | maximum | minimum} - -Show the current configuration: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet lease-time {default | maximum | minimum} - -Specify NIS domain -****************** - -A Network Information (NIS) domain can be set to be used for DHCPv6 clients: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet nis-domain - -To Delete the NIS domain: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet nis-domain - -Show a configured NIS domain: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet nis-domain - -Specify NIS+ domain -******************* - -The procedure to specify a Network Information Service Plus (NIS+) domain is -similar to the NIS domain one: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet nisplus-domain - -To Delete the NIS+ domain: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet nisplus-domain - -Show a configured NIS domain: - - # show service dhcpv6-server shared-network-name subnet nisplus-domain - -Specify NIS server address -************************** - -To specify a NIS server address for DHCPv6 clients: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet nis-server - -Delete a specified NIS server address: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet nis-server - -Show specified NIS server addresses: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet nis-server - -Specify NIS+ server address -*************************** - -To specify a NIS+ server address for DHCPv6 clients: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet nisplus-server - -Delete a specified NIS+ server address: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet nisplus-server - -Show specified NIS+ server addresses: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet nisplus-server - -Specify a SIP server address for DHCPv6 clients -*********************************************** - -By IPv6 address -############### - - -A Session Initiation Protocol (SIP) server address can be specified -for DHCPv6 clients: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet sip-server-address - -Delete a specified SIP server address: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet sip-server-address - -Show specified SIP server addresses: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet sip-server-address - -By FQDN -####### - -A name for SIP server can be specified: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet sip-server-name - -Delete a specified SIP server name: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet sip-server-name - -Show specified SIP server names: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet sip-server-name - -Simple Network Time Protocol (SNTP) server address for DHCPv6 clients -********************************************************************* - -A SNTP server address can be specified for DHCPv6 clients: - -.. code-block:: sh - - set service dhcpv6-server shared-network-name subnet sntp-server-address - -Delete a specified SNTP server address: - -.. code-block:: sh - - delete service dhcpv6-server shared-network-name subnet sntp-server-address - -Show specified SNTP server addresses: - -.. code-block:: sh - - show service dhcpv6-server shared-network-name subnet sntp-server-address - -DHCPv6 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 1: DHCPv6 address pool -****************************** - -A shared network named `NET1` serves subnet `2001:db8:100::/64` which is -connected to `eth1`, a DNS server at `2001:db8:111::111` is used for name -services. The range of the address pool shall be `::100` through `::199`. The -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 - -Commit the changes and show the configuration: - -.. code-block:: sh - - commit - 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 1: Static IPv6 MAC-based mapping -**************************************** - -IPv6 address `2001:db8:100::101` shall be statically mapped to a device with -MAC address `00:15:c5:b7:5e:23`, this host-specific mapping shall be named -`client1`. - -.. note:: 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 - -Commit the changes and show the configuration: - -.. 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 - } - } - } diff --git a/docs/services/index.rst b/docs/services/index.rst index e7b05ad6..351b470d 100644 --- a/docs/services/index.rst +++ b/docs/services/index.rst @@ -13,7 +13,6 @@ This chapter describes the available system/network services provided by VyOS. conntrack dhcp - dhcpv6 dhcp-relay dns-forwarding dynamic-dns -- cgit v1.2.3