当我们从 Linux 服务器删除 resolv.conf 文件时会发生什么?

当我们从 Linux 服务器删除 resolv.conf 文件时会发生什么?

我已从resolv.confLinux 服务器中删除了该文件,现在我无法登录该服务器。这背后的逻辑是什么?如何解决?

答案1

resolv.conf文件包含将其他服务器的名称解析为其网络地址所需的名称服务器和域的配置。

man resolv.conf

如果该文件不存在,则仅查询本机上的名称服务器;域名是根据主机名确定的,域搜索路径是根据域名构建的。

删除文件应该不会影响登录:

  • 到系统控制台
  • 通过SSH连接(无登录限制)

会对登录产生影响:

  • 通过 SSH 连接(使用主机登录限制)。
  • 使用 Kerberos/Active Directory 身份验证
  • 其他自定义授权模块取决于 DNS

如何解决这个问题?

您应该登录服务器控制台并检查是否需要重新创建该文件。


旁注:如果您使用 DHCP,该文件可能会在启动时自动重新创建。

答案2

嗯,该文件/etc/resolv.conf告诉系统如何解析网络域名。大概您无法连接,因为服务器无法再确定您来自哪个主机(可能是为了检查安全规则)。

如果没有/etc/resolv.conf文件,您可能无法通过网络执行很多操作。您可能需要转到控制台来解决此问题。

综上所述,resolv.conf是系统的关键配置文件。没有它,系统将无法充分发挥作用。

答案3

man resolv.conf说:

解析器是 C 库中的一组例程,提供对 Internet 域名系统 (DNS) 的访问。解析器配置文件包含解析器例程第一次被进程调用时读取的信息。该文件被设计为人类可读的,并包含一个关键字列表,其中的值提供各种类型的解析器信息。配置文件被认为是 DNS 信息的可信源(例如,DNSSEC AD 位信息将从该源返回未经修改的信息)。

如果该文件不存在,则仅查询本机上的名称服务器;域名是根据主机名确定的,域搜索路径是根据域名构建的。

如果您没有此文件或已删除(至少对于 Ubuntu),您可以通过执行命令重新创建该文件:

SHW@SHW:/tmp # ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
SHW@SHW:/tmp # resolvconf -u

相关内容