我使用boto3和dnspython库为route-53托管区域生成区域文件。我成功地使用 dnspython库(1.14.0)生成A / CNAME / MX / TXT记录集。 但是,因为它没有ALIAS TARGET(A Record)的任何实现。我收到此错误:
**Traceback (most recent call last):
File "/home/work/dns_check.py", line 156, in <module>
rdataset = add_record_type_A(zone, name, address)
File "/home/work/dns_check.py", line 28, in add_record_type_A
rdata = rd_A.A(IN, A, address=address)
File "/usr/local/lib/python2.7/dist-packages/dns/rdtypes/IN/A.py", line 34, in __init__
dns.ipv4.inet_aton(address)
File "/usr/local/lib/python2.7/dist-packages/dns/ipv4.py", line 51, in inet_aton
raise dns.exception.SyntaxError
dns.exception.SyntaxError: Text input is malformed.**
这是因为ALIAS就像“alias.testdomain.com”,它不支持IPV4。 我可以通过编辑python库来生成它。还有其他方法吗?
提前致谢
答案 0 :(得分:0)
您认为AWS“别名”记录不是标准DNS记录类型。
如果您尝试使用Route53托管区域中的记录生成普通标准DNS区域文件,则最接近的标准记录类型将是CNAME记录。但是,生成的区域文件的行为与Route53区域的行为完全不同,因为“Alias”记录在实时查询时返回目标的A记录,而生成的区域文件则提供CNAME记录,解析器将关闭做另一轮查询,最终获得A记录。
还有一个警告,根据RFC1033,CNAME记录不能与其他记录类型一起使用。如果您拥有域根的别名记录(即testdomain.com),这通常会导致麻烦,该记录不应包含CNAME记录,因为它已经包含SOA,NS以及可能的MX和其他记录。