【问题标题】:Dynamic DNS Entry using bind & dnsjava使用 bind 和 dnsjava 的动态 DNS 条目
【发布时间】:2016-10-14 04:47:18
【问题描述】:

我需要使用 javadns 将主机 url 插入到绑定 DNS 区域。我生成了一个 TSIG 密钥并配置了绑定配置文件。

我不确定 DNS 区域允许更新问题。我应该输入有效的 IP 还是 TSIG 密钥?

这是我用 javadns 实现的代码:

Name zone = Name.fromString("ns1.dns.com.");
Name host = Name.fromString("some.host.com", zone);

Resolver res = new SimpleResolver(dnsIp);
res.setTSIGKey(new TSIG("my_tsig_key", key));
res.setTCP(true);

Update update = new Update(zone);
update.add(host, Type.A, 86400, "1.2.3.4");
Message response = res.send(update);
System.out.println(response);

控制台:

;; ->>HEADER

;;先决条件:

;;更新记录:

;;附加记录: ns1.domain.com。 0 任何 TSIG hmac-md5.sig-alg.reg.int。 1465835914 300 16 xXqHHVOp5tOnebnSGynXMQ== NOERROR 0

;;消息大小:116 字节

系统日志:

6 月 13 日 19:38:34 atar-srv 命名[2632]:客户端 192.168.200.23#57543/key ns1.dns.com:更新区域“dns.com/IN”:更新失败:不是 更新区域的权威(NOTAUTH)

【问题讨论】:

    标签: java dns bind


    【解决方案1】:

    考虑您的密钥算法很重要。构造函数

    公共 TSIG(String KeyName , String keySecret)

    根据javadoc for dnsjava (查看类 TSIG 及其构造函数)使用 hmac-md5 算法。 如果你想使用其他算法,你应该将你的算法提供给这个构造函数:

    public TSIG(java.lang.String algorithm,
                java.lang.String name,
                java.lang.String key)
    

    这些是合法的算法值: "HmacMD5", "HmacSHA1", "HmacSHA224", "HmacSHA256", "HmacSHA384", "HmacSHA512"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      相关资源
      最近更新 更多