Проблема с локальными DNS провайдера

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

Проблема с локальными DNS провайдера

Сообщение BratSinot »

Доброго времени суток!

Итого, в чем, собственно, проблема. Если в resolv.conf прописать DNS провайдера:

Код: Выделить всё

nameserver 192.168.68.1
nameserver 192.168.200.2


То начинаются проблемы с сетью. Например slackpkg update отказывается работать:

Код:

root@BratSinot: /etc # slackpkg update Updating the package lists... Downloading... Downloading http://mirror.rol.ru/slackware/slackware64...ChangeLog.txt... --2014-07-14 22:28:56-- http://mirror.rol.ru/slackware/slackware64...t/ChangeLog.txt Распознаётся mirror.rol.ru (mirror.rol.ru)...

И затыкается на этом месте.

wget тоже не работает (собственно поэтому slackpkg и не работает):

Код:

root@BratSinot: /tmp # wget https://www.kernel.org/pub/linux/kernel/v3....-3.14.12.tar.xz --2014-07-14 22:29:30-- https://www.kernel.org/pub/linux/kernel/v3....-3.14.12.tar.xz Распознаётся www.kernel.org (www.kernel.org)...


Причем slackyd -u работает и все скачивает!

Код:

root@BratSinot: /tmp # slackyd -f -u Repository: slackware [mirror.rol.ru] `- Downloading FILELIST.TXT [100 % @ 648.1 KB/s] `- Downloading CHECKSUMS.md5 [99 % @ 725.7 KB/s] `- Downloading PACKAGES.TXT [100 % @ 1170.7 KB/s] `- Downloading MANIFEST.bz2 [100 % @ 1384.9 KB/s] >> Uncompressing MANIFEST.bz2: done. `- Downloading patches PACKAGES.TXT [100 % @ 0.3 KB/s] `- Downloading patches MANIFEST.bz2 [100 % @ 0.0 KB/s] >> Uncompressing patches MANIFEST.bz2: done. `- Downloading extra PACKAGES.TXT [100 % @ 165.5 KB/s] `- Downloading extra MANIFEST.bz2 [100 % @ 181.5 KB/s] >> Uncompressing extra MANIFEST.bz2: done. Repository: slacky [slack.isper.sk] `- Downloading FILELIST.TXT [100 % @ 282.7 KB/s] `- Downloading PACKAGES.TXT [100 % @ 456.4 KB/s] `- Downloading CHECKSUMS.md5 [100 % @ 323.2 KB/s] `- Downloading MANIFEST.bz2 [100 % @ 1280.1 KB/s] >> Uncompressing MANIFEST.bz2: done.


curl не работает. ping работает и IP адрес от DNS'а получает:

Код:

root@BratSinot: /tmp # ping mirror.rol.ru PING mirror.rol.ru (194.67.1.114) 56(84) bytes of data. 64 bytes from portal.rol.ru (194.67.1.114): icmp_seq=1 ttl=116 time=13.5 ms 64 bytes from portal.rol.ru (194.67.1.114): icmp_seq=2 ttl=116 time=13.3 ms 64 bytes from portal.rol.ru (194.67.1.114): icmp_seq=3 ttl=116 time=13.3 ms 64 bytes from portal.rol.ru (194.67.1.114): icmp_seq=4 ttl=116 time=13.6 ms ^C --- mirror.rol.ru ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 13.378/13.490/13.627/0.134 ms


traceroute и Firefox тоже затыкаются.

Но, если долго подождать, то все начинается закачиваться, открываться и т.п.

Если в качестве DNS'а указать роутер (с теми-же DNS'ами), то тоже не работает. Однако, если прописать какой-нибудь DNS от Яндекса все работает без нареканий! Самое главное, что проблема проявляется только на моей Slackware на двух разных железках (проводной стационарник и беспроводной ноутбук), под Windows XP / 7 проблем нет.


В чем может быть проблема? Я просто даже представления не имею как DNS может влиять на саму сеть! Его задача же просто получить запрос на получение адреса и вернуть ответ? Система Slackware64-current с кастомным ядром (Reiser4, -ck, BFQ и native флаг).
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

