Друзья, привет всем! Подскажите есть ли выход из проблемы. Есть у меня интернет, а поверх него vpn в частную сеть компании. Есть также bind, который запросы к зонам компании форвардит либо на серые dns через vpn, либо на белые dns компании (можно через vpn, можно напрямую).
Трабл в том, что с запросами типа printer.localcompany все нормально, vpn отвалился — запросы не разрешатся, не страшно. Но есть еще запросы вроде srv.company.ru, бОльшая часть из которых нормально разрешается. Почему не все? Дак вот вот есть такие адреса, к примеру hidden-srv-73.company.ru, при запросе которых белый dns говорит, что ничего нет, а если спросить у серого DNS, то получается серый адрес.
Форвардинг у меня описан навроде так:
Тобишь при запросе srv1.company.ru будет опрошен один из этих серверов (если bind не найдет из своего кэша). Дак вот трабл в том, что если я сделаю запрос например на secret-srv-37.company.ru, то белые dns говорят, что такого адреса нет и bind даже не пытается опрашивать других по списку, заявляя, что адрес не найден. И тут его логику мне совершенно не понять. Если он сразу спросит у серого dns — нате адрес, у белого — фиг на масло. А опрашивает сервера он по своей логике и очень часто не находит адрес.
Я даже не знаю что делать и как с этим бороться. Очевидным решением проблемы кажется убрать из списка forwarders белые dns компании и все запрашивать у первых двух. Но при таком раскладе при падении vpn bind не сможет разрешить имена из домена company.ru, даже которые доступны извне по белым адресам. То есть если зона описана у меня как forward, то при невозможности опросить dns из списка forwarders bind просто ничего не делает, сам разрешить имя не пытается.
Вот такой вот замкнутый круг. Что делать — непонятно. А vpn-соединение бывает таки падает.
Раньше все было нормально, у головной конторы были два DNS, которые отвечали на запросы как изнутри сети, так и снаружи, выдавая адреса. Если изнутри — получай серый адрес, с наружи — фигу, только если ресурс недоступен извне. А сейчас сделали 2 dns для внутрисетевых запросов и 2 для внешних. Вот и случился у меня трабл.
zone «0.0.10.in-addr.arpa» < type master; file «m/0.0.10.in-addr.arpa»; >;
$TTL 3600 ; 1 hour deadworld.home. IN SOA ns1.deadworld.home. email. ( 20116051503 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) ;NS IN NS ns1.deadworld.home.
;Machine Names ns1 IN A 10.0.0.25 kukan IN A 10.0.0.3 bsd IN A 10.0.0.25 gate IN A 10.0.0.1
$TTL 3600 ; 1 hour 1.0.0.10.in-addr.arpa. IN SOA ns1.deadworld.home. email. ( 201167815076 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) IN NS ns1.deadworld.home.
;Arpa Zones 1 IN PTR gate.deadworld.home. 25 IN PTR ns1.deadworld.home. 3 IN PTR kukan.deadworld.home. 25 IN PTR bsd.deadworld.home.
собственно если сделать host и nslookup:
localhost# host 10.0.0.3 Host 3.0.0.10.in-addr.arpa. not found: 3(NXDOMAIN) localhost# nslookup 10.0.0.3 ;; Got SERVFAIL reply from 10.0.0.25, trying next server ;; Got SERVFAIL reply from 10.0.0.25, trying next server Server: 8.8.8.8 Address: 8.8.8.8#53
** server can’t find 3.0.0.10.in-addr.arpa.: NXDOMAIN
в /var/log/named.log ничего не пишется.
собствеено вопрос: что я сделал не так . подскажите пожалуйста куда копать ?
Ответить | Правка | Cообщить модератору
Оглавление
не работает DNS сервер bind9, shadow_alone, 14:19 , 27-Окт-11, ( 1 )
не работает DNS сервер bind9, reader, 14:58 , 27-Окт-11, ( 2 ) +1
не работает DNS сервер bind9, Дядя_Федор, 16:17 , 27-Окт-11, ( 3 )
не работает DNS сервер bind9, fatal4way, 16:40 , 27-Окт-11, ( 4 ) –1
не работает DNS сервер bind9, shadow_alone, 16:42 , 27-Окт-11, ( 5 )
не работает DNS сервер bind9, Дядя_Федор, 17:21 , 27-Окт-11, ( 6 )
не работает DNS сервер bind9, fatal4way, 17:33 , 27-Окт-11, ( 7 )
не работает DNS сервер bind9, lavr, 19:00 , 27-Окт-11, ( 8 )
не работает DNS сервер bind9, fatal4way, 19:13 , 27-Окт-11, ( 9 )
не работает DNS сервер bind9, lavr, 08:48 , 28-Окт-11, ( 13 )
не работает DNS сервер bind9, Дядя_Федор, 09:24 , 28-Окт-11, ( 15 )
не работает DNS сервер bind9, lavr, 10:36 , 28-Окт-11, ( 16 )
не работает DNS сервер bind9, fatal4way, 14:11 , 28-Окт-11, ( 17 )
не работает DNS сервер bind9, lavr, 15:16 , 28-Окт-11, ( 18 )
не работает DNS сервер bind9, fatal4way, 16:44 , 28-Окт-11, ( 22 )
не работает DNS сервер bind9, lavr, 17:01 , 28-Окт-11, ( 23 )
не работает DNS сервер bind9, Дядя_Федор, 16:00 , 28-Окт-11, ( 20 )
не работает DNS сервер bind9, lavr, 16:38 , 28-Окт-11, ( 21 )
не работает DNS сервер bind9, Дядя_Федор, 17:05 , 28-Окт-11, ( 24 )
не работает DNS сервер bind9, mr_gfd, 03:59 , 28-Окт-11, ( 10 )
не работает DNS сервер bind9, mr_gfd, 04:02 , 28-Окт-11, ( 11 )
не работает DNS сервер bind9, mr_gfd, 04:03 , 28-Окт-11, ( 12 )
не работает DNS сервер bind9, Дядя_Федор, 09:22 , 28-Окт-11, ( 14 )
не работает DNS сервер bind9, mr_gfd, 15:45 , 28-Окт-11, ( 19 )
Сообщения по теме
[Сортировка по времени | RSS]
1 . «не работает DNS сервер bind9»
+ / –
Сообщение от shadow_alone (ok) on 27-Окт-11, 14:19
А Вы что, сами не видите куда обращается Ваш запрос?
Попутно хотелось бы от автора вопроса услышать — ЧТО он в итоге получить бы хотел? 🙂 А то есть у меня устойчивое ощущение, что он ожидает, обратившись к гугловскому ДНСу, увидеть там свою обратную зону. 🙂 При том, что там и есть-то 10. /24
> Попутно хотелось бы от автора вопроса услышать — ЧТО он в итоге > получить бы хотел? 🙂 А то есть у меня устойчивое ощущение, > что он ожидает, обратившись к гугловскому ДНСу, увидеть там свою обратную > зону. 🙂 При том, что там и есть-то 10. /24
у меня прописано 2 днса localhost# cat /etc/resolv.conf nameserver 10.0.0.25 nameserver 8.8.8.8
я хотел бы понять, почему при:
localhost# nslookup 10.0.0.3 ;; Got SERVFAIL reply from 10.0.0.25, trying next server ;; Got SERVFAIL reply from 10.0.0.25, trying next server Server: 8.8.8.8 Address: 8.8.8.8#53
** server can’t find 3.0.0.10.in-addr.arpa.: NXDOMAIN
;; Got SERVFAIL reply from 10.0.0.25, trying next server ;; Got SERVFAIL reply from 10.0.0.25, trying next server
>[оверквотинг удален] > я хотел бы понять, почему при: > localhost# nslookup 10.0.0.3 > ;; Got SERVFAIL reply from 10.0.0.25, trying next server > ;; Got SERVFAIL reply from 10.0.0.25, trying next server > Server: 8.8.8.8 > Address: 8.8.8.8#53 > ** server can’t find 3.0.0.10.in-addr.arpa.: NXDOMAIN > появляется: > ;; Got SERVFAIL reply from 10.0.0.25, trying next server > ;; Got SERVFAIL reply from 10.0.0.25, trying next server
в resolv.conf оставьте только 10.0.0.25 и покажите вывод sockstat или netstat или lsof в плане listen портов 53/953
>[оверквотинг удален] >> ;; Got SERVFAIL reply from 10.0.0.25, trying next server >> Server: 8.8.8.8 >> Address: 8.8.8.8#53 >> ** server can’t find 3.0.0.10.in-addr.arpa.: NXDOMAIN >> появляется: >> ;; Got SERVFAIL reply from 10.0.0.25, trying next server >> ;; Got SERVFAIL reply from 10.0.0.25, trying next server > в resolv.conf оставьте только 10.0.0.25 > и покажите вывод sockstat или netstat или lsof в плане listen портов > 53/953
localhost# sockstat -4 | grep named bind named 69792 20 tcp4 10.0.0.25:53 *:* bind named 69792 21 tcp4 127.0.0.1:53 *:* bind named 69792 22 tcp4 127.0.0.1:953 *:* bind named 69792 512 udp4 10.0.0.25:53 *:* bind named 69792 513 udp4 127.0.0.1:53 *:*
1) в /etc/resolv.conf оставьте только ip-address вашего ns-сервера 2) закоментарьте в named.conf forwarders 3) замените в named.conf localhost на 127.0.0.1 (хоть тут у вас и нет проблем но на будущее — это неудачный подход при конфигурировании, ибо у вас мб элементарно не настроен /etc/hosts) 4) перегрузите named и покажите: — /var/log/messages — вывод
# nslookup -q=ns domain. # nslookup -q=soa domain. # nslookup -q=a host.domain. где в качестве host задайте по очереди два или три имени хоста из вашей зоны, в качестве domain — имя вашей зоны
все верхнее выполняйте прямо на вашем nameserver’е
Лавр, Вы, как всегда исчерпывающе точны. 🙂 От себя просто добавлю, что лучше все-таки, при работе с ДНС пользоваться dig. Как более мощной утилитой. Но это так — в качестве уточнения/дополнения — не более того.
> Лавр, Вы, как всегда исчерпывающе точны. 🙂 От себя просто добавлю, что > лучше все-таки, при работе с ДНС пользоваться dig. Как более мощной > утилитой. Но это так — в качестве уточнения/дополнения — не более > того.
да можно и dig и host, важно понимание того что делаешь и как делаешь, а инструмент лишь помогает, без знания и понимания все равно что в качестве инструмента
бесспорно dig и host более мощные и удобные инструменты, полностью согласен
>[оверквотинг удален] > 4) перегрузите named и покажите: > — /var/log/messages > — вывод > # nslookup -q=ns domain. > # nslookup -q=soa domain. > # nslookup -q=a host.domain. > где в качестве host задайте по очереди два или три имени хоста > из вашей зоны, > в качестве domain — имя вашей зоны > все верхнее выполняйте прямо на вашем nameserver’е
внес указанные вами изменения в /etc/resolv.conf и named.conf вот результаты:
>[оверквотинг удален] >> localhost# nslookup -q=a kukan.deadworld.home >> Server: 10.0.0.25 >> Address: 10.0.0.25#53 >> ** server can’t find kukan.deadworld.home: SERVFAIL >> localhost# host ns1.deadworld.home >> Host ns1.deadworld.home not found: 2(SERVFAIL) > верхнее говорит о том что неверно настроен bind9, конфиги и зоны, > пока логов не будет, смысла дальше что-либо выяснять нет > проверьте конфиги утилитами: > named-checkconf и named-checkzone
большое вам спасибо, проверка конфигов зон с помощью named-checkzone, показала, что у меня ошибки в полях serial, я так понял, что у меня это число слишком длинное, после приведения этих значений к виду 2006051501, все заработало, еще раз спасибо !
>[оверквотинг удален] >>> localhost# host ns1.deadworld.home >>> Host ns1.deadworld.home not found: 2(SERVFAIL) >> верхнее говорит о том что неверно настроен bind9, конфиги и зоны, >> пока логов не будет, смысла дальше что-либо выяснять нет >> проверьте конфиги утилитами: >> named-checkconf и named-checkzone > большое вам спасибо, проверка конфигов зон с помощью named-checkzone, показала, что у > меня ошибки в полях serial, я так понял, что у меня > это число слишком длинное, после приведения этих значений к виду 2006051501, > все заработало, еще раз спасибо !
да не на чем, serial может быть задан двумя разными вариантами: в сквозном порядке, с обнулением по достижению макс integer и так по кругу, либо в виде yyyymmddnn где yyyy — год, например 2011, mm — месяц, например 10, dd — день, 28, nn — номер изменения от 01 до 99. Изменение в SERIAL говорит о том что данные в зоне изменились и благодаря этому secondary скачивает с primary изменения (notify + a(i)xfr)
Эхе-хе. Ликбез по работе с ДНС продолжается. 🙂 Есть еще одна утилита. Она называется rndc. Естественно, man rndc, rndc —help. Вот для примера вывод с одного из моих ДНС: ———— rndc status version: 9.7.3-P3 (My VERSION) number of zones: 165 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 27/0/1000 tcp clients: 0/100 server is up and running —————— Да и в самом named.conf просто вагон и маленькая тележка конфигурационных параметров. Вплоть до того, что в логах будут писаться ВСЕ запросы, которые обрабатывает сервер.
>[оверквотинг удален] > xfers deferred: 0 > soa queries in progress: 0 > query logging is OFF > recursive clients: 27/0/1000 > tcp clients: 0/100 > server is up and running > —————— > Да и в самом named.conf просто вагон и маленькая тележка конфигурационных параметров. > Вплоть до того, что в логах будут писаться ВСЕ запросы, которые > обрабатывает сервер.
Зато у него теперь есть направление — куда стремиться. 🙂 Ну и в качестве небольшого совета-помощи. Приведу в качестве примера кусочек своего конфига ДНС-сервера, в свое время чуть покопался с конфигом named. Возможно — что-то автору окажется полезно. ————— logging < channel my_syslog < syslog local3 ; >;
>> и сообщения еще в /var/log/messages быть должны. > Cудя по вот это строке его конфига >> file «/var/log/named.log» versions 2 size 10m; > все-таки в другом файле. 🙂