From: Francis Dupont Date: Fri, 1 Jul 2016 19:20:33 +0000 (+0200) Subject: [4273] Added dhcp4o6-port and DHCPv4-over-DHCPv6 sections to dhcp4 and dhcp6 guides X-Git-Tag: trac4551_base~18^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=879d7085722f6dd71f3bb76c578eac1c27d8c9d6;p=thirdparty%2Fkea.git [4273] Added dhcp4o6-port and DHCPv4-over-DHCPv6 sections to dhcp4 and dhcp6 guides --- diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml index a0f422e37c..f0ae17587d 100644 --- a/doc/guide/dhcp4-srv.xml +++ b/doc/guide/dhcp4-srv.xml @@ -90,9 +90,9 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p' - When running in a console, the server can be shut down by - pressing ctrl-c. It detects the key combination and shuts - down gracefully. + When running in a console, the server can be shut down by + pressing ctrl-c. It detects the key combination and shuts + down gracefully. @@ -154,6 +154,7 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p' "valid-lifetime": 4000, "renew-timer": 1000, "rebind-timer": 2000, + "dhcp4o6-port": 6767, # Next we setup the interfaces to be used by the server. "interfaces-config": { @@ -227,7 +228,10 @@ define T1 and T2 timers that govern when the client will begin the renewal and rebind procedures. Note that renew-timer and rebind-timer are optional. If they are not specified the client will select values for T1 and T2 timers according to the -RFC 2131. +RFC 2131. +dhcp4o6-port is used by the DHCPv4-over-DHCPv6 support +(more in ). + The interfaces-config map specifies the server configuration concerning the network interfaces, on which the server should @@ -750,8 +754,8 @@ temporarily override a list of interface names and listen on all interfaces. manually specify a unique identifier for each subnet. - The following configuration will assign the specified subnet - identifier to the newly configured subnet: + The following configuration will assign the specified subnet + identifier to the newly configured subnet: "Dhcp4": { @@ -2238,7 +2242,7 @@ It is merely echoed by the server which updated RFC 2131. That update now states that the server must - send client-id if the client sent it. That is the default behaviour + send client-id if the client sent it. That is the default behavior that Kea offers. However, in some cases older devices that do not support RFC 6842. @@ -2419,7 +2423,103 @@ It is merely echoed by the server - +"
+ DHCPv4-over-DHCPv6 DHCPv4 side + + The support of DHCPv4-over-DHCPv6 transport + RFC 7341 + is implemented using cooperating DHCPv4 and DHCPv6 servers. + This section is about the configuration of the DHCPv4 side + (the DHCPv6 side is described in ). + + + DHCPv4-over-DHCPv6 support is experimental and the details of + the inter-process communication can change: DHCPv4 and DHCPv6 + should run the same version of Kea. + + + The dhcp4o6-port global parameter specifies + the first of the two consecutive ports of the UDP sockets used + for the communication between the DHCPv6 and DHCPv4 servers + (DHCPv4-QUERY requests from the DHCPv6 side are received on the + first socket, DHCPv4-RESPONSE replies are sent back on the + second socket to the DHCPv6 side which forwards them to + clients). + + + The subnet selection uses 3 specific configuration entries, + the presence of any of these enables the subnet for + DHCPv4-over-DHCPv6. These entries are: + + + 4o6-interface: Takes an interface name + which is matched against the incoming interface name. + + + + 4o6-subnet: Takes a prefix (i.e, an + IPv6 address followed by a slash and a prefix length). + + + + 4o6-interface-id: Takes a relay interface + ID option value. + + + + + + The following configuration was used during some tests: + +{ + +# DHCPv4 conf +"Dhcp4": +{ + "interfaces-config": { + "interfaces": [ "eno33554984" ] + }, + + "lease-database": { + "type": "memfile", + "name": "leases4" + }, + + "valid-lifetime": 4000, + + "subnet4": [ + { "subnet": "10.10.10.0/24", + "4o6-interface": "eno33554984", + "4o6-subnet": "2001:db8:1:1::/64", + "pools": [ { "pool": "10.10.10.100 - 10.10.10.199" } ] } + ], + + "dhcp4o6-port": 6767 + +}, + +"Logging": +{ + "loggers": [ + { + "name": "kea-dhcp4", + "output_options": [ + { + "output": "/tmp/kea-dhcp4.log" + } + ], + "severity": "DEBUG", + "debuglevel": 0 + } + ] +} + +} + + +
+ + @@ -3141,10 +3241,11 @@ It is merely echoed by the server pkt4-nak-sent integer - Number of DHCPNAK packets sent. This statistic is expected to - grow when the server choses to not honor the address requested by a - client. In general, the sum of pkt4-ack-sent and pkt4-nak-sent - should be close to pkt4-request-received. + Number of DHCPNAK packets sent. This statistic is expected + to grow when the server chooses to not honor the address + requested by a client. In general, the sum of + pkt4-ack-sent and pkt4-nak-sent should be close to + pkt4-request-received. @@ -3283,12 +3384,12 @@ It is merely echoed by the server
- The length of the path specified by the socket-name - parameter is restricted by the maximum length for the unix socket name - on your operating system, i.e. the size of the sun_path - field in the sockaddr_un structure, decreased by 1. - This value varies on different operating systems between 91 and 107 - characters. The typical values are 107 on Linux and 103 on FreeBSD. + The length of the path specified by the socket-name + parameter is restricted by the maximum length for the unix socket name + on your operating system, i.e. the size of the sun_path + field in the sockaddr_un structure, decreased by 1. + This value varies on different operating systems between 91 and 107 + characters. The typical values are 107 on Linux and 103 on FreeBSD. diff --git a/doc/guide/dhcp6-srv.xml b/doc/guide/dhcp6-srv.xml index 2b350b8e33..a772b87c92 100644 --- a/doc/guide/dhcp6-srv.xml +++ b/doc/guide/dhcp6-srv.xml @@ -154,6 +154,7 @@ strings path/kea-dhcp6 | sed -n 's/;;;; //p' "rebind-timer": 2000, "preferred-lifetime": 3000, "valid-lifetime": 4000, + "dhcp4o6-port": 6767, # Next we setup the interfaces to be used by the server. "interfaces-config": { @@ -227,7 +228,10 @@ around them.) The address will become deprecated in 3000 seconds (clients are allowed to keep old connections, but can't use this address for creating new connections). renew-timer and rebind-timer are values that define T1 and T2 timers that govern when -the client will begin the renewal and rebind procedures. +the client will begin the renewal and rebind procedures. +dhcp4o6-port is used by the DHCPv4-over-DHCPv6 support +(more in ). + The interfaces-config map specifies the server configuration concerning the network interfaces, on which the server should @@ -290,7 +294,7 @@ syntax would be used: } ] -Note that indentation is optional and is used for aesthetic purposes only. +Note that indentation is optional and is used for esthetic purposes only. In some cases in may be preferable to use more compact notation. @@ -2181,6 +2185,96 @@ should include options from the isc option space: +
+ DHCPv4-over-DHCPv6 DHCPv6 side + + The support of DHCPv4-over-DHCPv6 transport + RFC 7341 + is implemented using cooperating DHCPv4 and DHCPv6 servers. + This section is about the configuration of the DHCPv6 side + (the DHCPv4 side is described in ). + + + DHCPv4-over-DHCPv6 support is experimental and the details of + the inter-process communication can change: DHCPv4 and DHCPv6 + should run the same version of Kea. + + + There is only one specific parameter for the DHCPv6 side: + dhcp4o6-port which specifies the first of the + two consecutive ports of the UDP sockets used for the communication + between the DHCPv6 and DHCPv4 servers (received DHCPv4-QUERY requests + are forwarded to the DHCPv4 side on the first socket, DHCPv4-RESPONSE + replies on the second socket are forwarded to clients). + + + Two other configuration entries are in general required: unicast traffic + support (see ) and DHCP 4o6 server + address option (name "dhcp4o6-server-addr", code 88). + + + The following configuration was used during some tests: + +{ + +# DHCPv6 conf +"Dhcp6": +{ + "interfaces-config": { + "interfaces": [ "eno33554984/2001:db8:1:1::1" ] + }, + + "lease-database": { + "type": "memfile", + "name": "leases6" + }, + + "preferred-lifetime": 3000, + "valid-lifetime": 4000, + "renew-timer": 1000, + "rebind-timer": 2000, + + "subnet6": [ + { "subnet": "2001:db8:1:1::/64", + "interface": "eno33554984", + "pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] } + ], + + "dhcp4o6-port": 6767, + + "option-data": [ + { "name": "dhcp4o6-server-addr", + "code": 88, + "space": "dhcp6", + "csv-format": true, + "data": "2001:db8:1:1::1" } + ] +}, + +"Logging": +{ + "loggers": [ + { + "name": "kea-dhcp6", + "output_options": [ + { + "output": "/tmp/kea-dhcp6.log" + } + ], + "severity": "DEBUG", + "debuglevel": 0 + } + ] +} + +} + + + + Relayed DHCPv4-QUERY DHCPv6 messages are not yet supported. + +
+