Ubuntu uses the resolvconf program to configure local DNS resolution. The resolvconf package includes a simple database and a runtime for dynamically modifying nameserver information.
How to disable Ubuntu resolvconf
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.
$ resolvconf --disable-updates
Disable 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 .. dns=default ..
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 nameserver 184.108.40.206 nameserver 220.127.116.11
Delete the resolv.conf file of the systemd configuration program.
$ rm /etc/systemd/resolved.conf
change the configuration.
$ service network-manager restart
The nameservers can also be defined in the interface configuration.
$ vi /etc/network/interfaces auto lo iface lo inet loopback auto ens160 iface ens160 inet static address 10.10.0.8 gateway 10.10.0.1 netmask 255.255.255.0 network 10.10.0.0 broadcast 10.10.0.255 dns-nameservers 18.104.22.168 22.214.171.124 dns-search my.local
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 Server: dns1.agrinet.ch Address: 126.96.36.199 Non-authoritative response: green.ch nameserver = dns2.agrinet.ch green.ch nameserver = dns1.agrinet.ch dns1.agrinet.ch internet address = 188.8.131.52
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 184.108.40.206 dns2.agrinet.ch has address 220.127.116.11 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 [18.104.22.168]32 bytes of data: Response from 22.214.171.124: Bytes=32 Time=32ms TTL=50 Ping statistics for 126.96.36.199: Packages: Sent = 1, Receive = 1, Lost = 0 (0% loss), Approx. times in millisec.: Minimum = 32ms, Maximum = 32ms, Mean = 32ms
Show the current DNS nameservers available use systemd resolver.
$ systemd-resolve --status
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?