如何使linux服务器从resolv.conf中查询第二或第三或第四个名称服务器IP地址

在我们的环境中,我们有一个非常uniq的要求。 让我先解释一下我们的环境。

我们有DEV,TEST,PRE-PROD和PROD环境,每个环境都有自己的DNS服务器(主从)来parsing主机名。

我们现在想要的是创build一个mamangement服务器,他将能够parsing除PRODUCTION环境以外的所有环境服务器(DEV,TEST,PRE_PROD)。

所以我想,把所有的环境DNS服务器的IP地址在这个pipe理服务器resolv.conf将解决这个问题。 但它只是解决服务器主机名的入口是第一个DNS服务器types注册。 例如,我提到DEV环境DNS服务器,所以它只parsingDEV服务器。 当我尝试parsingPRE-PROD或TEST等其他环境服务器时,他们没有parsing。

我读了多个博客和发布和普遍的共识是,parsing器只是检查第一个条目,如果超时或SERVFAIL,那么只有它从resolv.conf到第二名称服务器。

我想就如何达到这个要求提出你的意见/build议。

注意: – 我们使用RHEL 6等效。

谢谢

内部域的呈现由recursionDNS服务器处理,而不是由单个设备上的parsing器处理。 configuration设备依赖多个configuration不同的recursion服务器,在最好的情况下是不一致的用户体验,在最糟糕的情况下极难诊断和排除故障。

此时需要做什么取决于每个环境是否有其自己的唯一域后缀。

每个环境都有一个唯一的域名后缀

  1. 为您的pipe理服务器站起一套新的recursionDNS服务器。 或者,这可以是在pipe理服务器本身上运行的名称服务器进程。 这取决于您是否预期networking上的其他设备将来需要相同级别的function。
  2. 为与您的各种环境相关联的每个唯一域后缀configuration一个转发器区域。 每个转发器区域都会将stream量转发给给定域名权威的DNS服务器。
  3. 将您的pipe理服务器指向您刚刚configuration的DNS软件。 如果名称服务器进程驻留在同一台机器上,请使用127.0.0.1。 (本地主机)

每个环境都有自己的独特版本的同一个区域

  1. 哭泣。
  2. 下次不要这样做。

把你所有的环境放在同一个DNS中。 有许多命名scheme,但使服务名称显而易见:db.dev.example.com是开发,db.test.example.com是testing,依此类推。

使用部署工具强化每个环境的configuration并更改控制。

拒绝与防火墙和分段devise不同的连接。

在与错误的环境连接之后,请进行根本原因调查。