通过本地DNSparsing域到另一个域的IP

我有一个本地域名“ SomeName ”和一个互联网域名“ AnotherName.dyndns.org ”,其IP可以随时更改(它使用dynamicDNS)。 我想将“ SomeName ”parsing为“ AnotherName.dyndns.org ”的IP。 换句话说,如果“ AnotherName.dyndns.org ”指向1.2.3.4,我想让“ SomeName ”指向同一个IP,即1.2.3.4。

有没有简单而直接的方法来实现这一点? 我找不到DNSMasq或BIND的选项。 我想可以编写一个脚本来获取域的IP,并重写configuration文件,然后重新加载DNS服务器,但这将是如此丑陋。

我为什么要这个? 简单来说,我想设置一个Bacula服务器和客户端。 服务器必须将“ SomeName ”parsing为本地IP(静态的,这里没有问题),客户端必须将其parsing为公共IP(dynamic的,即“ AnotherName.dyndns.org ”)。

如果我理解正确,你想要的是一个CNAME的DNSlogging:

http://en.wikipedia.org/wiki/CNAME_record

CNAME DNSlogging如下所示:

 <an alias> CNAME <a canonical name> 

在例子中:

 somename CNAME domain.dyndns.org 

如果domain.dyndns.orgdynamicparsing到IP地址,你有你想要的。

我知道你正在寻找拆分DNSconfiguration。 它也称为BIND语言的视图。 因此,您将创build两个视图私人(本地)和公共(互联网),并创buildACL列表,以匹配您的来源IP地址来自查询来基于它会给你任何IP地址你想给客户端。 例如,如果您的请求来自私人IP地址192.168.100.x然后DNS会给你“SomeName”1.2.3.4,如果查询来自公共领域,它会给你“SomeName”202.67.29.x

看看这里。 希望这个答案能满足你的需求。 http://www.shorewall.net/SplitDNS.html

如何在客户端添加“AnotherName.dyndns.org”作为DNSparsing的域后缀?