изменить ответ DNS BIND, используя данные iptables

275
charith

У меня BIND DNS-сервер настроен с двумя представлениями. оба имеют различный набор данных зоны. когда конечный пользователь запрашивает DNS-сервер, мне нужно динамически маршрутизировать и изменять его запрос в соответствии с его потребностями. в качестве примера, если пользователь типа example.com, мне нужно, чтобы он дал ответ DNS 1.2.3.4, если пользователь хочет обратиться к другой службе, и я должен дать ему ответ DNS 4.3.2.1 для того же example.com.

Afaik единственный способ сделать это, используя сопоставление исходного IP-адреса пользователя и маршрутизацию трафика DNS в соответствии с этим. для настройки я установил два виртуальных интерфейса с частным IP-адресом и настроил представления привязки, чтобы они соответствовали этим внутренним IP-адресам, используя опцию match client

view "VIEW1" { match-clients { 192.168.10.20; }; include "/etc/zones2.conf"; };  view "VIEW2" { match-clients { 192.168.10.30; }; include "/etc/zones3.conf"; }; 

Мне нужно достичь таких результатов

scenario 1 --> example.com --> SNAT to 10.20 --> response (1.2.3.4) --> send back to client  scenario 2 --> example.com --> SNAT to 10.30 --> response (4.3.2.1) --> send back to client  

Мне нужно изменить адрес источника входящего пакета на этот частный IP-адрес и запрос с использованием bind DNS в разных представлениях. и отправить результат DNS обратно клиенту. это можно сделать с ipsets, iptables и iproute? если да, как я могу этого добиться?

0
Это предназначено для публичного использования, или вы пытаетесь решить внутреннюю проблему ниши? Другими словами, вы пытаетесь найти способ решить проблему, когда Bob.User, который использует AOL.com, переходит на example.com и сначала получает 1.2.3.4 в качестве IP-адреса, а затем переходит на example.com под несколько другим обстоятельства и заводит 4.3.2.1? Или вы контролируете и клиент, и сервер? И наконец, почему вы хотите это сделать (какова ваша конечная цель)? Slartibartfast 6 лет назад 0
это только для внутреннего использования и для некоторых целей тестирования. да, мне нужно динамически изменять ответ DNS, когда клиент использует тот же IP-адрес DNS-сервера. Я управляю только сервером charith 6 лет назад 0
Без очень четкого примера, добавленного в вопрос, нет никакого способа дать ответ. Вам действительно нужно привести простой пример использования, отредактировав вопрос и указав, при каких обстоятельствах запрос получит 1.2.3.4 и при каких других обстоятельствах тот же самый запрос получит 4.3.2.1. Затем он будет использоваться для любого возможного решения. A.B 6 лет назад 0

0 ответов на вопрос

Похожие вопросы