Konfigurieren der Citrix ADC Appliance als DNS-Proxyserver

Als DNS-Proxyserver kann die ADC-Appliance als Proxy für einen einzelnen DNS-Server oder eine Gruppe von DNS-Servern fungieren. Der Ablauf von Anforderungen und Antworten wird im folgenden Beispieltopologiediagramm veranschaulicht.

Abbildung 1. Citrix ADC als DNS-Proxy

NetScaler als DNS-Proxy

Standardmäßig speichert die Citrix ADC Appliance Antworten von DNS-Nameservern. Wenn die Appliance eine DNS-Abfrage empfängt, sucht sie in ihrem Cache nach der abgefragten Domäne. Wenn die Adresse der abgefragten Domäne im Cache vorhanden ist, gibt der Citrix ADC die entsprechende Adresse an den Client zurück. Andernfalls wird die Abfrage an einen DNS-Nameserver weitergeleitet, der die Verfügbarkeit der Adresse prüft und an den Citrix ADC zurückgibt. Der Citrix ADC gibt dann die Adresse an den Client zurück.

Bei Anforderungen für eine zuvor zwischengespeicherte Domäne dient Citrix ADC den Adressdatensatz der Domäne aus dem Cache, ohne den konfigurierten DNS-Server abzufragen.

Die Appliance verwirft einen im Cache gespeicherten Datensatz, wenn der TTL-Wert (Time-to-Live) des Datensatzes den konfigurierten Wert erreicht. Ein Client, der einen abgelaufenen Datensatz anfordert, muss warten, bis der Citrix ADC den Datensatz vom Server abruft und seinen Cache aktualisiert. Um diese Verzögerung zu vermeiden, aktualisiert Citrix ADC den Cache proaktiv, indem er den Datensatz vom Server abruft, bevor der Datensatz abläuft.

In der folgenden Tabelle sind Beispielnamen und Werte der Entitäten aufgeführt, die auf dem Citrix ADC konfiguriert werden müssen.

Tabelle 1. Beispiel für die Konfiguration der DNS-Proxy-Entitäten

Entitätstyp Name IP-Adresse Typ Port
Virtueller LB-Server Vserver-DNS-1 10.102.29.40 DNS 53
Services Service-DNS-1 10.102.29.50 DNS 53
Services Service-DNS-2 10.102.29.51 DNS 53

Das folgende Diagramm zeigt die Entitäten eines DNS-Proxy und die Werte der Parameter, die auf dem Citrix ADC konfiguriert werden sollen.

Abbildung 2. DNS-Proxy-Entitätsmodell

DNS-Proxy-Entitätsmodell

Hinweis:

Um den DNS-Proxy zu konfigurieren, müssen Sie wissen, wie Sie Lastausgleichsdienste und virtuelle Server konfigurieren.

Erstellen eines virtuellen Lastausgleichsservers

Um einen DNS-Proxy auf dem Citrix ADC zu konfigurieren, konfigurieren Sie einen virtuellen Lastausgleichsserver vom Typ DNS. Um einen virtuellen DNS-Server für den Lastenausgleich einer Gruppe von DNS-Servern zu konfigurieren, die rekursive Abfragen unterstützen, müssen Sie die Option Rekursion verfügbar festlegen. Mit dieser Option wird das RA-Bit in den DNS-Antworten vom virtuellen DNS-Server auf ON gesetzt.

Anweisungen zum Erstellen eines virtuellen Lastausgleichsservers finden Sie unterLastausgleich.

Erstellen von DNS-Diensten

Nachdem Sie einen virtuellen Lastausgleichsserver vom Typ DNS erstellt haben, müssen Sie DNS-Dienste erstellen. Sie können einen DNS-Dienst hinzufügen, ändern, aktivieren, deaktivieren und entfernen. Anweisungen zum Erstellen eines DNS-Diensts finden Sie unterLastausgleich.

Binden eines virtuellen Lastausgleichsservers an DNS-Dienste

Um die DNS-Proxykonfiguration abzuschließen, müssen Sie die DNS-Dienste an den virtuellen Lastausgleichsserver binden. Anweisungen zum Binden eines Diensts an einen virtuellen Lastausgleichsserver finden Sie unterLastausgleich.

