Сбой поиска DNS только на определенных сайтах при использовании Arch Linux

411
fireballs

Название попадает в суть проблемы. Я предоставлю больше информации, хотя.

Я установил Arch Linux на свой ноутбук, и до недавнего времени все шло хорошо. Я использовал Netctl для подключения к Wi-Fi, который прошел гладко. Недавно я начал работу, и сеть моего рабочего места использует WPA2 Enterprise, поэтому я обнаружил, что проще напрямую использовать wpa_supplicant для подключения к сети. Однако, как только я это сделал, у меня начались проблемы с DNS. Большинство сайтов загружались бы нормально, но некоторые, такие как archlinux.org и wikipedia, не могли загрузить хром, возвращая DNS_PROBE_FINISHED_NXDOMAINошибки. Я также не мог пинговать их по имени хоста, но я мог по IP.

Это, конечно, заставило меня подумать, что существует проблема с DNS-сервером, предоставляемым моим маршрутизатором на работе, поэтому я создал файл, /etc/resolv.conf.headчтобы включить публичный DNS-сервер Google в мой /etc/resolv.confфайл. Затем я побежал sudo nscd -i hostsи перезапустился, и все немного улучшилось. После этого я смог по крайней мере получить доступ к этим страницам, но время поиска было ужасным для каждого сайта (~ 5 секунд). Нужно сделать работу, я с этим согласился.

Сейчас дома я сталкиваюсь с теми же проблемами, что вызывает недоумение. Я подключен к своему домашнему Wi-Fi, используя тот же netctlпрофиль, который я использовал без проблем. Я подумал, что, возможно, каким-то образом DNS Google сейчас вызывает проблему, поэтому я удалил созданный мной файл .head, чтобы устранить проблему на работе. Я все еще не могу загрузить такие же веб-страницы, как википедия. Я включил DNS Google в хвостовой файл. Вот мой resolv.confфайл:

#Generated by resolvconf domain hsdl.il.comcast.net nameserver 75.75.75.75 nameserver 75.75.76.76 nameserver 8.8.8.8 nameserver 8.8.4.4 

Еще больше меня смущает то, что digпри принудительном поиске DNS для одного из проблемных сайтов ошибка не возвращается.

; <<>> DiG 9.13.3 <<>> en.wikipedia.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 164 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;en.wikipedia.org. IN A  ;; ANSWER SECTION: en.wikipedia.org. 292 IN A 208.80.154.224  ;; Query time: 33 msec ;; SERVER: 75.75.75.75#53(75.75.75.75) ;; WHEN: Thu Oct 11 17:22:03 CDT 2018 ;; MSG SIZE rcvd: 61 

У меня несовершенное понимание этого материала, но это наводит меня на мысль, что я действительно смог определить имя хоста при использовании dig, но он по-прежнему не работает при пинге или в браузере.

Любые указатели здесь будут с благодарностью. Я знаю подобные вопросы здесь, но те, которые я прочитал, не помогли проблеме много.

Спасибо

0
Возможно, вы используете systemd-resolved? Он ведет себя немного иначе, чем dig (случайный сервер имен, использование DNSSEC, когда это возможно). Проверьте системные журналы, особенно на наличие ошибок DNSSEC. grawity 6 лет назад 1
Первое, что я бы попробовал, это сбросить Comcast DNS. Попробуйте 1.1.1.1 и 1.0.0.1 (cloudflare) с google для резервного копирования и без Comcast. Tyson 6 лет назад 0

0 ответов на вопрос