Как вы думаете, что означают несколько строк nameserver в resolv.conf ?
man resolv.conf на этот счёт содержит следующее:
nameserver Name server IP address
Internet address (in dot notation) of a name server that the resolver should query. Up to MAXNS
(currently 3, see <resolv.h>) name servers may be listed, one per keyword. If there are multiple
servers, the resolver library queries them in the order listed. If no nameserver entries are
present, the default is to use the name server on the local machine. (The algorithm used is to
try a name server, and if the query times out, try the next, until out of name servers, then
repeat trying all the name servers until a maximum number of retries are made.)

Совпадает с ожидаемым?
Можно проверить разрешение имен указанными серверами через команду host, возможно от одного из DNS приходят кривые ответы.
Указание дополнительных nameserver задачу получения адресов от разных DNS с разными базами (интернет/локальная сеть) не решает, для этого настраивают сервис DNS на получение неизвестных адресов от вышестоящих серверов имён.

PS. Частенько при использовании провайдером PPTP для раздачи интернета после подъема соединения и смены шлюза по умолчанию, DNS, расположенные в локальной сети провайдера, становятся недоступными; для правильной работы требуется указывать статические маршруты до них. Не ваш случай?
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Проблема с локальными DNS провайдера

Сообщение BratSinot »

bormant писал(а):
15.07.2014 11:52
Как вы думаете, что означают несколько строк nameserver в resolv.conf ?
man resolv.conf на этот счёт содержит следующее:
nameserver Name server IP address
Internet address (in dot notation) of a name server that the resolver should query. Up to MAXNS
(currently 3, see <resolv.h>) name servers may be listed, one per keyword. If there are multiple
servers, the resolver library queries them in the order listed. If no nameserver entries are
present, the default is to use the name server on the local machine. (The algorithm used is to
try a name server, and if the query times out, try the next, until out of name servers, then
repeat trying all the name servers until a maximum number of retries are made.)

Совпадает с ожидаемым?
Можно проверить разрешение имен указанными серверами через команду host, возможно от одного из DNS приходят кривые ответы.
Указание дополнительных nameserver задачу получения адресов от разных DNS с разными базами (интернет/локальная сеть) не решает, для этого настраивают сервис DNS на получение неизвестных адресов от вышестоящих серверов имён.

PS. Частенько при использовании провайдером PPTP для раздачи интернета после подъема соединения и смены шлюза по умолчанию, DNS, расположенные в локальной сети провайдера, становятся недоступными; для правильной работы требуется указывать статические маршруты до них. Не ваш случай?

Эм... совпадает. В данном случае два DNS, получаем primary и secondary, или я что-то не так понял?
А статические маршруты на роутере прописаны.

А что до host'а:

Код:

root@BratSinot: /home/hacker # host google.com google.com has address 173.194.32.131 google.com has address 173.194.32.134 google.com has address 173.194.32.133 google.com has address 173.194.32.136 google.com has address 173.194.32.129 google.com has address 173.194.32.137 google.com has address 173.194.32.142 google.com has address 173.194.32.128 google.com has address 173.194.32.130 google.com has address 173.194.32.135 google.com has address 173.194.32.132 google.com has IPv6 address 2a00:1450:4010:c08::65 google.com mail is handled by 10 aspmx.l.google.com. google.com mail is handled by 30 alt2.aspmx.l.google.com. google.com mail is handled by 40 alt3.aspmx.l.google.com. google.com mail is handled by 20 alt1.aspmx.l.google.com. google.com mail is handled by 50 alt4.aspmx.l.google.com.

и локальные DNS:

Код:

root@BratSinot: /home/hacker # host google.com google.com has address 109.167.228.222 google.com has address 109.167.228.215 google.com has address 109.167.228.236 google.com has address 109.167.228.245 google.com has address 109.167.228.251 google.com has address 109.167.228.226 google.com has address 109.167.228.219 google.com has address 109.167.228.221 google.com has address 109.167.228.249 google.com has address 109.167.228.230 google.com has address 109.167.228.234 google.com has address 109.167.228.241 google.com has address 109.167.228.237 google.com has address 109.167.228.211 google.com has address 109.167.228.207 ;; connection timed out; no servers could be reached ;; connection timed out; no servers could be reached
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