Konfigurieren des DNS-Proxy-Setups für die Verwendung von TCP

Einige Clients verwenden das User Datagram Protocol (UDP) für die DNS-Kommunikation. UDP gibt jedoch eine maximale Paketgröße von 512 Byte an. Wenn die Nutzlastlänge 512 Byte überschreitet, muss der Client das Transmission Control Protocol (TCP) verwenden. Wenn ein Client der Citrix ADC Appliance eine DNS-Abfrage sendet, leitet die Appliance die Abfrage an einen der Nameserver weiter. Wenn die Antwort für ein UDP-Paket zu groß ist, legt der Nameserver das Abkürzungsbit in seiner Antwort auf das Citrix ADC fest. Das Kürzungsbit zeigt an, dass die Antwort für UDP zu groß ist und dass der Client die Abfrage über eine TCP-Verbindung senden muss. Der Citrix ADC sendet die Antwort an den Client mit intaktem Kürzungsbit und wartet darauf, dass der Client eine TCP-Verbindung mit der IP-Adresse des virtuellen DNS-Lastausgleichsservers an Port 53 initiiert. Der Client sendet die Anforderung über eine TCP-Verbindung. Die Citrix ADC Appliance leitet die Anforderung dann an den Nameserver weiter und leitet die Antwort an den Client weiter.

Um Citrix ADC für die Verwendung des TCP-Protokolls für DNS zu konfigurieren, müssen Sie einen virtuellen Lastausgleichsserver und Dienste vom Typ DNS_TCP konfigurieren. Sie können Monitore vom Typ DNS_TCP konfigurieren, um den Status der Dienste zu überprüfen. Anweisungen zum Erstellen virtueller DNS_TCP Server, Dienste und Monitore finden Sie unterLastausgleich.

Um die Datensätze proaktiv zu aktualisieren, verwendet Citrix ADC eine TCP-Verbindung zum Server, um die Datensätze abzurufen.

Wichtig

Um Citrix ADC für die Verwendung von UDP für DNS zu konfigurieren und TCP nur zu verwenden, wenn die Nutzlastlänge von UDP 512 Byte überschreitet, müssen Sie DNS- und DNS_TCP-Dienste konfigurieren. Die IP-Adresse des DNS_TCP-Dienstes muss mit der des DNS-Dienstes übereinstimmen.

Konfigurieren von Time-to-live-Werten für DNS-Einträge

Die TTL ist für alle DNS-Einträge mit demselben Domänennamen und demselben Datensatztyp identisch. Wenn der TTL-Wert für einen der Datensätze geändert wird, wird der neue Wert in allen Datensätzen mit demselben Domänennamen und demselben Typ wiedergegeben. Der Standardwert TTL ist 3600 Sekunden. Das Minimum ist 0, und das Maximum ist 604800. Wenn ein DNS-Eintrag einen TTL-Wert kleiner als das Minimum oder größer als das Maximum aufweist, wird er als minimaler bzw. maximaler TTL-Wert gespeichert.

Geben Sie die minimale und/oder maximale TTL mit der CLI an

Geben Sie an der Citrix ADC Eingabeaufforderung die folgenden Befehle ein, um die minimale und maximale TTL anzugeben, und überprüfen Sie die Konfiguration:

-  set dns parameter [-minTTL <secs>] [-maxTTL <secs>]
-  show dns parameter

Beispiel:

> set dns parameter -minTTL 1200 -maxTTL 1800
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        Minimum TTL: 1200               Maximum TTL: 1800
            .
            .
            .
 Done
>

Geben Sie die minimale und/oder maximale TTL mit der GUI an

  1. Navigieren Sie zu Traffic Management > DNS.
  2. Klicken Sie im Detailbereich unter Einstellungen auf DNS-Einstellungen ändern.
  3. Geben Sie im Dialogfeld DNS-Parameter konfigurieren in TTL in die Textfelder Minimum und Maximum die minimale bzw. maximale Livezeit (in Sekunden) ein, und klicken Sie dann auf OK.

Hinweis: Wenn die TTL abläuft, wird der Datensatz aus dem Cache gelöscht. Citrix ADC kontaktiert proaktiv die Server und ruft den DNS-Eintrag kurz vor Ablauf des DNS-Eintrags ab.

