Друзья, привет всем! Подскажите есть ли выход из проблемы. Есть у меня интернет, а поверх него 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 для внешних. Вот и случился у меня трабл.