为什么我在GCE的resolv.conf文件中有一些内容?

我在/etc/resolv.conf文件中的Google Compute Engine vm中有这样的内容:

domain c.company.internal. search c.company.internal. 160467777293.google.internal. google.internal. nameserver 169.254.169.254 nameserver 10.240.0.1 

为什么我有这个,这是什么意思?

这可以解决您的项目中的DNS名称。 例如,一个GCE虚拟机与另一个GCE虚拟机交谈,您可以使用其主机名连接到它(您选择的),而不是其内部IP(自动分配)。

此外,GCE VM的完全限定的域名格式为:

[虚拟机名称] .C。[项目名称]。内部

您可以通过运行hostname -f来查看给定VM上的内容。

这还允许您解析实际位于169.254.169.254特殊主机名,例如metadata (GCE元数据服务器FQDN : metadata.google.internal )。

一个额外的说明; 最后两行是您使用的DNS名称服务器 – 它们都指向Google内部的解析器,其行为是Misha指出的。

如果您将这些切换到例如8.8.8.8 ,您将使用Google的公共DNS解析器。 如果您这样做,您将失去对内部名称的访问权限,但如果您愿意,则可能会指向公司的内部DNS服务器来访问这些名称。