Estou usando um Raspberry Pi 3 com o Ubuntu 18.04. Na minha empresa, temos um servidor DNS e alguns domínios com ".local". Eu sei que tecnicamente isso não está correto e deve ser ".lan", porque .local é reservado para DNS multicast. Mas é assim que as coisas são e não podem ser facilmente alteradas. Portanto, na minha máquina Windows, posso executar ping e navegar para esses nomes de domínio sem problemas. No meu Ubuntu, no entanto, eu não posso.
Não consigo usar IPs porque alguns domínios estão na mesma máquina e o servidor da Web IIS organiza as coisas para onde vai.
Eu pesquisei e aparece com bastante frequência:
- https://smallbusiness.chron.com/resolving-local-ubuntu-38861.html
- Por que nenhum dos meus servidores locais resolve?
- servidor ubuntu não resolvendo nomes de host da LAN
No entanto, alterar o /etc/nsswitch.conf não faz o truque para mim. eu tentei
- hosts: arquivos mdns4_minimal [NOTFOUND = return] dns myhostname # default
- hosts: arquivos dns
- hosts: arquivos mdns4_minimal [NOTFOUND = continue] dns myhostname
- hosts: arquivos mdns4 [NOTFOUND = return] dns myhostname
- hosts: arquivos mdns4 [NOTFOUND = continue] dns myhostname
- hosts: arquivos dns mdsn4_minimal myhostname
- hosts: dns
- alguns outros
Nenhum dos quais funcionou. Também tentei reiniciar após uma alteração. Tentei dizer ao avahi que o nome do domínio = alocal no /etc/avahi/avahi-daemon.conf, não funcionou após a reinicialização do serviço, não funcionou após a reinicialização. Depois que isso não funcionou, tentei desativar completamente o serviço avahi-daemon.
sudo systemctl disable avahi-daemon
Após uma reinicialização, tentei algumas permutações no /etc/nsswitch.conf novamente, sem nenhum efeito.
com minhas configurações atuais em hosts (arquivos dns), recebo esta resposta:
dig login.name.local # not the actual name
; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33538
;; flags: qr rd ra; QUERY: 1, ANSWER:0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;login.name.local. 0 IN A
;; Query time: 2msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE rcvd: 56
No entanto, quando instruo o Dig a consultar o servidor diretamente, recebo a resposta correta:
dig @dnsIP login.name.local
; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57866
;; flags: qr aa rd ra; QUERY: 1, ANSWER:1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;login.name.local. 0 IN A
;; ANSWER SECTION:
login.name.local. 3600 IN A serverIP
;; Query time: 2msec
;; SERVER: dnsIP#53(dnsIP)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE rcvd: 56
Esta versão do Ubuntu usa o netplan com o gerenciador de rede. O IP DNS correto está definitivamente na lista. (na verdade, é o DNS primário.) Além disso, o dnsIp é o mesmo que serverIP, mas isso não deve ser um problema.
Faça ping ou conecte-se via navegador e isso não funciona, é claro. Nenhum usa a consulta DNS.
Estou sem saber o que fazer. Certamente não podemos mudar para um nome de domínio diferente. Coloquei o nome do servidor em / etc / hosts, mas isso é apenas uma solução temporária.