连接两个网络时如何设置DNS?

连接两个网络时如何设置DNS?

我有一台带有两个网络接口的 Linux 机器。它们都连接到本地网络——一个是192.168.*.*,另一个是10.*.*.*

192.168.*.*网络完全是私有的,无法访问互联网。该10.*.*.*网络可以访问互联网。

目前,我可以进行外部 ping,并且名称将解析

ping google.com

但是,当我尝试在网络上 ping 计算机名称时192.168.*.*,该名称无法解析

ping computer-name
ping computer-name.domain
ping computer-name.domain.local

如果我指定一个 IP 地址,它将解析

ping 192.168.x.x

我如何设置 DNS 设置以便私有本地网络上的机器名称可以解析,但仍可以解析外部地址?

我正在使用Centos6。

答案1

在这种情况下,您通常需要设置一个 DNS 解析器,该解析器将根据命名空间转发到各种上游 DNS 服务器。您可以这样做使用 DNSMasq绑定和其他 DNS 服务器。

答案2

我可以通过修改我的/etc/resolv.conf文件来实现这一点

domain privatedomain
search privatedomain publicdomain.com
nameserver 192.168.10.15
nameserver 10.10.1.15

privatedomain本地192.168.*.*网络域名。是可访问互联网的网络publicdomain.com的域名。10.*.*.*

它现在可以正确解析所有这些请求

ping computer.privatedomain
ping computer
ping computer2.publicdomain.com
ping google.com

唯一的缺点是,当我尝试解析无法从私有域访问的名称时,会出现明显的延迟。例如:

ping google.com

我想象这是因为它首先尝试通过上的第一个名称服务器来解析名称privatedomain,这最终会超时,然后转到能够解析它的第二个名称服务器。

相关内容