Ubuntu uses the nameserver resolvconf program to configure local DNS resolution. The resolvconf package includes a simple database and a runtime for dynamically modifying nameserver information.
Ubuntu nameserver resolvconf NetworkManager
Typically, the program resolvconf runs through a network interface to push routines such as ifup, ifdown, NetworkManager, dhclient, and pppd, or local nameservers such as dnsmasq to update the DNS information.
If static IP addresses and DNS records are used on a host, the resolvconf package should be deactivated under Ubuntu, so that the DNS configuration from the dnsmasq daemon is not automatically made, the configuration that has been edited in
/etc/network/interfaces will otherwise be overwritten by the resolvconf program.
Disable nameserver resolvconf
$ resolvconf --disable-updates
Disable Ubuntu resolvconf from boot level and quit the program.
$ systemctl disable systemd-resolved.service
$ service systemd-resolved stop
Customize the Network Manager with default DNS.
$ vi /etc/NetworkManager/NetworkManager.conf
Remove the symlink resolv.conf under /etc.
$ rm /etc/resolv.conf
and create a new resolv.conf file with the nameservers. in this example, it’s Google Public DNS.
On a local network or ADS the internal nameservers should be used.
$ vi /etc/resolv.conf
Delete the resolv.conf file of the systemd configuration program.
$ rm /etc/systemd/resolved.conf
change the configuration.
$ service network-manager restart
nameservers can also be defined in the interface configuration.
$ vi /etc/network/interfaces
iface lo inet loopback
iface ens160 inet static
dns-nameservers 184.108.40.206 220.127.116.11
The interface name (ens160) may differ and must correspond to that of the respective host.
/etc/resolv.conf file should not be missing.
Now enable the new network settings it will be read into memory.
$ /etc/init.d/networking restart
Troubleshooting using DNS
Many network issues are due to incorrect DNS or incorrect configuration of resolver. In a home network there is often no internal DNS, whereby the router or the firewall can be used as a nameserver, such as the Linksys or Netgear router. Basically, it should be ensured that the firewall used has a DNS cache, with semi-professional firewalls such as the FortiGate that not every model provide such a cache. For open source-based firewalls most provide a cache through DNS forwarder or dnsmasq.
After open up a command prompt will changes to the nameservers in Windows, the DNS cache should be reset.
C:\> ipconfig /flushdns
For Linux, the DNS cache can be reset out from terminal, with one of the following commands, depending on which service is installed.
$ sudo /etc/init.d/nscd restart
$ service nscd restart
$ service nscd reload
$ sudo /etc/init.d/dnsmasq restart
$ service dnsmasq restart
$ rndc reload
In the Mac OS X terminal as root.
$ lookupd -flushcache
If there is no internal DNS in the local network, the name servers of the Internet provider can be used, or may the Cloudflare public DNS.
Example of a nameserver querying its provider on Windows.
C:\> nslookup -type=ns green.ch
green.ch nameserver = dns2.agrinet.ch
green.ch nameserver = dns1.agrinet.ch
dns1.agrinet.ch internet address = 18.104.22.168
Example nameserver lookup query on Linux.
$ host -t ns green.ch
green.ch name server dns1.agrinet.ch.
green.ch name server dns2.agrinet.ch.
host dns1.agrinet.ch & host dns2.agrinet.ch
dns1.agrinet.ch has address 22.214.171.124
dns2.agrinet.ch has address 126.96.36.199
dns2.agrinet.ch has IPv6 address 2a01:2a8:2001:252::11
A ping -n1 resolves addresses to host names with parameters –a and –4 for IPv4 address.
C:\> ping -4 -n 1 -a www.google.com
Ping runs for www.google.com with [188.8.131.52]32 bytes of data:
Response from 184.108.40.206: Bytes=32 Time=32ms TTL=50
Ping statistics for 220.127.116.11:
Packages: Sent = 1, Receive = 1, Lost = 0
Approx. times in millisec.:
Minimum = 32ms, Maximum = 32ms, Mean = 32ms
Show the current DNS nameservers available use systemd resolver.
$ systemd-resolve --status