Linux

創建自定義主機文件

  • November 2, 2011

我想在自定義位置(例如 /opt/app/hosts)上創建一個與 /etc/hosts 文件格式相同的主機文件。

這樣做的原因是我想手動查詢 DNS 伺服器以獲取特定範圍的主機並將它們寫入我自己的自定義主機文件。我無法將該 DNS 伺服器添加到 /etc/resolv.conf,因為我不希望伺服器嘗試使用它解析主機(除了我手動查詢的小子集)。

我已經嘗試尋找一種將它包含在 /etc/hosts 中或在 /etc/nsswitch.conf 或 /etc/resolv.conf 中配置它的方法,但據我所知,這些配置文件都不包含。

您可以設置 BIND 以將特定域的請求轉發到特定的 DNS 伺服器:

zone "some.domain"
{
       type forward;
       forwarders { 10.0.0.1; };
};

所有其他請求將被轉發到全域options::forwarders部分中指定的伺服器。可能,這是實現您想要的最佳方式。

dnsmasq可以做到這一點(以及更多);除了正常的主機文件和 DNS 之外,它還允許您通過一個簡單的開關使用任何本地名稱數據庫:

dnsmasq -H /opt/app/hosts

引用自:https://serverfault.com/questions/327024