在内网中运行自己的 DNS,如何从客户端访问外部 DNS

在内网中运行自己的 DNS,如何从客户端访问外部 DNS

场景:

我正在为学生实验室中运行的 8 个 Windows 7 工作站创建一个网络。它们应该可以浏览互联网,但不能从其内部网外访问。为了实现这一点,我运行了一个带有 2 个 NIC 的 Ubuntu 14.04 服务器。一个 NIC(em1)连接到我们部门的 VLAN,即互联网。我通过 iptables 的 MASQUERADE 功能通过 IPV4 转发将工作站内部网路由到 NIC em2。

示意图:

internet
|
departments VLAN
|
Ubuntu server / iptables
|
Switch-------
|  |  |  |  |
W  W  W  W  W ...

经过一些小问题之后,它运行正常,请参阅我的其他文章以了解全貌(以及我的一些配置):

问库本图

Ubuntu 服务器是唯一一台具有来自 VLAN 的有效 IP 的机器,需要使用部门 VLAN 的 DNS 服务器,否则它无法访问互联网。正如我通过另一篇文章发现的那样,所有客户端也需要使用我们部门的 DNS 服务器,因为它们的软件包通过 Ubuntu 路由器运行,并伪装成来自路由器的软件包。

问题:

现在,我想通过 Samba 部署 Microsoft Active Domain Controller。但是:我需要在内部网中运行自己的 DNS 才能使用 Microsoft 网络的所有酷炫功能。需要解析虚拟磁盘、登录、组策略等的主机名。但是,如果我这样做,机器将无法再使用外部/部门 DNS,因此无法从互联网请求包。

如何解决这个问题?

我可以使用部门 DNS 来解析内联网中的主机名吗?(可能不行,对吧?)

有没有办法,让我的工作站从我的 DNS 获取其名称,但从外部 DNS 请求互联网包以在同一 IP 下访问?

这是为什么,DNS服务器通常有两个字段?

我可以将与我自己的 DNS 并行的外部 DNS “重新路由”到内联网吗?

答案1

像往常一样安装 Windows 域并将客户端指向 Windows 域的 DNS 服务器,并在 Windows DNS 服务器中将部门的 DNS 服务器设置为转发器。执行此操作的手册如下:http://technet.microsoft.com/en-us/library/cc754941.aspx

答案2

在 Ubuntu 服务器上安装自己的 DNS 服务器。Ubuntu 服务器指南有一章关于 DNS 的内容。

将您的 DNS 服务器配置为 Active Directory 域的权威服务器。将部门的 DNS 服务器配置为转发器。

相关内容