何时适合我的 Linux 架构使用 DNS?

何时适合我的 Linux 架构使用 DNS?

我知道这是一个关于服务器故障的问题,我很可能会在回答后关闭它。但我现在真的需要这个答案,而且因为是万圣节,serverfault 上的人很少!我非常感谢大家。

有人能告诉我我这样做是否正确吗?

我有 2 个项目(dragon 和 falcon)。我正在像这样设置服务器。但是,我没有使用“DNS”。它只是主机名。

main.admin (controls all servers)

dragon.admin (SVN repository)
dragon.db1 (database)
dragon.db2

falcon.admin
falcon.db1
falcon.db2
falcon.web
falcon.cache

我需要“DNS”服务吗?或者,我可以这样做吗...通过主机名?

祝大家万圣节快乐!

答案1

嗯……

首先,您确定您还没有 DNS 吗?

  • 如果您的 PC 已连接到 Active Directory 域控制器,则您已经拥有本地 DNS。
  • 如果您有一个便宜的基于 Linux 的无线路由器/防火墙将您的 LAN 连接到 Internet,那么它很有可能可以为您提供本地 DNS。

因此,在我们能够更明确地帮助您之前,我们需要了解您的网络设置以及客户端和服务器软件是什么样的。

第二,我不太清楚“控制所有服务器”部分以及将项目名称和服务名称映射到单个主机名。您想要实现什么目的?

一个非常常见的解决方案是:

  • 为每台机器提供永久特定的主机名,与其功能无关(例如 SRV001、ELVIS、HYDROGEN 等)。
  • 创建将网络级服务映射到机器的 CNAMES(例如 DB01 指向 SRV014)。
  • 创建特定于应用程序的配置文件,通过服务名称告诉每个应用程序(项目)使用哪些资源(例如,“Falcon”从其配置文件中知道它应该使用 DB03 和 DB04)。

至于使用什么命名约定……嗯,任何对你和你的同事有意义的约定。换句话说,它是相当特定于领域的。以下是最本站上被顶的帖子关于服务器名称。关于服务名称,我建议放弃旧习惯,使用一些 ASCII 字符,它们不是濒危物种……所以在我看来,DATABASE_01 比 DB01 更简洁。另一个不错的选择是子域,即“a.database.server.localdomain”、“b.database.server.localdomain”等等。

我需要“DNS”服务吗?或者,我可以这样做吗...通过主机名?

你不会需要DNS,它只是一个更好的解决方案,当你拥有多台计算机时,它更容易管理。实际上,在互联网刚出现的时候,DNS 并不存在,互联网完全依靠主机文件运行。您不应使用“。”作为分隔符,它是保留的 - 使用破折号或下划线,例如“falcon-admin”。

答案2

你不需要需要如果以下情况属实,则 DNS:

  1. 您可以控制与这些服务通信的每台计算机。
  2. 如果发生任何变化,您不介意保持相应的主机文件同步。

我建议您在某个时候返回并设置 DNS,但您不需要它就可以开始。只需将适当的条目添加到特定于平台的主机文件即可。

答案3

每次更新时,您真的要同步每个相关主机上的 hosts 文件吗?如果您只处理 2 个主机,那么对我来说没问题。

另一种方法是设置 DNS 服务器(通常在 *nix/BSD 上为 BIND)- 您可以根据需要更改条目,只需配置网络以指向 DNS 服务器即可。DNS 相当静态 - 一旦设置,就无需任何维护。

参考:

答案4

您还应该考虑使用 mDNS。

相关内容