如果在同一台机器上托pipe多个服务器,如何设置主机名?

我正在学习如何设置自己的networking和邮件服务器,而且我几天来一直对这个问题感到困惑,而在线文章(包括服务器故障)似乎与他们对“子域名”和“主机名'。

从我的理解:

  1. 主机名称唯一标识networking中的计算机
  2. 域和子域必须具有指向一个或多个主机的DNS Alogging

假设我的web服务器是1.2.3.4 ,我的主机名设置为development (通过在bash shell中运行hostname来确认),并且我正在设置Alogging,如下所示:

 @ -> 1.2.3.4 www -> 1.2.3.4 mx -> 1.2.3.4 mx -> 9.8.7.6 

然后我有wwwmx子域指向我的web服务器的主机名是developmentmx子目录也指向两个主机(为了冗余)。

为什么我需要一个主机名? 我的机器已经可以使用其IP地址来识别。

我读的地方说,主机名是重要的,因为它被发送到一些消息。 但是,如果我的服务器既是邮件服务器,文件服务器,数据库服务器等,我应该设置我的主机名是什么? 我当然不希望有人收到我的邮件看到development地址。 一台机器只能有一个主机名? 我应该将电脑的hostname设置为abc.example.com还是abc

主要问题

如果在同一台机器上托pipe多个服务器,如何设置主机名?

主机名是一个方便的唯一标识您的networking上的主机。 这是一个完全内部的名称,可以是任何你想要的。 主机名不必与其任何DNS名称相关联。

例如,名为abc的主机可以拥有指向它的DNSlogging,如www.example.com,mail.example.com等。

如果您在局域网内运行本地DNS,您也可以为您的主机指定一个本地DNS名称abc或abc.localdomain,以便您可以在浏览器中键入http://abc 。 再次,这只是帮助您识别您的局域网内的主机。

要回答你的问题 – 主机名应该是对你或你的组织有意义的东西。

主机名

主机名只能由主机使用。 当没有指定特定于上下文的身份时,它被系统和服务用作默认(人类可读的)身份。

它可能被用在日志文件中; 它很可能用在你的shell上,告诉你正在pipe理哪个主机; 正如您所指出的那样,邮件服务器的默认域名是您的主机名,但是这需要进行configuration。

DNS

在你的情况下,互联网上的任何东西都使用DNS,试图find你的服务器。 这就是全部 – 一个引用IP地址的名字。 您有多个logging指向同一个服务器,应用程序和服务可以使用这些logging来决定如何处理请求,例如要显示哪个网站,或者哪个邮箱要发送电子邮件。 您需要告诉服务器域名对他们来说意味着什么,但是对于主机本身来说,这并不意味着什么。

说两者不相关是错误的,因为通常会有内部pipe理的DNS基础设施(在局域网或广域网上),或者像NetBIOS或MDNS这样的分散的名称发现方法。 在这些情况下,主机名将用于识别或注册该命名服务中的主机。 然而,从你所描述的环境来看,他们目前似乎没有任何关系。