Diversão por procuração

Diversão por procuração

Diversão por procuração

Eu crio uma máquina virtual Ubuntu 18.10 em meu host Windows 10 usando Vagrant com VMware Workstation 15.
A VM parece funcionar bem, incluindo a maior parte do acesso à rede.
Mas para um anfitrião importante não tenho sorte:

$ ping -c 4 production.cloudflare.docker.com
ping: production.cloudflare.docker.com: Temporary failure in name resolution

(Quando faço exatamente a mesma coisa no Cygwin no host do Windows, funciona perfeitamente.)

O quedeveser o motivo?Servidores de nomes DNS!

Porém, aquele que systemd-resolve --statusme diz que está usando ( "Current DNS Server: 8.8.4.4"on eth0, a única interface com quantidades consideráveis ​​de RX e TX)funciona bemquando tento explicitamente:

$ dig @8.8.4.4 production.cloudflare.docker.com

; <<>> DiG 9.11.4-3ubuntu5.1-Ubuntu <<>> @8.8.4.4 production.cloudflare.docker.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45235
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
[...]
production.cloudflare.docker.com. 117 IN A      104.18.122.25
production.cloudflare.docker.com. 117 IN A      104.18.121.25
production.cloudflare.docker.com. 117 IN A      104.18.125.25
production.cloudflare.docker.com. 117 IN A      104.18.124.25
production.cloudflare.docker.com. 117 IN A      104.18.123.25

mas quando eu passo pelo Ubuntuproxy local, A perguntafalhar:

$ dig production.cloudflare.docker.com

; <<>> DiG 9.11.4-3ubuntu5.1-Ubuntu <<>> production.cloudflare.docker.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 60815
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
[...]
;; SERVER: 127.0.0.53#53(127.0.0.53)

Aparentemente, 127.0.0.53não está fazendo o que acho que deveria. (Observe que sou um novato em redes.)
o que estou perdendo?

Eu nem tenho certeza se isso é mais uma questão do Ubuntu ou do VMware. Ou uma pergunta do Vagrant, talvez?
Estremecer.

Responder1

É uma mudança de três bytes!

Existem muitos relatos de falhas de DNS do Ubuntu na web. Como a resposta do HackSlash, a maioria das respostas sugere conectar os servidores de nomes pretendidos ao /etc/resolv.conf. Mas se bem entendi, isso desabilitará o cache local, o que parece bobo e um pouco anti-social, então eu não queria fazer isso.

Qual é o problema?

Finalmente encontrei a explicação emhttps://superuser.com/a/1200745/372846: Aparentemente, o Ubuntu systemd-resolvednão consegue lidar adequadamente com servidores de nomes usando DNSSEC. É preciso desligar o suporte DNSSEC e tudo ficará bem.

Solução

No arquivo /etc/systemd/resolved.conf, substitua a linha DNSSEC=yespor DNSSEC=no; em seguida, reinicie o serviço de resolução por sudo systemctl restart systemd-resolved.

Minha confusão restante

O post acima falava sobre o Ubuntu 17.04, quando aparentemente systemd-resolvedera bastante novo no Ubuntu. Um comentário abaixoesta respostaà mesma pergunta afirma que o padrão será alterado DNSSEC=noem versões posteriores do Ubuntu. Estou no dia 18.10 e isso ainda não aconteceu - nem a capacidade completa de DNSSEC apareceu.O que é isso?

Responder2

Isso foi respondido no askubuntu. Existem muitas soluções que recomendam a instalação de um resolvedor diferente.

Esta resposta diz que você não precisa fazer isso:

se você está procurando uma solução rápida e suja, basta configurar o systemd-resolved para usar seus servidores DNS globalmente:

$ cat /etc/systemd/resolved.conf
<...>
[Resolve]
DNS=8.8.8.8 8.8.4.4
<...>

Em seguida, reinicie systemd-resolved.serviceou reinicie.

Perguntas e respostas completas: https://askubuntu.com/questions/1012641/dns-set-to-systemds-127-0-0-53-how-to-change-permanently

informação relacionada