ADC

DNS-Unterstützung für die Responder-Funktion

Sie können die Responder-Funktion so konfigurieren, dass sie auf DNS-Anfragen genauso reagiert wie auf HTTP- und TCP-Anfragen. Sie könnten es beispielsweise so konfigurieren, dass DNS-Antworten über UDP gesendet werden und sichergestellt wird, dass die DNS-Anfragen vom Client über TCP gesendet werden. Eine Reihe von NetScaler-Ausdrücken unterstützen die Untersuchung des DNS-Headers in der Anfrage. Diese Ausdrücke untersuchen bestimmte Header-Felder und senden eine entsprechende Antwort.

  • DNS-Ausdrücke. In einer Responderkonfiguration können Sie die folgenden NetScaler-Ausdrücke verwenden, um auf verschiedene Teile einer DNS-Anfrage zu verweisen:

    Ausdrücke Beschreibungen
    DNS.NEW_RESPONSE Erstellt basierend auf der Anfrage eine neue leere DNS-Antwort.
    DNS.NEW_RESPONSE <AA, TC, rcode> Erstellt eine neue DNS-Antwort auf der Grundlage der angegebenen Parameter.
  • DNS-Bindungspunkte. Die folgenden globalen Bindungspunkte sind für Richtlinien verfügbar, die DNS-Ausdrücke enthalten.

    Punkte binden Beschreibungen
    DNS_REQ_OVERRIDE Warteschlange für Richtlinien zur Priorität/Außerkraftsetzung von Anfragen.
    DNS_REQ_DEFAULT Standardwarteschlange für Anforderungsrichtlinien.

    Zusätzlich zu den Standardbindungspunkten können Sie Richtlinienlabels des Typs DNS erstellen und DNS-Richtlinien an diese binden.

Konfiguration der Responder-Richtlinien für DNS

Das folgende Verfahren verwendet die NetScaler-Befehlszeile, um eine Responder-Aktion und -Richtlinie zu konfigurieren und die Richtlinie an einen Responder-spezifischen globalen Bindungspunkt zu binden.

So konfigurieren Sie den Responder so, dass er auf eine DNS-Anfrage reagiert:

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

  1. add responder action <actName> <actType>

    Für <actname>, ersetzen Sie Ihre neue Aktion durch einen Namen. Der Name kann 1 bis 127 Zeichen lang sein und Buchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten. <actType>Ersetzen Sie durch den Responder-Aktionstyp respondWith.

  2. add responder policy <polName> <rule> <actName>

    Für <polname>, ersetzen Sie einen Namen für Ihre neue Richtlinie. Denn <actname>der Name kann 1 bis 127 Zeichen lang sein und Buchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten. Ersetzen Sie durch den Namen der Aktion, die Sie gerade erstellt haben. <actname>

  3. bind responder policy <polName> <priority> <nextExpr> -type <bindPoint>

    Geben Sie für <bindPoint>einen der Responderspezifischen globalen Bindungspunkte an. <polName>Ersetzen Sie ihn durch den Namen der Richtlinie, die Sie gerade erstellt haben. Geben Sie für <priority>die Priorität der Richtlinie an.

Beispielkonfiguration — Alle DNS-Anfragen über TCP erzwingen:

Um alle DNS-Anforderungen über TCP zu erzwingen, erstellen Sie eine Responder-Aktion, die das TC-Bit und rcode als NOERROR setzt.

> add responder action resp_act_set_tc_bit respondwith DNS.NEW_RESPONSE(true, true, NOERROR)
Done

> add responder policy enforce_tcp  dns.REQ.TRANSPORT.EQ(udp)  resp_act_set_tc_bit
Done

>bind lb vserver dns_udp –policyName  enforce_tcp   -type request –priority 100
Done
<!--NeedCopy-->
DNS-Unterstützung für die Responder-Funktion