Динамические обновления DNS с использованием Python dns.update, возвращающего код REFUSED - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь сделать простое обновление DNS, используя Python dns.update.Однако каждый раз, когда я запускаю скрипт, я получаю « rcode REFUSED» .Я попробовал серию различных перестановок, но не могу понять, где я иду не так.Я могу напрямую использовать этот ключ с nsupdates и внести изменения.

Я запускаю это на Python 2.7

Мой ключ выглядит следующим образом

key test.testdomain.com. {
        algorithm HMAC-MD5;
        secret "5MbEv7VrELN7ztkNMGSUvfimpoLAEzdmDzAHE9X4ax0ZDxiYnz1rkIx29SQru2AHQ3XbRBHmY7EQ/xD/2FocCA==";
};

Вот мой код, я жестко запрограммировал его для устранения неполадок,

import sys
import dns.update
import dns.query
import dns.tsigkeyring
import dns.resolver

def main():
    UpdateDNS()
####################################################################################################################
def UpdateDNS():
    # set zone and dnsserver
    zone = 'testdomain.com'
    dnshostname = 'dns-test.testdomain.com'
    keyring = dns.tsigkeyring.from_text ({'test.testdomain.com.' : '5MbEv7VrELN7ztkNMGSUvfimpoLAEzdmDzAHE9X4ax0ZDxiYnz1rkIx29SQru2AHQ3XbRBHmY7EQ/xD/2FocCA=='})
    update = dns.update.Update(zone, keyring = keyring, keyalgorithm = 'hmac-md5.sig-alg.reg.int')
    update.add('foo.testdomain.com', 8600, 'A', '179.33.72.36')
    response = dns.query.tcp(update, 'dns-test.testdomain.com')
    print response

#########################################################
# Main
#########################################################
if __name__ == '__main__':
    main()

Вот мой ответ

x1c\x08'}
id 45721
opcode UPDATE
rcode REFUSED
flags QR RA
;ZONE
testdomain.com. IN SOA 
;PREREQ
;UPDATE
;ADDITIONAL
...