通过本地 DNS 在 Linux 上将域解析为另一个域的 IP

通过本地 DNS 在 Linux 上将域解析为另一个域的 IP

我有一个本地域名”某名“ 以及互联网域名 ”AnotherName.dyndns.org“其 IP 随时可能更改(它使用动态 DNS)。我想要解析”某名“ 到 ”AnotherName.dyndns.org”的 IP。换句话说,如果“AnotherName.dyndns.org“指向 1.2.3.4,我想要”某名”指向同一个IP,即1.2.3.4。

有没有简单直接的方法来实现这一点?我找不到 DNSMasq 或 BIND 的这种选项。我想可以编写一个脚本来获取域的 IP 并重写配置文件,然后重新加载 DNS 服务器,但那样太丑了。

我为什么要这样做?简单地说,我想设置一个 Bacula 服务器和客户端。服务器必须解析“某名“到本地IP(静态,这里没有问题),并且客户端必须将其解析为公共IP(动态,即“AnotherName.dyndns.org“)。

答案1

如果我理解正确的话,您想要的是 CNAME DNS 记录:

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

答案2

CNAME DNS 记录如下所示:

<an alias> CNAME <a canonical name>

例如:

somename CNAME domain.dyndns.org

如果 domain.dyndns.org 被动态解析为 IP 地址,那么您就得到了想要的。

答案3

据我所知,您正在寻找拆分 DNS 配置。它在 BIND 语言中也称为视图。因此,您将创建两个视图私有(本地)和公共(Internet),并创建 ACL 列表以匹配您的源 IP 地址,查询基于此地址将为您提供您想要提供给客户端的任何 IP 地址。例如,如果您的请求来自私有 IP 地址 192.168.100.x,则 DNS 将为您提供“SomeName”1.2.3.4,如果查询来自公共域,它将为您提供“SomeName”202.67.29.x

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

答案4

在客户端上添加“AnotherName.dyndns.org”作为 DNS 解析的域后缀怎么样?

相关内容