From e8ca69ea16773bf57031ceae3c4ac8e8c9fa60e4 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 26 Mar 2012 21:23:26 +0100 Subject: [PATCH] Doc updates for latest RA changes. --- dnsmasq.conf.example | 22 ++++++++++++++-- man/dnsmasq.8 | 60 ++++++++++++++++++++++++-------------------- 2 files changed, 53 insertions(+), 29 deletions(-) diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example index e08442e..db5d0c4 100644 --- a/dnsmasq.conf.example +++ b/dnsmasq.conf.example @@ -169,14 +169,32 @@ # hosts. Use the DHCPv4 lease to derive the name, network segment and # MAC address and assume that the host will also have an # IPv6 address calculated using the SLAAC alogrithm. -# This will generate an erroneous AAAA record if a host is using privacy -# extensions or does not support IPv6. Use with care. #dhcp-range=1234::, ra-names # Do Router Advertisements, BUT NOT DHCP for this subnet. # Set the lifetime to 46 hours. (Note: minimum lifetime is 2 hours.) #dhcp-range=1234::, ra-only, 48h +# Do DHCP and Router Advertisements for this subnet. Set the A bit in the RA +# so that clients can use SLAAC addresses as well as DHCP ones. +#dhcp-range=1234::2, 1234::500, slaac + +# Do Router Advertisements and stateless DHCP for this subnet. Clients will +# not get addresses from DHCP, but they will get other configuration information. +# They will use SLAAC for addresses. +#dhcp-range=1234::, ra-stateless + +# Do stateless DHCP, SLAAC, and generate DNS names for SLAAC addresses +# from DHCPv4 leases. +#dhcp-range=1234::, ra-stateless, ra-names + +# Do router advertisements for all subnets where we're doing DHCPv6 +# Unless overriden by ra-stateless, ra-names, et al, the router +# advertisements will have the M and O bits set, so that the clients +# get addresses and configuration from DHCPv6, and the A bit reset, so the +# clients don't use SLAAC addresses. +#enable-ra + # Supply parameters for specified hosts using DHCP. There are lots # of valid alternatives, so we will give examples of each. Note that # IP addresses DO NOT have to be in the range given above, they just diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 index 9ebfe31..0c9aef8 100644 --- a/man/dnsmasq.8 +++ b/man/dnsmasq.8 @@ -510,9 +510,9 @@ compiled in and the kernel must have conntrack support included and configured. This option cannot be combined with --query-port. .TP -.B \-F, --dhcp-range=[interface:,][tag:[,tag:],][set:,[,[,]][,] +.B \-F, --dhcp-range=[interface:,][tag:[,tag:],][set:[,][,][,[,]][,] .TP -.B \-F, --dhcp-range=[interface:,][tag:[,tag:],][set:,[,][,] +.B \-F, --dhcp-range=[interface:,][tag:[,tag:],][set:[,][,][,][,] Enable the DHCP server. Addresses will be given out from the range to and from statically defined addresses given @@ -548,7 +548,7 @@ When it is prefixed with 'tag:' instead, then its meaning changes from setting a tag to matching it. Only one tag may be set, but more than one tag may be matched. -The end address may be replaced by the keyword +The optional keyword may be .B static which tells dnsmasq to enable DHCP for the network specified, but not to dynamically allocate IP addresses: only hosts which have static @@ -556,25 +556,36 @@ addresses given via .B dhcp-host or from /etc/ethers will be served. -The end address may be replaced by -the keyword +Fot IPv4, the may be .B proxy in which case dnsmasq will provide proxy-DHCP on the specified subnet. (See .B pxe-prompt and .B pxe-service -for details, applies to IPv4 only.) +for details.) + +For IPv6, the mode may be some combination of +.B ra-only, slaac, ra-names, ra-stateless. -The end address may be replaced by -the keyword .B ra-only -which tells dnsmasq to offer Router Advertisement only on this subnet, -and not DHCP. This applies to IPv6 only, see -.B enable-ra -for details. Instead, the keyword +tells dnsmasq to offer Router Advertisement only on this subnet, +and not DHCP. + +.B slaac +tells dnsmasq to offer Router Advertisement on this subnet and to set +the A bit in the router advertisement, so that the client will use +SLAAC addresses. When used with a DHCP range or static DHCP address +this results in the client having both a DHCP-assigned and a SLAAC +address. + +.B ra-stateless +sends router advertisements with the O and A bits set, and provides a +stateless DHCP service. The client will use a SLAAC address, and use +DHCP for other configuration information. + .B ra-names -may be used. This does the same at ra-only, but also enables a mode +enables a mode which gives DNS names to dual-stack hosts which do SLAAC for IPv6. Dnsmasq uses the host's IPv4 lease to derive the name, network segment and MAC address and assumes that the host will also have an @@ -584,6 +595,11 @@ record is added to the DNS for this IPv6 address. Note that this is only happens for directly-connected networks, (not one doing DHCP via a relay) and it will not work if a host is using privacy extensions. +.B ra-names +can be combined with +.B ra-stateless +and +.B slaac. The interface: section is not normally used. See the NOTES section for details of this. @@ -1319,20 +1335,10 @@ only a subset of this is needed, and dnsmasq can handle it, using existing DHCP configuration to provide most data. When RA is enabled, dnsmasq will advertise a prefix for each dhcp-range, with default router and recursive DNS server as the relevant link-local address on -the machine running dnsmasq. The "managed address" bits are set, and -the "use SLAAC" bit is reset, except for a dhcp-range which is -marked as "ra-only" or "ra-names", in which case RA is provided but no -DHCPv6 service and the managed address bits are -cleared and the "use SLAAC" bit set. If the same subnet appears in a -normal dhcp-range and an "ra-only" dhcp-range, then the "managed -address" bits and the "use SLAAC" bits are all set, allowing SLAAC and -DHCP address to co-exist on the same subnet. -.B enable-ra -enables router advertisement for prefixes where dnsmasq is doing -DHCPv6. It is not needed for "ra-only" prefixes. Creating an "ra-only" -prefix and not setting -.B enable-ra -sends advertisements only to "ra-only" prefixes. +the machine running dnsmasq. By default, he "managed address" bits are set, and +the "use SLAAC" bit is reset. This can be changed for individual +subnets with the mode keywords described in +.B --dhcp-range. .TP .B --enable-tftp[=] Enable the TFTP server function. This is deliberately limited to that