Назад | Перейти на главную страницу

Создать собственный файл хоста

Я хочу создать файл хоста в произвольном месте (например, / 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 раздел. Наверное, это лучший способ добиться желаемого.