首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DNSJava在私有云中实现DNS自动化

使用DNSJava在私有云中实现DNS自动化
EN

Stack Overflow用户
提问于 2013-08-14 23:15:58
回答 1查看 2.4K关注 0票数 2

我正在尝试创建一个DNS服务(各种DNS操作的自动化),以服务于我们现有的私有云。我正在寻找选择和想法来做这件事。是否存在任何现有的Java来执行此操作?请建议一下。

我对可能的解决方案进行了研究。我发现DNSJava是一个很好的解决方案。但我没有找到太多的文档/例子。以下是一些可以解决我目前问题的问题:

  1. 如何将NS或A记录添加到区域文件中?
  2. 如何打印区域文件的内容?

我已经为测试目的创建了本地DNS服务器。如果给出有关localhost的示例,这将是非常有用的。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-09-14 00:56:20

经过大量的研究,我找到了用DNSJava修改区域文件的方法。应该在服务器中设置Bind9。所需的区域文件应与基本信息一起创建。添加和删除区域文件中的记录是直接的,一旦我们有这个设置。请参考页面为Bind9生成TSIG键。下面给出了实际可以添加记录的代码。

代码语言:javascript
复制
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();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18243904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档