Quando seu laptop obtém um endereço IP de um servidor dhcp no passado, ele costumava atualizar o arquivo /etc/resolv.conf
.
Hoje em dia não é assim tão simples. O Ubuntu executa dnsmasq por padrão. Este é um servidor de nomes de armazenamento em cache que acelera a navegação na web. Então a resposta para a sua primeira pergunta é "From dnsmasq".
A sequência é:
-
O NetworkManager obtém um endereço IP e um servidor DNS e armazena o endereço IP do servidor DNS no DBus
-
O dnsmasq pega o endereço IP do DBus e o usa para consultas upstream quando não há nenhum acerto de cache.
Você pode descobrir qual é o seu servidor DNS upstream com o comando sudo grep dnsmasq /var/log/syslog
(ou syslog.1 ou qualquer um dos outros syslogs girados se você inicializou há muito tempo).
A abordagem "correta" seria com o comando:
sudo qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP4Config/0 org.freedesktop.NetworkManager.IP4Config.Nameservers
Ele irá gerar uma série de números decimais, como 17249034. Você converte isso em hexadecimal: 0107330a, lê-lo de trás para frente, separando os bytes: 0a.33.07.01 e convertendo de volta para decimal: 10.51.7.1, que é o seu servidor DNS upstream.