DNS-Einträge leeren

Sie können alle DNS-Einträge löschen, die im Cache vorhanden sind. Beispielsweise können Sie DNS-Einträge leeren, wenn ein Server nach Änderungen neu gestartet wird.

Löschen aller Proxydatensätze mit der CLI

Geben Sie an der Citrix ADC Eingabeaufforderung Folgendes ein:

flush dns proxyRecords

Löschen aller Proxydatensätze mit der GUI

  1. Navigieren Sie zu Traffic Management > DNS > Datensätze.
  2. Klicken Sie im Detailbereich auf Proxydatensätze leeren.

Hinzufügen von DNS-Ressourceneinträgen

Sie können DNS-Einträge zu einer Domäne hinzufügen, für die die Citrix ADC Appliance als DNS-Proxyserver konfiguriert ist. Hinweise zum Hinzufügen von DNS-Datensätzen finden Sie unterKonfigurieren von DNS-Ressourceneinträgen.

Entfernen eines virtuellen DNS-Servers für Lastenausgleich

Hinweise zum Entfernen eines virtuellen Lastausgleichsservers finden Sie unterLastausgleich.

Begrenzen der Anzahl gleichzeitiger DNS-Anforderungen für eine Clientverbindung

Sie können die Anzahl gleichzeitiger DNS-Anforderungen für eine einzelne Clientverbindung einschränken, die durch das <clientip:port>-<vserver ip:port> Tupel identifiziert wird. Gleichzeitige DNS-Anforderungen sind die Anforderungen, die die Citrix ADC Appliance an die Nameserver weitergeleitet hat und für die die Appliance Antworten erwartet. Durch die Begrenzung der Anzahl gleichzeitiger Anforderungen für eine Clientverbindung können Sie die Nameserver schützen, wenn ein feindseliger Client einen DDoS-Angriff (Distributed Denial of Service) versucht, indem er eine Flut von DNS-Anforderungen sendet. Wenn der Grenzwert für eine Clientverbindung erreicht ist, werden nachfolgende DNS-Anforderungen für die Verbindung gelöscht, bis die Anzahl der ausstehenden Anforderungen unter den Grenzwert liegt. Dieser Grenzwert gilt nicht für die Anforderungen, die die Citrix ADC-Appliance aus ihrem Cache ausführt.

Der Standardwert für diesen Parameter ist 255. Dieser Standardwert ist in den meisten Szenarien ausreichend. Wenn die Namenserver unter normalen Betriebsbedingungen eine große Anzahl gleichzeitiger DNS-Anforderungen bedienen, können Sie entweder einen großen Wert oder einen Wert von Null (0) angeben. Der Wert 0 deaktiviert dieses Feature und gibt an, dass es keine Begrenzung für die Anzahl der DNS-Anforderungen gibt, die für eine einzelne Clientverbindung zulässig sind. Dies ist ein globaler Parameter und gilt für alle virtuellen DNS-Server, die auf der Citrix ADC Appliance konfiguriert sind.

Geben Sie die maximale Anzahl gleichzeitiger DNS-Anforderungen an, die für eine einzelne Clientverbindung zulässig sind, mithilfe der Befehlsschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die maximale Anzahl gleichzeitiger DNS-Anforderungen anzugeben, die für eine einzelne Clientverbindung zulässig sind, und überprüfen Sie die Konfiguration:

-  set dns parameter -maxPipeline <positive_integer>
-  show dns parameter

Beispiel:

> set dns parameter -maxPipeline 1000
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        .
        .
        .
        Max DNS Pipeline Requests: 1000
 Done

Geben Sie die maximale Anzahl gleichzeitiger DNS-Anforderungen an, die für eine einzelne Clientverbindung zulässig sind, mit der GUI

  1. Navigieren Sie zu Traffic Management > DNS.
  2. Klicken Sie im Detailbereich auf DNS-Einstellungen ändern.
  3. Geben Sie im Dialogfeld DNS-Parameter konfigurieren einen Wert für Max. DNS-Pipeline-Anforderungen an.
  4. Klicken Sie auf OK.