编辑/ etc / hosts

我刚刚注册了Linode的VPS,并且正在经历初学者的设置说明,但是在编辑/ etc / hosts时有点遗憾。 它build议我编辑它如下(其中12.34.56.78是我的服务器的IP):

127.0.0.1 localhost.localdomain localhost 12.34.56.78 something.yourdomain.com something 

该文件当前显示为:

 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ... 

首先,我使用两条本地主机线路中的哪一条线路?

其次,我不明白第二行的目的 – 由于第一个引用IP为127.0.0.1,我假设这些是本地地址,那么为什么我的服务器的地址会有什么后果? 此外,我目前不需要任何子域名 – 我是否应该不包含此行,或将其更改为其他内容? 这是否会影响我的域名和服务器之间的DNS连接?

我在这方面比较新,所以我提前为任何愚蠢的问题道歉,并且感谢您提供的任何帮助。

第一行是回送,也就是回到你自己的服务器。 这是每个计算机系统所固有的。

第二行是确定服务器分配了哪个IP,服务器应该服务哪个域。

你想在文件中有两行。 你甚至可以有更多的线与第二个类似,每个域被服务。

在/ etc / host中,每个条目的格式是:

[互联网地址] [域名] [别名]

  • 互联网地址 – 一个标准的IP地址,即127.0.0.1
  • 域名 – 完全合格的域名,FQDN,即www.google.com
  • 别名 – 这个字段是可选的,即本地主机

你的主机文件中引用127.0.0.1的第一行也可以这样修改:

127.0.0.1 localhost

您在此文件中设置的另一行在DNSparsing中有优先权,您的服务器在查询DNS服务器之前查看此文件/ etc / host以parsingIP地址中的FQDN,因此请仔细编辑此文件。

Aleroot的回答大多是正确的,文件名是/ etc / hosts的小调整。

请注意,在我看到的大多数现代Linux系统上都有一个/etc/host.conf文件,它控制着域名parsing的顺序; 我看到的默认值是

 hosts dns 

在任何DNS查找之前使用hosts文件。 因此,小心你放在/ etc / hosts中的主机是非常重要的,因为他们永远不会看DNS。

举例来说,我已经看到有人在/ etc / hosts文件中放置主机FOO的条目。 几年或几年后,当DNS更改为FOO时,他们想知道为什么说机器不能达到FOO。 问题是/ etc / hosts中的硬编码条目。