Автоматизация DNS в частном облаке с использованием DNSJava

Я пытаюсь создать службу DNS (автоматизацию различных операций DNS) для обслуживания существующего частного облака. Я ищу варианты и идеи, чтобы сделать это. Есть ли какой-либо Java API для этого? Пожалуйста, предложите.

Я сделал исследование возможных решений. Я нашел DNSJava, чтобы быть хорошим решением. Но я не нашел много документации / примеров. Ниже приведены некоторые вопросы, ответы на которые могут решить мои текущие проблемы:

  1. Как добавить записи NS или A в файлы зоны?
  2. Как распечатать содержимое файла зоны?

Я создал локальный DNS-сервер для тестирования. Будет очень полезно, если примеры приведены в отношении localhost.

Спасибо!

1 ответ

После долгих исследований я нашел способ изменить файлы зон с помощью DNSJava. Bind9 должен быть настроен на сервере. Необходимые файлы зоны должны быть созданы с основной информацией. Добавление и удаление записи в файле зоны выполняется сразу после того, как мы выполним эту настройку. Пожалуйста, обратитесь к этой странице, чтобы сгенерировать ключ TSIG для Bind9. Код, который может добавить запись, приведен ниже.

Name zoneName = null; 
String domain = "your.domain";
String host = "hostname";
DNSRecordType type = DNSRecordType.A;
int ttl = 600;

Lookup lookup = new Lookup(Name.fromString("your.domain"));
Record [] records = lookup.run();
if(records != null) {
   zoneName = records[0].getName();
}
if(zoneName != null) {
    Name hostName = Name.fromString("hostname", zoneName);
    Update update = new Update(zoneName);
    update.add(hostName, Type.value(type.toString()), 600,
                  "192.168.2.50");
    Resolver resolver = new SimpleResolver();
    resolver.setTCP(true);
    resolver.setTSIGKey(new TSIG("your.domain.",
                 "z0pll56C4cwLXYd2HG6WsQ=="));

    Message response1 = resolver.send(update);
    response = response1.getHeader().toString();
}
Другие вопросы по тегам