首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主机名-它们都是关于什么的?

主机名-它们都是关于什么的?
EN

Server Fault用户
提问于 2011-01-28 13:10:46
回答 7查看 32.8K关注 0票数 63

我最近被“强迫”执行一些系统管理员的工作,而这并不是我绝对喜欢做的事情--我一直在阅读、实验和学习。

服务器配置的一个基本方面我一直无法掌握--主机名。

例如,在Ubuntu中,应该像这样设置主机名(根据Linode库):

代码语言:javascript
复制
echo "plato" > /etc/hostname
hostname -F /etc/hostname

文件:/etc/host

代码语言:javascript
复制
127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

我假设plato是任意名称,plato.example.com是FQDN。

现在我的问题是:

  • 这是强制性的吗?
  • 达到什么目的?
  • 它在哪里需要/使用?
  • 为什么我不能将"localhost“定义为每台机器的主机名?
  • 是否必须为plato.example.com FQDN设置DNS条目?
  • 应该使用plato.example.com作为我的IP的反向DNS条目吗?

此外,是否有挑选主机名的“最佳做法”?我见过人们用希腊字母,星球名称,甚至神话人物.当我们没有字母/行星时会发生什么?

我很抱歉,如果这是一个愚蠢的问题,但我从来没有太热衷于网络配置。

EN

回答 7

Server Fault用户

回答已采纳

发布于 2011-01-28 13:33:26

如今,一个系统可能有多个接口,每个接口都有多个地址,每个地址甚至可能有多个与其相关的DNS条目。那么“系统主机名”到底是什么意思呢?

许多应用程序在其他地方通信时将使用系统主机名作为默认标识符。例如,如果您在中央服务器上收集syslog消息,则所有消息都将被标记为原始系统的主机名。在理想情况下,您可能会忽略这一点(因为您不一定希望信任客户端),但是默认的行为--如果您将所有系统命名为"localhost“--将导致大量日志消息,您将无法与特定的系统相关联。

正如其他人所指出的,如果您发现自己远程访问多个系统,系统主机名也是一个有用的标识符。如果您已经将五个窗口附加到一个名为"localhost“的系统上,那么您将很难保持它们的正确性。

类似地,我们试图使系统主机名与我们用于管理系统访问的主机名相匹配。这有助于避免在提及系统时(在电子邮件、会话、文档等中)的混淆。

关于DNS:

您希望为您的应用程序设置正确的正向和反向DNS条目,以避免混淆。您需要一些转发条目(名称-> ip地址)才能方便地访问您的应用程序。具有反向条目匹配是有用的,有很多原因--例如,如果您在日志中找到了相应的ip地址,则可以帮助您正确识别应用程序。

请注意,这里我讨论的是“应用程序”,而不是“系统”,因为--特别是对于web服务器--一个系统上通常有多个ip地址,与不同的主机名和服务相关联。

试图在/etc/hosts文件中维护名称到ip映射变得非常困难,因为您管理着越来越多的系统。本地主机文件很容易与DNS不同步,这可能导致混淆,在某些情况下导致故障(例如,某些东西试图绑定到系统上不再存在的ip地址)。

票数 30
EN

Server Fault用户

发布于 2011-01-28 13:21:31

您可以将每个主机名设置为"localhost",但是在通过ssh管理计算机时,命令提示符中有alix@plato ~ $是非常方便的。远程管理服务器可能会变得非常混乱,如果没有的话。

当您承载web服务器或邮件服务器时,拥有正确的FQDN非常重要。这类服务器应用程序想知道它们运行的是谁。

为了选择一个好的命名方案,我建议您参考这个很受欢迎的问题

只有当FQDN对另一台计算机有意义时,它才会变得有用。这方面有三个层次:

  • 本地网络上的一台计算机在其主机文件中有一个指向该计算机的条目。
  • 您有一个DNS服务器运行在您的本地网络和每一个本地计算机使用它作为DNS服务器,现在知道柏拉图的名字。
  • 您注册一个域名,现在全世界都知道名称plato.alixaxel.com指向的是什么机器。

当向外界发送电子邮件或提供网页服务时,第三个是你想要的。对于大多数其他情况,您可以使用本地DNS,甚至编辑主机文件。

在这种情况下,您只需创建一个域名(plato.alixnetwork可以作为一个FQDN)在本地网络中使用。拥有"alixnetwork“部分(域名)的唯一附加价值是,当您有另一个希望与之区分的本地网络时,它的方便性。

票数 11
EN

Server Fault用户

发布于 2011-01-28 13:41:31

基本概况。主机名只是指针;您可以指定一个特定的主机名作为机器引用的主机名,但它可能有多个。一些服务、显著的邮件和HTTP依赖于域名来知道服务的位置以及如何到达它们。

很久以前,所有这些名称(同样是指向IP地址的指针)都被记录在一个名为hosts的文件中。随着系统的发展,他们无法在参与各种互联网络的所有相关计算机上保持文件同步。所以DNS系统被发明了。当您进行名称查找时,它仍然首先检查主机文件,然后检查DNS系统。Windows还可以检查其他系统,如WINS或NetBIOS。

当您将一个条目放入一个hosts文件中时,您不会将它分配给计算机。将主机名指定为计算机使用的主机名是在配置文件(on *nix System )和Windows系统中的系统属性(Windows system也可以具有NIC特定后缀)中完成的。

hosts文件中的条目,如DNS系统,只是从主机名到IP地址的映射。为了使用主机名'localhost‘(它没有什么特别之处,它和其他主机一样是主机名),它必须映射到回送接口(所以它总是指向本地计算机)。为了确保此功能,所有计算机都在其hosts文件中附带了此默认映射,但如果您不希望使用该主机名,则可能会将其删除。

此外,正如其他人所指出的,为计算机分配主机名非常有用。当连接到计算机时,您可以让它在登录时显示它的主机名,或者作为您的提示符显示它的主机名,或者显示其他任意数量的位置。这使得识别您连接到的计算机变得更容易。如果在DNS中设置主机名或将其放入所有hosts文件中,则可以通过引用主机名连接到计算机,而不必始终知道其IP地址。(如果计算机正在使用DHCP,则更有用,因为地址可能会更改。如果计算机更新DNS,那么DNS记录将指向新的IP地址;您仍然可以在不知道新IP地址的情况下进行连接,因为您知道DNS名称)。

hosts和DNS还有很多其他用途,但我怀疑如果您阅读了所有这些内容,您的问题就会多于答案。

票数 9
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/228102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档