添加servername作为localhost / loopback的别名是否正确?

在Linux系统上,我看到了许多关于环回地址,本地主机和服务器别名的/ etc / hostsconfiguration变体。 有些将servername作为localhost / loopback地址(127.0.0.1)的别名,其他则不包含。 我试图找出哪些是最“正确的”,什么问题可能会导致不正确的设置。

例如,对于名为alice的假想服务器,其IPQ为alice.example.com,IP为192.168.42.42,我已经看到了这些/ etc / hostsconfiguration(以及更多):

Option 1: 127.0.0.1 alice.example.com alice localhost.localdomain localhost 192.168.42.42 alice.example.com alice Option 2: 127.0.0.1 localhost.localdomain localhost alice.example.com alice 192.168.42.42 alice.example.com alice Option 3: 127.0.0.1 localhost.localdomain localhost alice 192.168.42.42 alice.example.com alice Option 4: 127.0.0.1 localhost.localdomain localhost 192.168.42.42 alice.example.com alice 

那么这些选项哪个最正确呢? 我倾向于select自己的select4,但是我没有合理的理由。 我特别怀疑选项1,因为不会将FQDN机器名称设置为127.0.0.1以及192.168.42.42的规范? 我不知道这是怎么回事,例如,选项2,它只是127.0.0.1的“别名”,而不是。

我认为这个问题是“本地机器应该如何命名给定的IP地址?”。 简短的回答可能是,在现代世界,这些都不重要,因为无论如何,每个人都会一直在查找。

尽pipe如此,我仍然认识到/ etc / hosts仍然有用很多方法。 我倾向于select4,因为它看起来最简单。 Hopwever现在我看着它,像选项3似乎最正确的。 如果你没有DNS,你需要回答两个基本问题:

  1. 本地机器名称映射到哪个IP地址?
  2. 本地主机映射到哪个IP地址?

如果你没有dns,完全依靠/ etc / hosts,你也可能不关心fqdn。 在这种情况下,选项3允许您的机器回答问题1和问题2的回送IP地址,您可以假定它始终处于活动状态并正常工作。 我想有可能机器的真实IP地址可能没有在接口上configuration,导致networkingpath失败。

因此,我的理由不足的答案是select#3,因为它回答了基本的问题,并且在不确定的networkingconfiguration面前是最稳健的。

这实际上是那些看起来很简单的问题之一,但是你认为它越复杂,问题就越长。