RA configuration tweaks and documentation improvements.

This commit is contained in:
Simon Kelley
2012-02-29 12:18:30 +00:00
parent 4b86b65d07
commit 0010b47439
3 changed files with 26 additions and 7 deletions

View File

@@ -161,9 +161,13 @@
# and defaults to 64 if missing/ # and defaults to 64 if missing/
#dhcp-range=1234::2, 1234::500, 64, 12h #dhcp-range=1234::2, 1234::500, 64, 12h
# Not Router Advertisements, BUT NOT DHCP for this subnet. # Do Router Advertisements, BUT NOT DHCP for this subnet.
#dhcp-range=1234::, ra-only #dhcp-range=1234::, ra-only
# 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
# Supply parameters for specified hosts using DHCP. There are lots # Supply parameters for specified hosts using DHCP. There are lots
# of valid alternatives, so we will give examples of each. Note that # 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 # IP addresses DO NOT have to be in the range given above, they just
@@ -284,7 +288,11 @@
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5 #dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
# Send DHCPv6 option. Note [] around IPv6 addresses. # Send DHCPv6 option. Note [] around IPv6 addresses.
dhcp-option=option6:dns-server,[1234::77],[1234::88] #dhcp-option=option6:dns-server,[1234::77],[1234::88]
# Send DHCPv6 option for namservers as the machine running
# dnsmasq and another.
#dhcp-option=option6:dns-server,[::],[1234::88]
# Set the NTP time server address to be the same machine as # Set the NTP time server address to be the same machine as
# is running dnsmasq # is running dnsmasq

View File

@@ -704,7 +704,7 @@ and to set the time-server address to 192.168.0.4, do
.B --dhcp-option = 42,192.168.0.4 .B --dhcp-option = 42,192.168.0.4
or or
.B --dhcp-option = option:ntp-server, 192.168.0.4 .B --dhcp-option = option:ntp-server, 192.168.0.4
The special address 0.0.0.0 is taken to mean "the address of the The special address 0.0.0.0 (or [::] for DHCPv6) is taken to mean "the address of the
machine running dnsmasq". Data types allowed are comma separated machine running dnsmasq". Data types allowed are comma separated
dotted-quad IP addresses, a decimal number, colon-separated hex digits dotted-quad IP addresses, a decimal number, colon-separated hex digits
and a text string. If the optional tags are given then and a text string. If the optional tags are given then
@@ -1256,9 +1256,15 @@ existing DHCP configuration to provide most data. When RA is enabled,
dnsmasq will advertise a prefix for each dhcp-range, with default dnsmasq will advertise a prefix for each dhcp-range, with default
router and recursive DNS server as the relevant link-local address on router and recursive DNS server as the relevant link-local address on
the machine running dnsmasq. The "managed address" bits are set, the machine running dnsmasq. The "managed address" bits are set,
except for a dhcp-range which is marked as "ra-only". In which case RA except for a dhcp-range which is marked as "ra-only", in which case RA
is provided by no DHCPv6 service and the managed address bits are is provided by no DHCPv6 service and the managed address bits are
cleared. cleared.
.B enable-ra
enables router advertisement for prefixes where dnsmasq is doing
DHCPv6. It is not needed to "ra-only" prefixes. Creating an "ra-only"
prefix and not setting
.B enable-ra
sends advertisements only to "ra-only" prefixes.
.TP .TP
.B --enable-tftp[=<interface>] .B --enable-tftp[=<interface>]
Enable the TFTP server function. This is deliberately limited to that Enable the TFTP server function. This is deliberately limited to that

View File

@@ -275,8 +275,13 @@ static int add_prefixes(struct in6_addr *local, int prefix,
is_same_net6(local, &context->end6, prefix)) is_same_net6(local, &context->end6, prefix))
{ {
if (!(context->flags & CONTEXT_RA_ONLY)) if (!(context->flags & CONTEXT_RA_ONLY))
param->managed = 1; {
/* don't do RA for non-ra-only unless --enable-ra is set */
if (!option_bool(OPT_RA))
continue;
param->managed = 1;
}
if (context->flags & CONTEXT_RA_DONE) if (context->flags & CONTEXT_RA_DONE)
continue; continue;