PowerDNS: можно ли отправлять разные результаты в зависимости от IP-адреса сервера, используемого клиентом?

Я хотел бы настроить рекурсивный DNS-сервер с несколькими IP-адресами на одном сервере PowerDNS. Скажем так:

8.8.8.1
8.8.8.2

8.8.8.3
8.8.8.4

Мне было интересно, как я могу отправлять разные ответы в зависимости от IP-адреса, используемого клиентом.

Например, если клиент отправляет свои запросы на 8.8.8.1 и 8.8.8.2, сайт www.example.com разрешит на 1.1.1.1 в противном случае, если клиент использует 8.8.8.3 и 8.8.8.4 в качестве своего DNS-сервера, ответ будет 2.2.2.2.

Будет ли это возможно? Может быть, со сценариями LUA?

Спасибо!

3 ответа

В Bind вы сделали бы это с помощью ACL и Views.

Позиция Powerdns в "Split-Horizon" или "Bind Views":

Мы придерживаемся представления, что "представления" делают сервер имен излишне сложным внутри. Поскольку мы стремимся сделать PowerDNS простым и безопасным сервером, мы решили не реализовывать представления. - Берт

Обходной путь - вы можете запустить несколько экземпляров powerdns и использовать маршрутизацию на основе исходного кода на IPTables или NAT.

2 сервера PowerDNS на отдельных портах и ​​перенаправить его с помощью iptables.

Это действительно легко из Lua. В качестве альтернативы вы можете запустить два рекурсора и распределить трафик между ними на основе IP-адреса клиента, используя dnsdist.

Другие вопросы по тегам