Я хочу создать файл хоста в произвольном месте (например, / opt / app / hosts) с тем же форматированием, что и файл / etc / hosts.
Причина в том, что я хочу вручную запросить DNS-сервер для определенного диапазона хостов и записать их в свой собственный файл хоста. Я не могу добавить этот DNS-сервер в /etc/resolv.conf, потому что я не хочу, чтобы сервер пытался разрешать хосты с его помощью (кроме небольшого подмножества, которое я запрашиваю вручную).
Я попытался найти способ включить его в / etc / hosts или настроить его в /etc/nsswitch.conf или /etc/resolv.conf, но, насколько я могу судить, ни один из этих файлов конфигурации не содержит.
dnsmasq может это (и многое другое); он позволяет использовать любую локальную базу данных имен в дополнение к обычному файлу hosts и DNS с помощью одного простого переключателя:
dnsmasq -H /opt/app/hosts
Вы можете настроить BIND для пересылки запросов для определенных доменов на определенный DNS-сервер:
zone "some.domain"
{
type forward;
forwarders { 10.0.0.1; };
};
Все остальные запросы будут перенаправлены на серверы, указанные в глобальном options::forwarders
раздел. Наверное, это лучший способ добиться желаемого.