gpt4 book ai didi

使用 DNSJava 在私有(private)云中实现 DNS 自动化

转载 作者:行者123 更新时间:2023-12-04 04:45:31 31 4
gpt4 key购买 nike

我正在尝试创建一个 DNS 服务(各种 DNS 操作的自动化)来服务于我们现有的私有(private)云。我正在寻找选项和想法来做到这一点。是否有任何现有的 Java API 可以做到这一点?请建议。

我对可能的解决方案进行了研究。我找到了DNSJava成为一个很好的解决方案。但我没有找到太多的文档/示例。以下是一些问题,回答后可以解决我当前的问题:

  • 如何将 NS 或 A 记录添加到区域文件?
  • 如何打印出区域文件的内容?

  • 我创建了一个本地 DNS 服务器用于测试目的。如果这些示例是针对 localhost 给出的,那将非常有帮助。

    谢谢!

    最佳答案

    经过大量研究,我找到了一种使用 DNSJava 修改区域文件的方法。 . Bind9 应该在服务器中设置。应使用基本信息创建所需的区域文件。一旦我们有了这个设置,在区域文件中添加和删除记录就很简单了。请引用this为 Bind9 生成 TSIG key 的页面。下面给出实际可以添加记录的代码。

    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();
    }

    关于使用 DNSJava 在私有(private)云中实现 DNS 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243904/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com