Problème DNS: ajout d'hôte dans une zone inverse
Bonjour,
Je souhaite ajouter une nouvelle machine dans un fichier reverse de mon serveur DNS. Pour cela, j'utilise le module dnspython. Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/usr/bin/python
# -*-coding:UTF-8 -*
import dns
from dns import *
import easyzone
from easyzone import easyzone
from dns.rdataclass import *
from dns.rdatatype import *
addr=raw_input('Entrer une adresse IP: ')
nom=raw_input('Entrer un nom de machine: ')
reverse=dns.reversename.from_address(addr)
print "Rev ", reverse
# Indiquer le chemin du fichier de zone + nom de domaine
dzone=dns.zone.from_file('./named/test.zone','test.fr.')
# Indiquer le chemin du fichier gérant la zone inverse
zone=dns.zone.from_file('./revzone/194.254.135.0.revzone', '135.254.194.in-addr.arpa.')
rdataset = zone.find_rdataset(str(reverse), rdtype='PTR', create=True)
target = dns.name.Name((nom,))
orig = dns.name.Name(("lirmm.fr.",))
fullt= dns.name.Name.derelativize(target,dzone.origin)
#print "target ",target,fullt
rdata = dns.rdtypes.ANY.PTR.PTR(IN, PTR , fullt)
##print rdata
dd = dns.ttl.from_text('1w1d')
rdataset.add(rdata, ttl=dd )
##print rdataset.add(rdata, ttl=dd )
zone.to_file('./revzone/194.254.135.0.revzone', '135.254.194.in-addr.arpa.') |
Au moment où, je passe la ligne "rdataset.add(rdata, ttl=dd )", il y a ce message d'erreur qui apparaît:
Citation:
Traceback (most recent call last):
File "<pyshell#106>", line 1, in <module>
rdataset.add(rdata, ttl=None)
File "/usr/lib/python2.6/dist-packages/dns/rdataset.py", line 112, in add
raise IncompatibleTypes
IncompatibleTypes
D'après ce que j'ai lu, ce message s'affiche lorsque que l'argument rdclass est différent de rd.rdclass (ou rdtype != rd.rdtype). Je n'ai pas plus d'explication pour le moment.
Si quelqu'un a déjà rencontré cette erreur ou a une piste à me donner, elle est la bienvenue.