首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用DNSPython添加反向IP记录

如何使用DNSPython添加反向IP记录
EN

Stack Overflow用户
提问于 2015-12-30 16:23:41
回答 3查看 1.7K关注 0票数 1

我尝试使用DNSPython添加DNS记录;

当我像这样设置dns时,它工作得很好:

代码语言:javascript
运行
复制
import dns.resolver
import dns.query
import dns.reversename
import dns.update
import dns.rdatatype

update = dns.update.Update('test.com')
update.replace('a', 3600, dns.rdatatype.A, '10.10.10.10')
response = dns.query.tcp(update, '127.0.0.1')

然而,当我以同样的方式设置反向dns时,它不起作用:

代码语言:javascript
运行
复制
update = dns.update.Update('10.in-addr.arpa')
update.replace('10.10.10.', 3600, dns.rdatatype.PTR, 'a.test.com')
response = dns.query.tcp(update, '127.0.0.1')

我想知道如何成功设置反向dns,Thx~

EN

回答 3

Stack Overflow用户

发布于 2015-12-30 17:09:05

我发现了问题:

代码语言:javascript
运行
复制
update.replace('10.10.10.', 3600, dns.rdatatype.PTR, 'a.test.com')

应该是这样的,

代码语言:javascript
运行
复制
update.replace('10.10.10', 3600, dns.rdatatype.PTR, 'a.test.com')

但另一个问题是:这种方式更新反向dns并不总是成功的,有时当我使用'nslookup‘进行测试时,它似乎没有添加到dns服务器;

更重要的是,当我像这样查找ip时:

代码语言:javascript
运行
复制
nslookup 10.10.10.10
Server:         127.0.0.1
Address:        127.0.0.1#53

10.10.10.10.in-addr.arpa        name =a.test.com.10.in-addr.arpa.

这不是我想要的,当使用nsupdate添加时,它只显示:

代码语言:javascript
运行
复制
10.10.10.10.in-addr.arpa        name =a.test.com.

我能做些什么来解决这个问题呢?

票数 1
EN

Stack Overflow用户

发布于 2017-07-06 21:12:30

我自己也遇到过这个问题。

你的名字末尾少了一个点:

代码语言:javascript
运行
复制
update.replace('10.10.10', 3600, dns.rdatatype.PTR, 'a.test.com**.**')
票数 1
EN

Stack Overflow用户

发布于 2016-08-02 16:10:17

您对update.replace中的“10.10.10”有问题。它需要是FQDN - '10.10.10.10.in-addr.arpa‘。您可以使用类似以下内容:

获取反向IP

代码语言:javascript
运行
复制
reventry = dns.reversename.from_address('10.10.10.10')

定义in-addr.arpa区域以更新-I have .labels3: for A类子网区域文件(10.in-addr.arpa)。如果你有C类(10.10.10.in-addr.arpa),那么使用.labels1:

代码语言:javascript
运行
复制
revzone = ''
revzone = '.'.join(dns.name.from_text(str(reventry)).labels[3:])

并添加动作

代码语言:javascript
运行
复制
raction = dns.update.Update(revzone)
raction.replace(reventry, 3600, dns.rdatatype.PTR, 'a.test.com')

这应该可以很好地工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34525624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档