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