我正在使用一个界面,以允许我们的客户自行更新其DNS。
我有2个问题:
顺便说一下,它是BIND9 DNS和C#Web应用程序。
谢谢,
凯尔
域名标签从技术上讲可以包含任何八位位组值,但是通常它们仅包含字母数字,连字符和下划线字符。
来自RFC 1035第2.3.1节中的建议:
标签必须遵循以下规则ARPANET主机名。他们必须开始以字母结尾,以字母结尾或数字,并具有内部字符仅字母,数字和连字符。也有一些限制长度。标签必须为63字符以内。
下划线字符是最近添加的,通常用于SRV
记录的标签部分。
如果您要让用户创建自己的子域,也可以允许使用“ .
”字符。
可能的值为:
A
记录-必须是点分四进制的IP地址]CNAME
记录-必须是其他合法标签MX
记录-16位整数优先级字段和合法的主机名。注意:有些人放置的标签本身仅指向CNAME
记录。对此不满意。TXT
记录-您喜欢的任何东西!请注意,在每种情况下,如果您确实允许使用不在正常集中的任何字符,则将它们存储在BIND格式的区域文件中时将需要转义。
答案曾经很简单,但现在不再。
您几乎可以使用任何Unicode字符,但都应通过规范化处理,并且编码过程。
请参阅RFC 3490(IDNA),RFC 3454(Stringprep),RFC 3491(Nameprep),RFC 3492(Punycode)
或与Wikipedia一起查看大图(http://en.wikipedia.org/wiki/Internationalized_domain_name)。
不要忘记AAAA,IPv6地址(请记住,距离我们用完IPv4地址只有两年了...。
有关法定名称,请阅读RFC 1123第2.1节。 domain名称可以是anything,host名称的语法要严格得多(请参阅RFC 1123)。
除上述建议外,如果仍然有人将区域文件从Godaddy导入route53时遇到问题,请删除注释。我花了几个小时才弄清楚,写为“; comment line here”的注释导致Route 53系统无法正确解析区域文件。