LINUX.ORG.RU

[вещества] DNS сервер

 


0

1

Всем привет.

Хочется DNS сервер, который бы позволял подключать к нему кастомный резолвер в виде плагина. Ну и соответственно открытое API и т.д. для написания этих плагинов.

Есть ли в природе?

★★
Ответ на: комментарий от XVilka

То есть я могу написать для него(или взять уже готовы) резолвер, который пошлет, например, на web-сервис запрос, получит ответ в виде ip и отдаст ему для дальнейшей обработки?

Ian ★★
() автор топика
Ответ на: комментарий от Shtucer

Client -> dns_request -> (DNSServer -> domain_name -> WebServiceResolver) -> ws_request -> WebService

WebService -> ws_response -> (WebServiceResolver -> ip_address -> DNSServer) -> dns_response -> Client

Ian ★★
() автор топика
Ответ на: комментарий от Ian

Я понимаю, что идея возможно странная, но оно мне действительно надо. На работе поставили в такие условия. А руками каждый раз добавлять что-то в hosts лень.

Ian ★★
() автор топика

тебе лень править hosts?
помойму эта задача решается проще.
напиши веб-гуй к hosts и всё.

stevejobs ★★★★☆
()
Ответ на: комментарий от TERRANZ

Сервер + резолвер. По сути резолвер можно написать самому. Просто отдельный от сервера резолвер должен сам понимать DNS запросы от сервера. Получается он сам что-то вроде простейшего сервера. Более того, я уже нашел простенький DNS сервер на Java и дописал для него нужный мне резолвер, но хочется стандартного решения.

Ian ★★
() автор топика
Ответ на: комментарий от stevejobs

Ты не представляешь количество хостов в hosts. Там уже их штук 100-200 и их кто-то вводил руками.

Ian ★★
() автор топика
Ответ на: комментарий от Ian

> Ты не представляешь количество хостов в hosts. Там уже их штук 100-200 и их кто-то вводил руками.

ну забей тогда эти хосты в конфиг DNS.

by the way, на современных процессорах (тм) распарсить какой-то 200-строчный файл - дело миллисекунд

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Проблема в том, что я не знаю все хосты, которые понадобятся в будущем. Они появляются по мере необходимости. А еще, уважаемые администраторы умудряются иногда менять ip адрес хоста. Это вообще класс. Вроде в hosts hostname есть, а не работает.

Ian ★★
() автор топика
Ответ на: комментарий от Ian

> Вроде в hosts hostname есть, а не работает.

и как тебе поможет внешний ресолвер, когда админы поменяли адрес хоста? Он сам пойдет и даст пиздюлуй админу, чтобы он рассказал с какого на какой поменялся адрес?

Они появляются по мере необходимости.


они ТАМ сами появляются шоле? ;)


короче, раз в 5 минут по крону или еще как запускаешь свой парсер hosts/bind файла. Парсер парсит, подключается к источнику новых айпишников, и записывает новый hosts/bind-файл с учетом этих изменений.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Смотри. У нас есть куча ресурсов, находящихся в страшно закрытой сети заказчика. Я сейчас пользуюсь какими-то ресурсами, завтра я пользуюсь другими. Админы иногда меняют там ip-адреса.

У нас нет доступа к DNS серверу заказчика, но, они сделали специальный сайтик, где можно ввести hostname и получить ip-address.

В итоге, когда я встречаю неизвестный hostname, я иду на этот сайт, спрашиваю ip-адрес и заношу его в hosts.

Ian ★★
() автор топика
Ответ на: комментарий от Ian

Значецо так...

1) Заводишь себе файлик «MyHosts.txt» в хомячке =)
2) Пишешь в него названия нужных хостов. Одна строка - одно название.

Далее пишешь скрипт, который раз в 5 минут:
3) Пробегает по MyHosts.txt, читает в память список хостов
4) Для каждой записи делает тот же самый запрос к «специальному сайтику» что и та магическая веб-страничка
5) Парсит ответ (веб-страничку) в поисках IP
6) Загружает в память существующий hosts-файл
7) Обновляет айпишники
8) Сохраняет данные назад в хостсфайл

9) профит

10) иди писать уже ;)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Только такой подход не отработает для хостов, с которыми я встречаюсь впервые. Все равно придется лезть на страничку руками и добавлять хост в файлик.

Ian ★★
() автор топика
Ответ на: комментарий от drull

Бред, но что делать? Такой вот параноидальный заказчик. )

Ian ★★
() автор топика
Ответ на: комментарий от Ian

Только такой подход не отработает для хостов, с которыми я встречаюсь впервые. Все равно придется лезть на страничку руками и добавлять хост в файлик.

если «магическая страничка» тебе не скажет, что появились новые хосты, никакой ресолвер не поможет, верно? ;)

stevejobs ★★★★☆
()

а зачем править hosts, если можно поставить powerdns и занести эти хосты в ldap?

Komintern ★★★★★
()
Ответ на: комментарий от stevejobs

Страничка не говорит, что появились новые хосты. Он просто отдает ip в ответ на имя. А о новом хосте(см ресурсе, сайте, etc) из письма, ссылки на другом ресурсе etc... Например «Всем привет, у нас новая версия Jira! http://new.jira.host.name.com/».

Ian ★★
() автор топика
Ответ на: комментарий от Ian

В общем, я понял, что таким маразмом еще никому не приходилось сталкиваться, а следовательно и решения нет. Буду пользовать переделанный DNS на Java )))

Ian ★★
() автор топика
Ответ на: комментарий от Ian

я с таким сталкивался, и делал как написано выше.

каким образом тебе поможет твоя DNS на Java? Что она такого умеет?

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Работает оно примерно так:

Я запускаю свой DNS у себя на машине. Прописываю его в сетевых настройках.

Нажимаю на ссылку, например, http://hostname.com/, hostname в hosts нет, обычный DNS его не резолвит, запрос идет на мой DNS. Мой DNS отдает это имя специальному резолверу, который шлет через http запрос на специальный ресурс (ex: http://.../cgi-bin/check?host=hostname), получает оттуда ответ, парсит, находит ip адрес. мой DNS возвращает ответ с ip адресом.

Ian ★★
() автор топика

PowerDNS. Позволяет. 100500%
Мало того, PowerDNS так спроектирован, что подобно OpenLDAP'у просто-таки подталкивает писать подобные вещи.

DRVTiny ★★★★★
()
Ответ на: комментарий от DRVTiny

Круто, надо посмотреть.

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