Имелось в виду:

Код: Выделить всё

$ host www.kernel.org 8.8.8.8
в сравнении с

Код: Выделить всё

$ host www.kernel.org 192.168.68.1
$ host www.kernel.org 192.168.200.2
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Проблема с локальными DNS провайдера

Сообщение BratSinot »

bormant писал(а):
15.07.2014 14:56
Имелось в виду:

Код: Выделить всё

$ host www.kernel.org 8.8.8.8
в сравнении с

Код: Выделить всё

$ host www.kernel.org 192.168.68.1
$ host www.kernel.org 192.168.200.2


Код:

root@BratSinot: /home/hacker # host www.kernel.org 8.8.8.8 Using domain server: Name: 8.8.8.8 Address: 8.8.8.8#53 Aliases: www.kernel.org is an alias for pub.all.kernel.org. pub.all.kernel.org has address 198.145.20.140 pub.all.kernel.org has address 149.20.4.69 pub.all.kernel.org has address 199.204.44.194 pub.all.kernel.org has IPv6 address 2001:4f8:1:10:0:1991:8:25

Код:

root@BratSinot: /home/hacker # host www.kernel.org 192.168.68.1 Using domain server: Name: 192.168.68.1 Address: 192.168.68.1#53 Aliases: www.kernel.org is an alias for pub.all.kernel.org. pub.all.kernel.org has address 149.20.4.69 pub.all.kernel.org has address 199.204.44.194 pub.all.kernel.org has address 198.145.20.140 ;; connection timed out; no servers could be reached ;; connection timed out; no servers could be reached

Код:

hacker@BratSinot: ~ # host www.kernel.org 192.168.200.2 ;; connection timed out; no servers could be reached
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

192.168.200.2 по тем или иным причинам недоступен, уберите его упоминание из resolv.conf. Если соберетесь возвращать -- не ранее чем обеспечите доступность и работоспособность.
primary и secondary серверы DNS -- это несколько из другой оперы, касается функционирования серверов имён (а не клиентов), управляет тем, кто содержит основные данные зоны, и кто её реплицирует её к себе.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

BratSinot
так чем дело-то закончилось?
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Проблема с локальными DNS провайдера

Сообщение BratSinot »

bormant писал(а):
17.07.2014 17:39
BratSinot
так чем дело-то закончилось?

Ну я решил оставить DNS'ы Яндекса :laugh:
Ибо в данном случае пинг 1мс и 17мс большой погоды не сделают (особенно на фоне кэша), поэтому я даже заморачиваться не стал, т.к. даже если оставить один только 192.168.68.1 проблема таже.

Итого, из всего этого я узнал две вещи:
  • У моего провайдера из двух DNS рабочий только один (под Windows проверил второй, и он тоже не работает).
  • Очень удивился тому, что под GNU/Linux DNS может влият на сеть, ибо как он может "задерживать" пересылку пакетов, если адрес получен?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21253
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Проблема с локальными DNS провайдера

Сообщение Bizdelnick »

BratSinot писал(а):
17.07.2014 17:47
Очень удивился тому, что под GNU/Linux DNS может влият на сеть, ибо как он может "задерживать" пересылку пакетов, если адрес получен?

Откуда это следует? В Ваших примерах из первого сообщения затык именно на получении адреса.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Проблема с локальными DNS провайдера

Сообщение BratSinot »

Bizdelnick писал(а):
17.07.2014 17:55
BratSinot писал(а):
17.07.2014 17:47
Очень удивился тому, что под GNU/Linux DNS может влият на сеть, ибо как он может "задерживать" пересылку пакетов, если адрес получен?

Откуда это следует? В Ваших примерах из первого сообщения затык именно на получении адреса.

