服务器配置的一个基本方面是我无法掌握的 – 主机名.
例如,在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条目吗?
此外,是否有任何“最佳实践”来挑选主机名?我见过人们使用希腊字母,行星名称甚至神话人物……当我们用完字母/行星时会发生什么?
如果这是一个愚蠢的问题,我很抱歉,但我从未对网络配置过于热心.
解决方法
许多应用程序在其他地方进行通信时将使用系统主机名作为默认标识符.例如,如果您在中央服务器上收集系统日志消息,则所有消息都将使用原始系统的主机名进行标记.在理想的世界中,您可能会忽略这一点(因为您不一定要信任客户端),但默认行为 – 如果您将所有系统命名为“localhost” – 会导致出现一堆日志消息无法与特定系统关联.
正如其他人所指出的那样,如果您发现自己远程访问了许多系统,系统主机名也是一个有用的标识符.如果你有一个名为“localhost”的系统附加了五个窗口,那么你将很难保持它们.
与此类似,我们尝试使系统主机名与我们用于管理系统访问的主机名相匹配.这有助于避免在引用系统时出现混淆(在电子邮件,对话,文档等中).
关于DNS:
您希望为应用程序提供正确的正向和反向DNS条目,以避免混淆.您需要一些转发条目(名称 – > IP地址)才能让人们方便地访问您的应用程序.具有反向条目匹配是有用的,原因有很多 – 例如,如果在日志中找到相应的IP地址,它可以帮助您正确识别应用程序.
请注意,这里我说的是“应用程序”而不是“系统”,因为 – 特别是对于Web服务器 – 在系统上有多个ip地址,与不同的主机名和服务相关联是很常见的.
当您管理越来越多的系统时,尝试在/ etc / hosts文件中维护名称到ip映射很快就会变得困难.对于本地主机文件来说,很容易与DNS失去同步,可能导致混淆,并且在某些情况下会出现故障(例如,因为某些东西试图绑定到系统上不再存在的IP地址).