Ändern Sie die BIND-DNS-Antwort mit iptables-Daten

314
charith

Ich habe BIND DNS-Server mit zwei Ansichten konfiguriert. Beide haben unterschiedliche Zonendaten. Wenn der Endbenutzer den DNS-Server abfragt, muss ich seine Anfrage dynamisch weiterleiten und entsprechend seinen Anforderungen ändern. Als Beispiel für den Benutzertyp example.com muss ich ihm die DNS-Antwort 1.2.3.4 geben, wenn der Benutzer einen anderen Dienst erreichen möchte, und ich muss ihm die DNS-Antwort 4.3.2.1 für dasselbe example.com geben.

afaik kann dies nur mit übereinstimmender Quell-IP-Adresse der Benutzer und dem DNS-Verkehr entsprechend tun. Für das Setup setze ich zwei virtuelle Schnittstellen mit privater IP-Adresse ein und konfiguriere Bindeansichten, um diese internen IPs mit der Match-Client-Option anzupassen

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

Ich muss solche Ergebnisse erzielen

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  

Ich muss die eingehende Paketquelladresse in diese private IP-Adresse ändern und die Abfrage mithilfe von Bind-DNS unter verschiedenen Ansichten abfragen. und senden Sie das DNS-Ergebnis zurück an den Client. Ist dies mit ipsets, iptables und iproute möglich? wenn ja wie kann ich das erreichen?

0
Ist dies für den öffentlichen Gebrauch bestimmt oder versuchen Sie, ein internes Nischenproblem zu lösen? Anders ausgedrückt, versuchen Sie, einen Weg zu finden, um das Problem zu lösen, bei dem Bob.User, der AOL.com verwendet, zu example.com navigiert und zuerst 1.2.3.4 als IP-Adresse erhält, und dann zu example.com unter ein wenig abweicht Umstände und erhält 4.3.2.1? Oder kontrollieren Sie sowohl den Client als auch den Server? Und warum wollen Sie das tun (was ist Ihr Endziel)? Slartibartfast vor 6 Jahren 0
Dies ist nur für den internen Gebrauch und zu Testzwecken. Ja, ich muss die DNS-Antwort dynamisch ändern, wenn der Client dieselbe DNS-Server-IP verwendet. Ich kontrolliere nur den Server charith vor 6 Jahren 0
Ohne ein sehr klares Beispiel in der Frage gibt es keine Möglichkeit, eine Antwort zu geben. Sie müssen wirklich ein einfaches Anwendungsbeispiel erstellen, indem Sie die Frage bearbeiten und angeben, unter welchen Umständen die Abfrage 1.2.3.4 empfangen würde und unter welchen anderen Umständen genau dieselbe Abfrage 4.3.2.1 erhalten würde. Dies ist dann ein Kriterium für jede mögliche Lösung A.B vor 6 Jahren 0

0 Antworten auf die Frage