使用dnspython添加PTR记录

时间:2017-07-06 07:28:31

标签: python-2.7 dns bind9 dnspython

我尝试使用以下代码将带有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.

问题在于&#34; Z.Y.X.in-addr.arpa。&#34;部分添加到查询中。 在区域文件中,记录使用正确的语法

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

1 个答案:

答案 0 :(得分:2)

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