52 lines
2.0 KiB
ReStructuredText
52 lines
2.0 KiB
ReStructuredText
DNS caching
|
|
===========
|
|
|
|
User experience may be greatly improved when dns is accelerated. Also, it
|
|
seems like a good idea to keep the number of packages being exchanged
|
|
between node and gateway as small as possible. In order to do this, a
|
|
DNS cache may be used on a node. The dnsmasq instance listening on port
|
|
53 on the node will be reconfigured to answer requests, use a list of
|
|
upstream servers and a specific cache size if the options listed below are
|
|
added to site.conf. Upstream servers are the DNS servers which are normally
|
|
used by the nodes to resolve hostnames (e.g. gateways/supernodes).
|
|
|
|
There are the following settings:
|
|
servers
|
|
cacheentries
|
|
|
|
To use the node's DNS server, both options should be set. The node will cache at
|
|
most 'cacheentries' many DNS records in RAM. The 'servers' list will be used to
|
|
resolve the received DNS queries if the request cannot be answered from
|
|
cache. Gateways should announce the "next node" address via DHCP and RDNSS (if
|
|
any). Note that not setting 'servers' here will lead to DNS not working: Once
|
|
the gateways all announce the "next node" address for DNS, there is no way for
|
|
nodes to automatically determine DNS servers. They have to be baked into the
|
|
firmware.
|
|
|
|
If these settings do not exist, the cache is not initialized and RAM usage will
|
|
not increase.
|
|
|
|
When next_node.name is set, an A record and an AAAA record for the
|
|
next-node IP address are placed in the dnsmasq configuration. This means that the content
|
|
of next_node.name may be resolved even without upstream connectivity. It is suggested to use
|
|
the same name as the DNS server provides: e.g nextnode.yourdomain.net (This way the name also
|
|
works if client uses static DNS Servers). Hint: If next_node.name does not contain a dot some
|
|
browsers would open the searchpage instead.
|
|
|
|
::
|
|
|
|
dns = {
|
|
cacheentries = 5000,
|
|
servers = { '2001:db8::1', },
|
|
},
|
|
|
|
next_node = {
|
|
name = 'nextnode.yourdomain.net',
|
|
ip6 = '2001:db8:8::1',
|
|
ip4 = '198.51.100.1',
|
|
}
|
|
|
|
|
|
The cache will be initialized during startup.
|
|
Each cache entry will occupy about 90 bytes of RAM.
|