There are two big topics to discuss in this session:
- Fixing the way we handle /etc/resolv.conf to be consistent across the whole distro
- Integrate a DNS resolver daemon in the default Ubuntu desktop installation
== The notes below are about including a local resolver in the default Ubuntu Desktop installation ==
The idea is to have a local resolver like dnsmasq or unbound running on all Ubuntu desktop installations and controlled by Network Manager.
All machines would then use "nameserver 127.0.0.1" in their /etc/resolv.conf
search path/domain may be retained in resolv.conf or moved into dnsmasq/unbound's configuration too.
The main benefit of doing this is to increase overall responsiveness of the desktop by having a local DNS cache and allow for better dispatching of DNS queries.
For example in the following scenario:
- Wired connection with DNS 1.1.1.1 and domain blah.com
- Wireless connection with DNS 2001::2 and domain example.com
- VPN connection with DNS 2.2.2.2 and domain ubuntu.com
With current Network Manager, all DNS queries would be going to 2.2.2.2, making everything slow if the latency on that link is high.
Also, any request to blah.com or example.com will be sent to 2.2.2.2 which doesn't necessarily know these domains (if they are internal domains for example).
The resolver will fix all that by sending DNS queries to the right server depending on the domain, will cache the results and will properly handle timeouts and detection of broken server, thereby reducing delays and reliability of DNS on Ubuntu.