Следует это из того, что когда запускается команда ping адрес получается и ICPM пакеты летают. А еще slackpkg/wget/curl не работают, а slackyd работает (с одним сервером и протоколом)!

Яндекс.DNS:

Код:

root@BratSinot: /home/hacker # ping google.com PING google.com (173.194.32.134) 56(84) bytes of data. 64 bytes from 173.194.32.134: icmp_seq=1 ttl=55 time=16.6 ms 64 bytes from 173.194.32.134: icmp_seq=2 ttl=55 time=15.8 ms 64 bytes from 173.194.32.134: icmp_seq=3 ttl=55 time=15.7 ms 64 bytes from 173.194.32.134: icmp_seq=4 ttl=55 time=15.9 ms


Локальные:

Код:

root@BratSinot: /home/hacker # ping google.com PING google.com (109.167.228.226) 56(84) bytes of data. 64 bytes from 109-167-228-226.westcall.net (109.167.228.226): icmp_seq=1 ttl=58 time=2.56 ms 64 bytes from 109-167-228-226.westcall.net (109.167.228.226): icmp_seq=2 ttl=58 time=2.57 ms 64 bytes from 109-167-228-226.westcall.net (109.167.228.226): icmp_seq=3 ttl=58 time=2.63 ms 64 bytes from 109-167-228-226.westcall.net (109.167.228.226): icmp_seq=4 ttl=58 time=2.60 ms
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21253
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Проблема с локальными DNS провайдера

Сообщение Bizdelnick »

И?..
У Вас было прописано два DNS, из которых один нерабочий. Из приведённого видно, что разные программы по-разному работают с DNS. Но где тут видны какие-то ещё проблемы с сетью?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

BratSinot
полагаю, ping -n даст одинаковые результаты ;-)
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Проблема с локальными DNS провайдера

Сообщение BratSinot »

Bizdelnick писал(а):
17.07.2014 18:23
И?..
У Вас было прописано два DNS, из которых один нерабочий. Из приведённого видно, что разные программы по-разному работают с DNS. Но где тут видны какие-то ещё проблемы с сетью?

В качество локального были прописаны и два, и один (проверены оба), проблема никуда не исчезала.
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Проблема с локальными DNS провайдера

Сообщение Archangel »

Можно и мне просветиться на эту тему, недавно тоже плясал. Я обычно в роутере указываю два DNS - первый провайдера, второй гугловый(и потом они раздаются в домашнюю локалку по DHCP), на случай если у провайдера проблемы. Виндовсы и Андроиды в случае проблем с провайдерским сервером - продолжают работать через гугловый и я даже не замечаю этого, однако со Слакой такой фортель не проходит она упорно по каждому запросу пытается зарезолвить имена по первому серверу(т.е. провайдерскому нерабочему) и лишь после таймаута пробует следующий. В результате в браузерах страницы открываются 50 на 50, половина выпадает с 404 ошибкой и куча сервисов завязаных на инет тоже не работает.
Это так специально задумано? Какой тогда в этом смысл, зачем тогда список DNS-серверов, если запросы все равно раньше отваливаются по таймауту.
ЗЫ В результате спасает, если настроить чтобы при получении адреса и шлюза по DHCP Слака использовала DNS указанные статически.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

Archangel
как вариант, настроить кеширование имён локально, скажем, при помощи dnsmasq, и обеспечить в качестве первой строки resolv.conf
nameserver 127.0.0.1
Клиенты DHCP (они меняют resolv.conf) обычно имеют соответствующие настройки.

Сам резолвер можно заставить начинать не с первого сервера имён, а ходить по кругу (несовместимо с предыдущим предложением), но эта опция имеет несколько иное назначение -- распределять нагрузку между работающими серверами имён. Речь про
option rotate
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Проблема с локальными DNS провайдера

Сообщение bormant »

Пара таймаутов у BratSinot рабочего провайдерского DNS вызвана тем, что резолвер по умолчанию делает параллельные запросы адресов IPv4 и IPv6, а провайдерский сервер не отвечает на запросы IPv6.
Возможно, есть смысл в таком случае отключить IPv6.
Спасибо сказали: