Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC
Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

(решено) Что-то не так с резолвом адресов локалки провайдера.

Соединение с провом STATIC на WAN и PPPoE для интернета.

Суть проблемы в том, что на самом роутере локалка прова резолвится нормально, а с компа - фигвам:

[Asus@/]# cat /etc/resolv.conf
domain Asus.lo
nameserver 10.4.0.1
nameserver 176.103.130.130
nameserver 176.103.130.131

[Asus@/]# cat /etc/ppp/resolv.conf
nameserver 176.103.130.130
nameserver 176.103.130.131

[Asus@/]# cat /tmp/resolv.conf.tmp.ppp0
domain Asus.lo
nameserver 10.4.0.1

[Asus@/]# cat /tmp/resolv.ppp0
domain Asus.lo
nameserver 10.4.0.1
nameserver 176.103.130.130
nameserver 176.103.130.131

[Asus@/]# nslookup tv3.esilnet.com
Server:    10.4.0.1
Address 1: 10.4.0.1 server.esilnet.com

Name:      tv3.esilnet.com
Address 1: 10.4.0.15

[Asus@/]# nslookup tv.esilnet.com
Server:    10.4.0.1
Address 1: 10.4.0.1 server.esilnet.com

Name:      tv.esilnet.com
Address 1: 10.4.0.12
Address 2: 10.4.0.15

а с компа:

D:\Utils\PuTTy>nslookup tv1.esilnet.com
╤хЁтхЁ:  Asus.lo
Address:  192.168.74.1
*** Asus.lo не удалось найти tv1.esilnet.com: Non-existent domain

D:\Utils\PuTTy>nslookup tv.esilnet.com
╤хЁтхЁ:  Asus.lo
Address:  192.168.74.1
*** Asus.lo не удалось найти tv.esilnet.com: Non-existent domain

D:\Utils\PuTTy>nslookup tv3.esilnet.com
╤хЁтхЁ:  Asus.lo
Address:  192.168.74.1
*** Asus.lo не удалось найти tv3.esilnet.com: Non-existent domain

Конфиг прилагаю.

PS. Ситуацию спасает прописывание server=/esilnet.com/10.4.0.1, что по идее лишнее, так как этот днс и так указан на статике WAN.

Загруженные файлы:
  • Вам нужно войти, чтобы просматривать прикрепленные файлы..

C включенным дебагом dnsmasq в логе есть что он этот 10.4.0.1 вообще юзает? Ну и может случиться так что 176е что-то dnsmasq отвечают такое что он на флаг --all-servers плюёт.

Записью server=/esilnet.com/10.4.0.1 вы тупо заставляете его для esilnet.com юзать только локальный dns провайдера. Т.е. остальные опрашивать он уже не будет.

Что там именно случается нужно смотреть в выводе дебага dnsmasq.

Чудеса в виде когда используются совместно и провайдерские и сторонние DNS с разным набором зон вот запросто могут быть. Тут настолько всё индивидуально.

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

Не вкуриваю как этот  dnsmasq с дебагом запустить, он походу этот ключ игнорирует.

При ручном запуске с -d вот что выдаёт:

[Asus@/]# cat /etc/resolv.conf
domain Asus.lo
nameserver 10.4.0.1
nameserver 176.103.130.130
nameserver 176.103.130.131
[Asus@/]# dnsmasq -d -N -c 512 --dns-forward-max=384 --no-poll --all-servers --clear-on-reload --leasefile-ro -u nobody -g nobody -C /etc/dnsmasq.conf
dnsmasq: started, version 2.80 cachesize 512
dnsmasq: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN no-DHCP no-scripts no-TFTP no-conntrack no-ipset no-auth DNSSEC no-loop-detect inotify no-dumpfile
dnsmasq: using nameserver 176.103.130.131#53
dnsmasq: using nameserver 176.103.130.130#53

Он почему-то 10.4.0.1 вообще не видит.

-r /etc/resolv.conf, -d -k начнёт валить ошибки на консоль.

Управление логированием.

-q, --log-queries                                      Log DNS queries.
-8, --log-facility=<facility>|<file>                   Log to this syslog facility or file. (defaults to DAEMON)
    --log-dhcp                                         Extra logging for DHCP.
    --log-async[=<integer>]                            Enable async. logging; optionally set queue length.
    --quiet-dhcp                                       Do not log routine DHCP.
    --quiet-dhcp6                                      Do not log routine DHCPv6.
    --quiet-ra                                         Do not log RA.

Ещё подрбнее - только пересборка с вклюенным дебагом.

В /etc/dnsmasq.d/diffsrv.conf случаем ничего нет? Потому как очень похоже что в настройках DNS задали альтернативные DNS ессно он добавил флаг в no-resolv и игнорит /etc/resolv.conf и будут юзаться только те адреса что заданы на странице DNS services.

Других объяснений почему игнорит запись в resolv.conf у меня нет, хоть с конфигом это никак не совпадает.

В /etc/dnsmasq.d/diffsrv.conf случаем ничего нет?

Было два провайдерских нэймсервера и норезолв... Откуда они там? и что это за файл?

Удалил его и с компа начало всё резолвится. Для чего этот файл служит?

Альтернативку задавал до этого, но удалил когда обнаружил что нет доступа к сети прова. Правда делал fs save между экспериментами.

Выходит сам виноват.... Посыпаю голову пеплом.

Тогда закрывайте тему.

Ради проверки добавил у себя в лоб строку в /etc/resolv.conf

[SF1@/]# dnsmasq -d -k -N -c 512 --dns-forward-max=384 --no-poll --all-servers --clear-on-reload --leasefile-ro -u nobody -g nobody -C /etc/dnsmasq.conf
dnsmasq: started, version 2.80 cachesize 512
dnsmasq: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN no-DHCP no-scripts no-TFTP no-conntrack no-ipset no-auth DNSSEC no-loop-detect inotify no-dumpfile
dnsmasq: read /etc/hosts - 9 addresses
dnsmasq: using nameserver 10.4.0.1#53
dnsmasq: using nameserver 217.24.176.230#53
dnsmasq: using nameserver 217.24.177.2#53
dnsmasq: using nameserver 2a00:1c70:1111:200::2#53
dnsmasq: using nameserver 2a00:1c70:1111:2::2#53

Не вижу проблемы.

А в каком случае создаётся этот злополучный diffsrv.conf? И для чего этот файл?

Цитата: RoxsAndy от 07/03/2019, 23:06

В /etc/dnsmasq.d/diffsrv.conf случаем ничего нет?

Было два провайдерских нэймсервера и норезолв... Откуда они там? и что это за файл?

Удалил его и с компа начало всё резолвится. Для чего этот файл служит?

Из морды они из раздела DNS services альтернативные DNS. Позволяют использовать на роутере одни адреса для резолва а для dnsmasq другие.

Основной кейз тут на фооуме в виде когда для доступа в инет например у корбилайна нужно резолвить одни адреса через одни сервера, а хочется например dnssec или просто внешние юзать не ломая на доступе L2TP.

Сами они там взяться не могли ни откуда ибо грохаются каждый service dnserver stop/restart

Цитата: RoxsAndy от 07/03/2019, 23:11

А в каком случае создаётся этот злополучный diffsrv.conf? И для чего этот файл?

Статьи для кого пишуться? Там каждая опция расписывается из новых? Аж 2шт по DNS.

И злополучный тут совсем не файл. А вот что вы делали что бы получить его там а в конфиге мне присланном нет вот это уже вопрос. В штатной логике это не реально т.к. оно каждый раз прибивается при рестарте dnsmasq и только если заданы в nvram генеряться снова.

gen_diff_dns() {                                                                                                                                                            
    if [ "$dns_diffsrv" != "" ]; then                                                                                                                                       
        echo "no-resolv" > /etc/dnsmasq.d/diffsrv.conf                                                                                                                      
        for srv in $dns_diffsrv ; do                                                                                                                                        
            echo "server=$srv" >> /etc/dnsmasq.d/diffsrv.conf                                                                                                               
        done                                                                                                                                                                
    fi                                                                                                                                                                      
}                                                                                                                                                                           

 

Да это место в сырцах я нашёл, только вот :

[Asus@/]# nvram_show 2860 all | grep diffsrv
dns_diffsrv=

И не пойму, откуда это чудо взялось и почему не удалилось.

Одно объяснение - где-то между сделал fs save и они сохранились вместе с файлом.

Ну дык перед тем как репортить банальный reboot нет? Там оно один фиг прибилось бы при загрузке по первому service dnsserver restart

К сожалению после fs save не прибивается. Вернее прибивается по stop, а так как в rwfs файл при reboot есть, то он тупо применяется как конфиг.

В общем сам виноват. Тему можно закрыть.

Точно там же релоад есть. Ну щас сделаем что бы прибивался. Сделал. Как бы не бага но лучше предусмотреть.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: