dnspython动态更新PeerBadKey

时间:2017-03-24 22:15:09

标签: python dns dnspython bind9

我正在使用dnspython尝试对BIND9服务器执行更新,但是我一直收到Bad Key响应(“tsig verify failure(BADKEY)”) - 当我使用nsupdate时,密钥工作得很好。是否有人成功实施了dnspython来对BIND DNS执行动态更新?

这是一个包含所有代码和错误的GIST: https://gist.github.com/anonymous/0afc800ef0615aa7c1219ec25c032eef

1 个答案:

答案 0 :(得分:2)

我不得不将keyalgorithm参数用于update.Update函数,以及从dns.tsig模块导入特定算法

from dns import query, update, tsigkeyring
from dns.tsig import HMAC_SHA256

key='EQSVvuA/KMAa/0ugdBBLqjxgP+o5rI7y8JoJbOICpJM='
bindhost='192.168.56.10'
ip='192.168.56.10'

keyring = tsigkeyring.from_text({
    'test.local' : key
    })

update = update.Update('test.local.', keyring=keyring, keyalgorithm=HMAC_SHA256)
update.replace('abc', 300, 'A', ip)

response = query.tcp(update, bindhost, timeout=10)