Debian
如何讓我的伺服器使用主機文件來解析名稱?
我在家裡有一台裝有 Debian 的電腦,充當帶有兩個乙太網卡的伺服器:eth0 以 DHCP 模式連接到路由器,eth1 連接到一個交換機(靜態地址),該交換機可容納另外四台電腦。
我正在使用 PC 作為其他人的網關防火牆。由於我在內部網路中只有四台 PC,我不想在伺服器上設置BIND 。*用文件主機*解決四台電腦的名字比較容易,但我不能讓伺服器查到文件
/etc/hosts
。伺服器根本沒有配置;它只使用從我的 ISP 獲得的預設值。如何讓伺服器解析文件中的地址hosts
?
那是因為
/etc/hosts
它只是 Debian 伺服器上的一個文件,它用於自己的名稱解析。它不使用該文件來提供任何 DNS 服務。
既然您不想設置 BIND,我可以建議您改用dnsmasq嗎?
它是輕量級的,只需使用您的主機文件即可充當 DNS 和 DHCP 伺服器。
我相信你正在尋找的是 /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 中,然後機器應首先使用 hosts 文件獲取主機資訊,然後回退到 DNS。