Возвращать разные результаты DNS в зависимости от клиента

Вопрос или проблема

У меня работает bind9 для локального DNS в сети. У меня также есть сервер кэширования APT. Я настроил файл RPZ, чтобы отравлять определенные доменные имена и перенаправлять их на мой внутренний кэш-сервер. Запуск, например, apt update возвращает ошибки разрешения Я думаю, потому что кэш-сервер не может разрешить истинные (внешние) записи и получить данные. Я думаю, что это означает, что мне нужно будет настроить представление для кэш-сервера как /32.

Так что вопрос: могу ли я настроить так, чтобы мой кэш-сервер, обращаясь к доменам в отравленной зоне, просто перенаправлялся, в то время как остальная часть сети получает отравленные данные? Я просто не уверен, как это сделать.

Ответ или решение

Различные результаты DNS в зависимости от клиента

В рамках вашей конфигурации с использованием BIND9 и кэширования APT, вы столкнулись с необходимостью настройки DNS так, чтобы разные клиенты получали разные результаты в зависимости от их адресов и роли в сети. Основная проблема заключается в том, что сервер кэширования не может корректно разрешить домены, отравленные в сетевом фильтре с использованием RPZ (Response Policy Zone). Существует решение, которое позволит вам настроить различные ответы DNS для кэш-сервера и для остальных клиентов сети.

Проблема

На данный момент ваш кэш-сервер, который, вероятно, находится в вашей локальной сети, не может корректно разрешать запросы для отравленных доменов, потому что RPZ файл перенаправляет эти запросы на сам DNS-сервер. Это приводит к ошибкам при выполнении команд, таких как apt update. Ваша идея создать отдельное представление (или view) для кэш-сервера является правильной.

Решение

  1. Создание представлений (views)

    Вам необходимо создать два разных представления в конфигурации BIND9: одно для кэш-сервера и другое для остальной части сети. Это позволит вам возвращать разные DNS-результаты в зависимости от источника запроса.

    Пример конфигурации:

    view "internal" {
       match-clients { any; }; # для всех остальных клиентов в сети
    
       // Настройки RPZ для отравленных зон
       zone "отравленная-зона.com" {
           type master;
           file "/etc/bind/rpz-зона.db";
       };
    
       // Другие стандартные настройки
       recursion yes;
       allow-query { any; };
    };
    
    view "caching-server" {
       match-clients { 192.168.1.100; }; // укажите IP вашего кэш-сервера
    
       // Перенаправляем запросы к отравленным доменам
       zone "отравленная-зона.com" {
           type forward;
           forward only;
           forwarders { 8.8.8.8; 8.8.4.4; }; // укажите внешний DNS
       };
    
       // Стандартные настройки для кэш-сервера
       recursion yes;
       allow-query { key "named-key"; }; // только для кэш-сервера
    };
  2. Настройка RPZ

    Убедитесь, что ваш RPZ файл настроен корректно. Чаще всего включает в себя правила, определяющие, какие домены будут направляться на внутренний IP (например, кэш-сервер).

    Пример секции RPZ:

    zone "rpz" {
       type master;
       file "/etc/bind/rpz.db";
    };
    
    ; RPZ правила
    $TTL 2h
    @ IN SOA localhost. root.localhost. (
       2023101501 ; Serial
       2h          ; Refresh
       30m         ; Retry
       1w          ; Expire
       1h          ; Negative Cache TTL
    )
    
    ; Примеры записей
    example.com CNAME .
  3. Проверка конфигурации

    После внесения изменений в конфигурацию BIND9, не забудьте выполнить проверку конфигурации и перезагрузку службы:

    sudo named-checkconf
    sudo systemctl restart bind9
  4. Мониторинг и ведение журнала

    Внедрите систему мониторинга для анализа запросов DNS и ведите журнал ошибок, если такие возникнут. Это поможет вам в дальнейшем оптимизировать систему и выявить проблемы.

Заключение

Настройка различных DNS-результатов для разных клиентов может показаться сложной задачей, однако, следуя приведенным шагам, вы сможете достичь желаемого результата. Использование представлений в BIND9 представляет собой мощный инструмент для управления запросами DNS и может существенно улучшить работу вашей сети. Настоятельно рекомендуется проводить тестирование и мониторинг после настройки, чтобы убедиться в корректности выполненных изменений и отсутствии ошибок.

Оцените материал
Добавить комментарий

Капча загружается...