如何让我的服务器使用主机文件来解析名称?

如何让我的服务器使用主机文件来解析名称?

我家里有一台装有 Debian 的计算机,充当带有两个以太网卡的服务器:eth0 以 DHCP 模式连接到路由器,eth1 连接到可容纳另外四台计算机的交换机(静态地址)。

我使用 PC 作为其他人的网关防火墙。由于我在内网只有四台电脑,所以不想设置绑定在服务器上。使用文件更方便主机解决四台电脑的名称,但我无法让服务器查看该文件/etc/hosts。服务器根本没有任何配置;它仅使用从我的 ISP 获得的默认值。如何让服务器解析文件中的地址hosts

答案1

这是因为它/etc/hosts只是 Debian 服务器上的一个文件,它用于自己的名称解析。

它不使用该文件来提供任何 DNS 服务。

既然你不想设置 BIND 我可以建议你看看域名解析反而?

它是轻量级的,只需使用您的主机文件即可充当 DNS 和 DHCP 服务器。

答案2

我相信您正在寻找的内容在 /etc/nsswitch.conf 中

来自手册页:名称服务交换机 (NSS) 配置文件 /etc/nsswitch.conf 由 GNU C 库用来确定从哪些来源获取一系列类别中的名称服务信息,以及以什么方式获取名称服务信息。命令。 ...

   Here is an example /etc/nsswitch.conf file:

       passwd:         compat
       group:          compat
       shadow:         compat

       hosts:          dns [!UNAVAIL=return] files
       networks:       nis [NOTFOUND=return] files
       ethers:         nis [NOTFOUND=return] files
       protocols:      nis [NOTFOUND=return] files
       rpc:            nis [NOTFOUND=return] files
       services:       nis [NOTFOUND=return] files

放:

hosts: files dns

在 /etc/nsswitch.conf 中,然后计算机应该首先使用主机文件来获取主机信息,然后回退到 DNS。

相关内容