允许多个本地服务器共享本地域

允许多个本地服务器共享本地域

我想在 VMWare 中设置多个本地服务器。例如,一台Web服务器、一台文件服务器、一台openvpn服务器等。

我想创建一个在本地工作的域(例如示例.localservers),它指向他们都可以访问的 Web 服务器。但是,我还想与其他服务器共享该域(例如文件.example.localservers、vpn.example.localservers)这样一切都是分开的,并且它们都位于不同的本地 IP 上。

我该如何处理这个问题?

答案1

快速、10,000 英尺的 DNS 服务器工作原理视图(至少包含您的问题):

  1. DNS 服务器是普通主机上的普通守护进程。它在 TCP 和 UDP 端口 53 上侦听查询。出于我们的目的,唯一的查询是的 IP 地址是什么foo.example.com(或任何主机名)。

  2. DNS 对该查询给出了一些可能的答案:

    1. 没有这样的主机名。
    2. 我没有任何线索。 (这是一个错误情况。)
    3. IP 地址是 10.11.12.13(或其他)。
    4. 询问位于(某个主机名)的 DNS 服务器/名称服务器。
  3. 上面的第四个答案是 DNS 委派的工作原理。有很多根服务器。这些告诉您向名称服务器询问com.然后这些服务器告诉你向名称服务器询问example.com等等。

  4. DNS 服务器有两个知识来源:本地配置和与其他 DNS 服务器通信(注意:为了提高效率,从其他服务器获得的知识被缓存)。本地配置包括根名称服务器列表(或至少其中一些;您可以向其中任何一个索要完整列表)、该服务器处理的区域列表以及这些区域的主机→IP 映射。

  5. 区域只是 DNS 中的一个控制区域。通常,一个或多个点分隔的部分。在 中foo.example.com,有根区域、区域comexample.com区域。如果有a.foo.example.com,有时它会成为该example.com区域的一部分,有时会有一个附加foo.example.com区域 - 这是管理员的配置决定example.com

  6. DNS 服务器处理两种不同类型的查询:递归查询和非递归查询。递归查询主要来自随机计算机(客户端)。非递归查询主要来自其他DNS服务器。递归查询要求 DNS 服务器完全解析名称,并自行处理“询问其他服务器”。非递归查询只返回询问的位置。

如果您有 3 个主机,不了解 DNS,并且不想学习它,stevieb 建议使用主机文件就可以了。每次添加主机时,都必须将其添加到全部主机,但如果只有几个主机,那就没什么大不了的。

OTOH,如果您想设置 DNS,您将不得不花一些时间阅读它 - 我个人从早期版本中学到了很多DNS 和绑定但已经有一段时间了,现在可能有更好的来源。简而言之,您将配置一个本地缓存名称服务器,使其具有权威性example.localservers,然后为其提供所有主机→IP 映射。 (还有IP→主机映射,可能还有其他东西)。

最后,如果您使用的是注册的、全球认可的域名(您在 Namecheap 等处获取的域名),您可能会发现将名称→IP 映射添加到其 DNS 服务会更容易,您可以使用他们网站上的控制面板。

答案2

如果您没有运行 DNS 服务器,请将条目添加到/etc/hosts所有相关计算机上的文件中:

echo "
10.0.1.1 files.example.local
10.0.0.4 vpn.example.local
10.0.0.4 www.example.local
" | sudo tee --append /etc/hosts

相关内容