For a home network or a small office, what is the best practice for
using ULA in parallel with the prefix from an ISP?
Consider the following:
- router (OpenWRT or Debian) receives prefix delegation from ISP and
shares it, and also a ULA prefix, over the LAN with DHCPv6
- there is a small server or NAS running Debian on the LAN
- the router is also the local DNS and it is synchronized with the
DHCPv6 leases (e.g. the default OpenWRT odhcpd/dnsmasq setup)
- the aim is that if either the router or server stop working,
everything else (e.g. local DNS, communication between other local
machines) keeps working using the ULA prefix. Example: if the router
stops working, the local workstations need to be able to resolve the
hostname of the server and contact it using the ULA addresses.
Looking around online, I've found various suggestions but nothing that
appears to be a complete and concise solution. For example, one blog
suggested using two ULA prefixes, one for devices with static addresses
(the server) and another for devices with dynamic addresses (e.g.
workstations, laptops). It appeared a bit overcomplicated and didn't
cover the DNS.
An easy solution might involve putting static addresses on everything
and putting the server's ULA address in every hosts file but it would be
nice to find a solution that is entirely dynamic with only the router
and server having any static configuration entries.
Which solution would be suggested for synchronizing the DHCPv6 leases
and DNS entries between both router and server? OpenWRT ships odhcpd
and dnsmasq, Debian has the ISC equivalents as well. Which solutions
are people using?
On Sat, May 13, 2017 at 09:34:28AM +0200, Daniel Pocock wrote:
> - the aim is that if either the router or server stop working,
> everything else (e.g. local DNS, communication between other local
> machines) keeps working using the ULA prefix. Example: if the router
> stops working, the local workstations need to be able to resolve the
> hostname of the server and contact it using the ULA addresses.
To a first approximation, it sounds like what you really want
is multicast DNS, aka ZeroConf.
Or, in another direction, perhaps you want a failover DHCP and
(And you can do both if you feel like it.)
If you do mDNS, every host will need to support it in order to
be reachable. They each act as a tiny DNS server, listening to
the multicast address in order to supply their own records (A,
AAAA, CNAME, whatever) and querying the multicast address for
either service discovery of a DNS server or the answer for their
Failover DHCP is relatively easy, although less resilient
because you only need to disable all the participants to stop
your address assignment. Redundant DNS servers are nearly
At home, I run failover DHCP and redundant DNS with my router
and my main server as the participants, both being Debian boxes.
I'm looking into mDNS, but only half-heartedly.