我尝试使用以下代码将带有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记录?
答案 0 :(得分:2)
这不起作用的原因是我忘了添加结尾“。”在主机名FDQN的末尾,因此域名自动完成。