How can I check which DNS server am I using (in Linux)? I am using network manager and a wired connection to my university's LAN. (I am trying to find out why my domain doesn't get resolved)
With the new
nmcli, do this:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
On newer versions of network-manager (such as in Ubuntu 16.04), the field names are slightly different:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
If you don't know the connection name, use:
nmcli -t --fields NAME con show --active
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1' IP4.DNS: 172.21.0.13 IP4.DNS: 172.21.0.4
If you are using network manager probably you get all network parameters from your dhcp server at your university.
If you don't want use your shell to check your dns settings (as described by hesse and Alexios), you can see them from the panel "Network information".
You can reach this panel by pressing right mouse button on network manager icon and selecting "Connection Information" from the menu.
to get the first DNS SERVER (IP only) :
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
catwill output DNS config
grepfilters only nameserver
headwill keep only the first row/instance
cuttake the ip part of the row (second column with ' ' as separator)
To put DNS ip in an environment variable, you could use as follow:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
I have Fedora 25 and also had similar slow response on command line to sudo commands.
nmcli dev show | grep DNS
showed that only one of my 3 adapters (two active) had DNS entries. By adding DNS entries to the one active card that didn't have an entry - presto! All is good and response time is immediate.