DNS区域文件记录中的空白“名称”字段
问题描述:
我目前正在解析我工作中的大量区域文件,以便我们可以将此数据存储在数据库中并轻松地重新生成区域文件。DNS区域文件记录中的空白“名称”字段
我想让我的解析器非常严格,以便我们可以拾取任何形成不良的区域文件,并且在“名称”字段中找不到任何内容的某些记录。
例子:
$TTL 120
$ORIGIN mywebsite.com
@ NS mynameserver.com
@ A 112.134.156.178
www CNAME mywebsite.com
A 111.122.133.144
file CNAME mywebsite.com
怎么会是第二个的记录处理?这是一个有效的语法?
答
我知道这是一个古老的问题 - 只是偶然发现它,而寻找其他东西,无论如何最后的评论 - “空白”名称“字段意味着只使用与以前的记录相同的名称”是不正确的。任何时候区域文件中都没有标签(标签是左侧的字段 - 即主机名或完全限定的域名),它将通过$ ORIGIN变量的值进行限定(在这种情况下,$ ORIGIN = mywebsite.com - 与还可以通过@参考)所以在上面的区域文件中的记录....
A 111.122.133.144 is the same as
mywebsite.com一个111.122.133.144的是.. @阿111.122.133.144
让所有说该区域文件包含非常差的语法,因为它似乎没有一个完全限定 - 即在根的末尾没有尾部点 - 如在 $ ORIGIN mywebsite.com中。 & somehost.mywebsite.com。 IN A 111.122.133.144
我猜域名服务器要么没有工作好还是为车
基本/一般在BIND区域文件至少,如果不是有尾随完全合格点缀在$ ORIGIN的的valuse var被添加到标签。
希望这有助于
-P
这使得更多的意义则参宿一的答案。空或@意味着$ ORIGIN – baaroz