Respostas:
Você deve obter algumas informações razoáveis em:
$ cat /etc/resolv.conf
127.0.0.53
Aqui está como eu faço:
nmcli dev show | grep DNS
Isso funcionou antes da maneira acima:
nm-tool | grep DNS
/etc/resolv.conf
apontará para a sua máquina, com a dnsmasq
resolução de nomes conforme configurado pelo NetworkManager .
network-manager
pacote.
Eu acho que você também pode consultar o DNS e ele mostrará qual servidor retornou o resultado. Tente o seguinte:
dig yourserver.somedomain.xyz
E a resposta deve informar quais servidores retornaram o resultado. A saída que você está interessado será mais ou menos assim:
;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE rcvd: 207
Você também pode pedir dig
para consultar um servidor DNS específico usandodig @server_ip
dnsutils
pacote.
SERVER: 127.0.0.53#53(127.0.0.53)
Apenas faça um nslookup
. Parte de seus resultados inclui o servidor que está usando.
No exemplo abaixo, mostra que o servidor DNS usado está em 8.8.8.8.
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.22.174
$ nslookup www.google.com
dnsutils
pacote.
nslookup google.com
no host do Windows e encontrei o servidor de nomes. Adicione-o /etc/resolv.conf
como: nameserver xx.xx.xx.xx
e reinicie o serviço network
, e tudo está bem. Te louvo.
Em sistemas executando systemd, use:
systemd-resolve --status
Com o novo network-manager
comando nmcli
, faça o seguinte:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
Nas versões mais recentes do gerenciador de rede (como no Ubuntu 16.04), os nomes dos campos são ligeiramente diferentes:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
Se você não souber o nome da conexão, use:
nmcli -t --fields NAME con show --active
Por exemplo:
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]: 172.21.0.13
IP4.DNS[2]: 172.21.0.4
order «con» «show» is not valid
.
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
era tudo que eu precisava no ubuntu 19.04
para obter o primeiro servidor DNS (somente IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
produzirá configuração de DNSgrep
filtra apenas o servidor de nomeshead
manterá apenas a primeira linha / instânciacut
pegue a parte ip da linha (segunda coluna com '' como separador)Para colocar o IP do DNS em uma variável de ambiente, você pode usar o seguinte:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
pára correspondência após o primeiro jogo, assim você não tem que usarhead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Assim escreveu-se grupos de captura com grep perl expressão regular
Se você estiver usando o gerenciador de rede, provavelmente obterá todos os parâmetros de rede do servidor dhcp da sua universidade.
Se você não quiser usar seu shell para verificar suas configurações de DNS (como descrito por hesse e Alexios), poderá vê-las no painel "Informações da rede".
Você pode acessar esse painel pressionando o botão direito do mouse no ícone do gerenciador de rede e selecionando "Informações da conexão" no menu.
resolvectl
$ resolvectl status | grep -1 'DNS Server'
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
1.0.0.1
Por compatibilidade, systemd-resolve
é um link simbólico para resolvectl
muitas distros como no Ubuntu 18.10:
$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve
$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl
$ type -a resolvectl
resolvectl is /usr/bin/resolvectl
$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
O comando
nmcli dev list iface <interfacename> | grep IP4
Substitua "interfacename" pelo seu.
examlpe
nmcli dev list iface eth0 | grep IP4
Isso listará todos os servidores DNS (se você usar mais de um).
nmcli dev list iface [devicename]
é o comando correto
Eu tenho o Fedora 25 e também tive uma resposta lenta semelhante na linha de comando aos comandos do sudo.
nmcli dev show | grep DNS
mostrou que apenas um dos meus três adaptadores (dois ativos) tinha entradas DNS. Adicionando entradas DNS ao único cartão ativo que não tinha uma entrada - pronto! Tudo é bom e o tempo de resposta é imediato.
No CentOS, você pode usar:
/usr/sbin/named -v
Uma vez que você acha que encontrou o seu DNS, você pode consultá-lo diretamente com dig: dig @<dns ip> <host to lookup>
. Se funcionar, você deverá vê-lo depois SERVER
com um status de NOERROR
.
/etc/nsswitch.conf
dita quais serviços de nome são usados (DNS, LDAP, etc) e em que ordem. Digafgrep hosts: /etc/nsswitch.conf
. Se ele apenas fizer referência ao DNS,/etc/resolv.conf
é o lugar certo para procurar seus servidores de nomes. Mas é provável que você também esteja usando o mDNS (ZeroConf, Avahi, Bonjour etc.) etc. Nesse caso, as coisas dependem do que você está usando.