domain-name-system – 是否允许设置空/空DNS A记录?

前端之家收集整理的这篇文章主要介绍了domain-name-system – 是否允许设置空/空DNS A记录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图围绕DNS的精彩世界.

我为example.com创建了一个区域文件,其中包含:

@     A    1.2.3.4
*     A    1.2.3.4

但是我也在设置我的本地DNS local.example.com,我已经创建了一个单独的区域文件,用于包含以下内容

machine1     A    192.168.0.1
machine2     A    192.168.0.2

当我挖掘machine1.local.example.com时,它返回A记录192.168.0.1,很棒.

遗憾的是,badmachine.local.example.com返回1.2.3.4,local.example.com也是如此.

我不确定防止这种情况的最佳方法.如果我将以下内容添加到local.example.com中,则返回上述2个示例的记录,这是我想要的行为:

@     A
*     A

我希望anything.example.com在local.example.com子域中使用通配符EXCEPT,除非另有说明,否则我不想给出响应.基本上我需要一张带有一个排除的外卡.

这是允许的吗?这是最好的做法,还是我做得非常糟糕?我正在使用带有BIND后端的PowerDNS.

谢谢你的想法!

解决方法

首先,你对Chris S的评论大大澄清了(确实,修改了)你原来的问题,我希望你能原谅我把它编辑成你原来的问题.

其次,正如其他人所指出的那样,不允许空记录.

第三,我认为做你想做的事的方法是声明local.example.com是一个合适的子域:

local                       IN      NS      ns1.example.com
local                       IN      NS      ns2.example.com

列出当前为example.com运行的两个名称服务器(注意:我不知道PowerDNS,因此我上面的条目是BIND格式).然后在那些名称服务器(我假设是这个名称服务器)上,为local.example.com声明一个zonefile,它只包含你要解析的主机,而不包含通配符记录.

因此,当人们查找foo.example.com时,假设未列出,它将匹配现有的通配符记录,并返回1.2.3.4(或其他).但是当人们抬起头来foo.local.example.com,将返回local.example.com的名称服务器记录并进行进一步的递归,您的名称服务器现在查看local.example.com的zonefile,并说(如果没有foo的特定记录和local.example.com中的通配符)“不,没有这样的记录”.

猜你在找的HTML相关文章