0

我尝试使用以下代码将带有 dnspython 的 PTR 记录添加到 bind9:

def send_query(query, server):
    update = dns.query
    update.tcp(query, server)

def add(name, rdtype, rdata, ttl=300, zone):
    server = dns.resolver.Resolver()
    server.nameservers = '<dns server>'
    keyring = dns.tsigkeyring.from_text({
            'key-name': 'key'
    })
    record = dns.update.Update(zone=zone, keyring=keyring)
    record.add(name, ttl, rdtype, rdata)
    send_query(record, server.nameservers)

通过时我能够成功添加记录:

name = last octet
rdtype = PTR
data = server-FQDN
zone = z.y.x.in-addr.arpa

但是当通过 nslookup 查询 dns 服务器时,我得到:

~ nslookup X.Y.Z.6
Server:     NS server
Address:    NS server#53

6.Z.Y.X.in-addr.arpa        name = server-FQDN.Z.Y.X.in-addr.arpa.

问题是“ZYXin-addr.arpa”。部分添加到查询中。在区域文件中,记录的语法正确

有没有更好的方法来使用 dnspython 添加 PTR 记录?

4

1 回答 1

2

这不起作用的原因是我忘记添加结尾“。” 在主机名 FDQN 的末尾,因此域是自动完成的。

于 2017-07-06T13:08:58.310 回答