linux – 主机名 – 它们的全部内容是什么?

我最近被“强迫”执行一些系统管理员的工作,而这不是我非常喜欢做的事情,我一直在阅读,尝试和学习很多东西.

服务器配置的一个基本方面是我无法掌握的 – 主机名.

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

echo "plato" > /etc/hostname
hostname -F /etc/hostname

文件:/ etc / hosts

127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

我认为柏拉图是一个任意名称,plato.example.com是FQDN.

现在我的问题是:

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

此外,是否有任何“最佳实践”来挑选主机名?我见过人们使用希腊字母,行星名称甚至神话人物……当我们用完字母/行星时会发生什么?

如果这是一个愚蠢的问题,我很抱歉,但我从未对网络配置过于热心.

解决方法

目前,系统可能有多个接口,每个接口都有多个地址,每个地址甚至可能有多个与之关联的DNS条目.那么“系统主机名”甚至意味着什么呢?

许多应用程序在其他地方进行通信时将使用系统主机名作为默认标识符.例如,如果您在中央服务器上收集系统日志消息,则所有消息都将使用原始系统的主机名进行标记.在理想的世界中,您可能会忽略这一点(因为您不一定要信任客户端),但默认行为 – 如果您将所有系统命名为“localhost” – 会导致出现一堆日志消息无法与特定系统关联.

正如其他人所指出的那样,如果您发现自己远程访问了许多系统,系统主机名也是一个有用的标识符.如果你有一个名为“localhost”的系统附加了五个窗口,那么你将很难保持它们.

与此类似,我们尝试使系统主机名与我们用于管理系统访问的主机名相匹配.这有助于避免在引用系统时出现混淆(在电子邮件,对话,文档等中).

关于DNS:

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

请注意,这里我说的是“应用程序”而不是“系统”,因为 – 特别是对于Web服务器 – 在系统上有多个ip地址,与不同的主机名和服务相关联是很常见的.

当您管理越来越多的系统时,尝试在/ etc / hosts文件中维护名称到ip映射很快就会变得困难.对于本地主机文件来说,很容易与DNS失去同步,可能导致混淆,并且在某些情况下会出现故障(例如,因为某些东西试图绑定到系统上不再存在的IP地址).

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...