Простой * авторитетный DNS-сервер * на Java - PullRequest
5 голосов
/ 11 февраля 2011

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

Сервер не будеткеширующий сервер.Он будет возвращать только достоверные результаты и будет опубликован только в записи WHOIS для доменов.Он никогда не будет вызываться напрямую.

Сервер должен будет публиковать записи MX, записи A и записи SPF / TXT.План состоит в том, чтобы использовать DNS, чтобы помочь в балансировке нагрузки между серверами шлюзов в нескольких местах (мы знаем, что DNS имеет небольшой охват в этой области).Кроме того, он прекратит публиковать IP-адреса шлюзов-серверов, когда они выйдут из строя (умышленно или случайно) (если DNS сможет помочь только при длительных перебоях).

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

Однако это возможно, только если то, что мы копируем, достаточно просто,В противном случае, это может оказаться пустой тратой времени

Ответы [ 3 ]

4 голосов
/ 11 февраля 2011

Джордж,

Я думаю, что вам нужна библиотека Java, которая реализует протокол DNS. Взгляните на dnsjava

Это очень хорошо с точки зрения полного охвата спецификаций всех типов записей и классов.

Но проблема, с которой вы можете столкнуться при работе с библиотекой на основе Java, связана с производительностью. Ожидается, что DNS-серверы будут иметь высокую пропускную способность. Но да, вы можете решить это, выбрасывая больше оборудования.

Если производительность является проблемой для вас, я бы посоветовал изучить unbound

2 голосов
/ 29 ноября 2012

Вы можете взглянуть на Eagle DNS: http://www.unlogic.se/projects/eagledns

Он существует уже несколько лет и к настоящему времени довольно хорошо протестирован.

2 голосов
/ 11 февраля 2011

http://www.xbill.org/dnsjava/

К сожалению, в документации указано, что "jamed не должен использоваться для производства и, вероятно, не должен использоваться для тестирования. Если вышеуказанной документации недостаточно, просьба не запрашивать большепотому что это действительно не должно использоваться. "

Однако я не знаю каких-либо лучших альтернатив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...