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

我知道这是一个服务器故障问题,我很可能会在回答完之后closures它。 但是我现在真的需要这个答案,而且因为是万圣节,所以serverfault里面的人很less! 我真的很感激每个人。

有人可以告诉我,如果我这样做的权利?

我有2个项目(龙和隼)。 我正在设置这样的服务器。 但是,我不使用“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”服务吗? 或者,我可以这样做,通过主机名?

万圣节快乐!

Hmnn ..

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

  • 如果您的PC连接到Active Directory域控制器,那么您已经拥有本地DNS。
  • 如果您有廉价的基于Linux的无线路由器/防火墙将您的局域网连接到互联网,那么它有一个很好的机会可以为您提供本地DNS。

因此,在我们能够更明确地帮助您之前,我们需要知道您的networking设置以及客户端和服务器软件的外观。

其次,我不确定“控制所有服务器”部分,以及将项目名称和服务名称映射到单个主机名。 你想达到什么目的?

一个非常常见的解决scheme是:

  • 给每台机器一个机器特定的主机名,与其function无关(例如SRV001,ELVIS,HYDROGEN等)。
  • 创buildCNAMES将映射networking级别服务映射到机器(例如DB01指向SRV014)。
  • 创build特定于应用程序的configuration文件,告诉每个应用程序(项目)其服务名称使用哪些资源(例如,“Falcon”从其configuration文件中知道应该使用DB03和DB04)。

关于使用什么样的命名惯例……以及任何对你和你的同事都有意义的惯例。 换句话说,这是相当具体的领域。 这里是关于服务器名称在这个网站上最高的线程 。 关于服务名称,我build议放弃旧的习惯,并使用一些ASCII字符,它们不是一个濒危物种…所以DATABASE_01比DB01更加贴近我的视线。 另一个不错的select是子域名,即“a.database.server.localdomain”,“b.database.server.localdomain”等等。

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

不需要 DNS,这只是一个更好的解决scheme,当你拥有一台以上的电脑时,这个解决scheme更容易pipe理。 实际上,在互联网的第一天,DNS并不存在, 互联网完全运行在主机文件上 。 你不应该使用“。” 作为分隔符,它是保留的 – 使用破折号或可能下划线,如“falcon-admin”。

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

  1. 您控制每台将与这些服务交谈的计算机。
  2. 如果有任何更改,您不介意保持适当的主机文件同步。

我build议你在某个时候返回并设置DNS,但是你不需要它去。 只需将适当的条目添加到特定于平台的主机文件。

你真的想在每次更新时都要同步主机文件吗? 如果你只处理2个主机,对我来说很好。

另一种方法是build立一个DNS服务器(通常是* nix / BSD上的BIND) – 您可以随意更改条目,只需将networkingconfiguration为指向DNS服务器即可。 DNS相当静态 – 一旦安装,就没有任何维护。

参考:

  • DNS解释
  • BIND安装在* nix / BSD上

你也应该看看使用mDNS。