LINUX.ORG.RU
ФорумAdmin

[Решено] BIND forwarders, замучался уже

 ,


0

1

Друзья, привет всем! Подскажите есть ли выход из проблемы. Есть у меня интернет, а поверх него vpn в частную сеть компании. Есть также bind, который запросы к зонам компании форвардит либо на серые dns через vpn, либо на белые dns компании (можно через vpn, можно напрямую).

Трабл в том, что с запросами типа printer.localcompany все нормально, vpn отвалился - запросы не разрешатся, не страшно. Но есть еще запросы вроде srv.company.ru, бОльшая часть из которых нормально разрешается. Почему не все? Дак вот вот есть такие адреса, к примеру hidden-srv-73.company.ru, при запросе которых белый dns говорит, что ничего нет, а если спросить у серого DNS, то получается серый адрес.

Форвардинг у меня описан навроде так:

zone "company.ru"  { type forward; forward first; forwarders { 10.17.21.10; 10.18.21.10; 245.195.17.21; 245.195.18.21; }; };

Тобишь при запросе 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 для внешних. Вот и случился у меня трабл.



Последнее исправление: gard (всего исправлений: 1)

Тебе нужен ---> view

anonymous
()

bind даже не пытается опрашивать других по списку, заявляя, что адрес не найден.

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

alozovskoy ★★★★★
()

Да уж блин.. выкрутился я в общем. Как раньше не додумался. Сделал для зон, из которых гарантированно получаю серые адреса форвардинг только на серые днс. А хитрые имена типа srv.secret.company.ru оказались в одном домене (как пример secret.company.ru), ну а раз по таким именам я запрашиваю адрес, который окажтся серым, то из списка forwarders я убрал белые DNS, их оставил только серыеее.

А для зоны company.ru сделал и серые и белые, ответы все равно одинаковые придут. В общем работает все.

А насчет view - я думаю с предыдущими DNS так и было, потому как у меня были указаны только они (2 адреса) и все работало замечатльно: запрос изнутри - нате внутренний адрес, запрос снаружи - нате пожалуйста. Но настройка этих DNS не от меня зависит, а от крутых админов в 100км удаленной столице области. :)

gard
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.