Eu tenho o servidor DNS BIND configurado com duas visualizações. ambos têm um conjunto diferente de dados de zona. quando o usuário final consulta o servidor DNS, preciso rotear e alterar dinamicamente sua solicitação de acordo com suas necessidades. como exemplo, se o usuário digitar example.com, eu preciso que ele forneça a resposta de DNS 1.2.3.4 se o usuário quiser alcançar um serviço diferente e eu tiver que fornecer a resposta de DNS 4.3.2.1 para o mesmo exemplo.com.
afaik única maneira de fazer isso usando correspondência do endereço IP de origem do usuário e rotear o tráfego DNS de acordo com isso. para a configuração que eu configurei duas interfaces virtuais com o endereço IP privado e configurei as views de bind para combinar com aquelas do IP interno usando a opção 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";
};
Eu preciso alcançar resultados como esse
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
Eu preciso alterar o endereço de origem do pacote de entrada para esses endereços IP privados e consultar usando o DNS de vinculação sob diferentes modos de exibição. e envie o resultado do DNS de volta ao cliente. isso é possível com ipsets, iptables e iproute? se sim como posso conseguir isso?