Прокси-развлечение

Прокси-развлечение

Прокси-развлечение

Я создаю виртуальную машину Ubuntu 18.10 на моем хосте Windows 10 с помощью Vagrant с VMware Workstation 15.
Виртуальная машина, похоже, работает нормально, включая большую часть сетевого доступа.
Но с одним важным хостом мне не повезло:

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

(Когда я делаю то же самое в Cygwin на хосте Windows, все работает отлично.)

Чтодолженбыть причиной?DNS-серверы имен!

Однако тот, который systemd-resolve --statusсообщает мне, что использует ( "Current DNS Server: 8.8.4.4"на eth0, единственный интерфейс со значительными объемами RX и TX)работает хорошокогда я пробую это явно:

$ 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

но когда я прохожу Ubuntuлокальный прокси, запростерпит неудачу:

$ 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)

Видимо, 127.0.0.53он не делает то, что, по моему мнению, должен делать. (Заметьте, я новичок в сетевых технологиях.)
Что я упускаю?

Я даже не уверен, это больше вопрос Ubuntu или вопрос VMware. Или, может быть, вопрос Vagrant?
Вздрогнуть.

решение1

Это изменение на три байта!

В сети есть много сообщений об ошибках DNS в Ubuntu. Как и в ответе HackSlash, большинство ответов предлагают жестко закрепить предполагаемые серверы имен в /etc/resolv.conf. Но если я правильно понимаю, это отключит локальное кэширование, что кажется глупым и немного антисоциальным, поэтому я не хотел этого делать.

В чем проблема?

Я наконец нашел объяснение вhttps://superuser.com/a/1200745/372846: Ubuntu, systemd-resolvedпо-видимому, не может правильно обрабатывать серверы имен с использованием DNSSEC. Нужно отключить поддержку DNSSEC, и все будет хорошо.

Решение

В файле /etc/systemd/resolved.confзамените строку DNSSEC=yesна DNSSEC=no; затем перезапустите службу распознавания с помощью sudo systemctl restart systemd-resolved.

Мое оставшееся замешательство

В посте выше говорилось об Ubuntu 17.04, когда, по-видимому, systemd-resolvedUbuntu была довольно новой. Комментарий подэтот ответна тот же вопрос утверждает, что значение по умолчанию будет изменено на DNSSEC=noв более поздних версиях Ubuntu. Я на 18.10, и это все еще не произошло -- и полная возможность DNSSEC не появилась.Что за фигня?

решение2

На этот вопрос был дан ответ на askubuntu. Существует множество решений, которые рекомендуют вам установить другой резолвер.

В этом ответе говорится, что вам не нужно этого делать:

Если вы ищете быстрое и грубое решение, вы можете просто настроить systemd-resolved для использования ваших DNS-серверов глобально:

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

Затем перезагрузите компьютер systemd-resolved.serviceили выполните перезагрузку.

ПОЛНЫЙ ОПРОС И ОТВЕТЫ: https://askubuntu.com/questions/1012641/dns-set-to-systemds-127-0-0-53-how-to-change-permanently

Связанный контент