Отладка ошибки разрешения DNS

11

Я отлаживаю ошибку разрешения DNS для домена auth.otc.t-systems.comс сервером Cloudflare, но застрял. Странно то, что поиск завершается успешно / неудачно в зависимости от компьютера, на котором выполняется запрос, но я не могу понять, где конфигурация отличается.

Ошибка всегда со следующим сообщением: server can't find auth.otc.t-systems.com: SERVFAIL

1.1.1.1 это DNS Cloudflare.

Что я пробовал до сих пор:

  • Бег nslookup auth.otc.t-systems.com 1.1.1.1на разных машинах:
    • Он не работает на моей машине с рабочим и домашним интернетом (однако в обоих случаях это происходит с помощью DNS от Google).
    • Не получается на коллегах машина с работой интернета.
    • Это успешно в сеансе SSH к удаленному серверу.
  • Теперь я предположил бы, что в нашем рабочем Интернете есть какая-то странная конфигурация, которая приводит к сбою поиска. Однако я не знаю, что мне нужно искать, и я также нашел несколько онлайн-сервисов nslookup, которые также не работают:

Любые намеки, как я могу дальше отлаживать это?

Томас Обермюллер
источник
Вы также можете попробовать с 1.0.0.1или если у вас есть IPv6 2606:4700:4700::1111и 2606:4700:4700::1001они все CloudFlare тоже. Также посмотрите на blog.cloudflare.com/fixing-reachability-to-1-1-1-1-globally и его последний абзац, в котором описаны способы сообщения о проблеме.
Патрик Мевзек

Ответы:

10

Попробуйте использовать копать. Двадцать лет назад они пытались осудить nslookup, но сейчас он прочно укоренился в мышечной памяти и от него невозможно избавиться, но копать намного лучше. Например.

dig +trace auth.otc.t-systems.com @1.1.1.1

Проследим разрешение для вас полностью, и вы сможете увидеть, где они отличаются.

Sirch
источник
Спасибо, я не знал об nslookup. Я сейчас попробовал команду dig, и, как ни странно, она возвращает правильный ip на моей машине. Я разместил вывод команды на моей машине и на локальной машине здесь gist.github.com/thomas88/600d367387505a13223a5270c89eedda . Что бы ни делало копать, мой браузер (Chrome на Mac), кажется, больше соответствует nslookup - он не может разрешить адрес.
Томас Обермюллер
2
Существует нет оснований ожидать разных результатов между digи nslookupдля этого запроса. Однако, поскольку 1.1.1.1это произвольный адрес, результат может отличаться в зависимости от того, каким сервером обслуживается запрос.
Касперд
Chrome, будучи веб-клиентом, может перенаправить вас. Заголовок http ... curl -I <веб-страница, на которую вы пытаетесь добраться>, раскрывает что-либо о переадресации?
Сирх
Какой смысл использовать оба +traceи @1.1.1.1? Вы уверены, что понимаете, как эти опции работают вместе?
Бармар
1
Да, я уверен, что понимаю, как они работают вместе. Смысл использования @ <address> заключается в указании DNS-серверов, которые его клиент использует в двух местах. В приведенном примере его cloudflare, но если другой клиент использует другой DNS-сервер, он будет указан там. Например, где я нахожусь, адрес сервера в resolv.conf является корпоративным, но я все еще могу разрешить с 1.1.1.1
Sirch
3

Сетевые люди использовали в возрасте 1.1.1.1 как замену другому частному адресу в случайных интерфейсах AP коммутаторов / маршрутизаторов. (Я сам сейчас нахожусь в месте, где IP-адрес сотен беспроводных точек доступа публики 1.1.1.1)

Бьюсь об заклад, мои деньги на машинах, с которыми вы не можете поговорить с Cloufare 1.1.1.1, что у вас есть (немедленный) маршрут для такого интерфейса.

Например, в моем случае 1.1.1.1 дает мне мой IP-адрес:

$ sudo tcpdump -i any -n host 1.1.1.1 and port 67
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
13:11:51.037186 IP 1.1.1.1.67 > 10.x.x.x.68: BOOTP/DHCP, Reply, length 296
13:11:51.037250 IP 1.1.1.1.67 > 10.x.x.x.68: BOOTP/DHCP, Reply, length 296
Руи Ф Рибейро
источник
4
Вот почему RFC 3849 и RFC 5737 должны строго соблюдаться.
Касперд
1
«Слишком низко» - хитрая основа для определения чего-либо. В Cloudflare есть много точек доступа. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=1.30 msмой RTT к реальной вещи.
Хакан Линдквист
@ HåkanLindqvist Ваше значение действительно , кажется слишком низкой задержки для внешнего соединения .... но да, не надежный показатель.
Руи Ф Рибейро
@RuiFRibeiro Задержка, похоже, подходит для подключения в одном городе без использования каналов с высокой задержкой. (Traceroute показывает 4 адреса в моем интернет-провайдере, адрес Cloudflare на интернет-обмене в моем городе, затем 1.1.1.1.)
Håkan Lindqvist
Кажется, что я могу добраться до Cloudflare DNS, но для домена мне это не удается. Я запустил nslookup для auth.otc.t-systems.comи serverfault.com. Вот результат tcpdump: gist.github.com/thomas88/03acc781f45c9427863b1876c75acb4d
Томас Обермюллер,