Citrix ADC

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 die DNS-Proxy-Funktion zu konfigurieren, müssen Sie wissen, wie Sie Load Balancing-Dienste 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ängen 512 Byte überschreiten, muss der Client 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. Die ADC-Appliance gibt die Antwort an den Client weiter, wobei das Kürzungsbit intakt ist. Es wartet darauf, dass der Client eine TCP-Verbindung mit der IP-Adresse des virtuellen DNS-Lastausgleichsservers auf 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 den Citrix ADC so zu konfigurieren, dass er UDP für DNS verwendet und TCP nur verwendet, wenn die Nutzlastlänge von UDP 512 Byte überschreitet, müssen Sie sowohl DNS- als auch DNS_TCP-Dienste konfigurieren. Die IP-Adresse des DNS_TCP-Dienstes muss mit der IP-Adresse 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 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 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 “ Proxy-Datensä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 begrenzen, 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 das Limit für eine Clientverbindung erreicht ist, werden nachfolgende DNS-Anfragen für die Verbindung gelöscht, bis die Anzahl der ausstehenden Anfragen unter das Limit fällt. Dieses Limit gilt nicht für die Anforderungen, die die Citrix ADC Appliance außerhalb des Caches bereitstellt.

Der Standardwert für diesen Parameter ist 255. Dieser Standardwert ist in den meisten Szenarien ausreichend. Wenn die Nameserver viele gleichzeitige DNS-Anforderungen unter normalen Betriebsbedingungen 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. Dieser Parameter ist ein globaler Parameter und gilt für alle virtuellen DNS-Server, die auf der Citrix ADC Appliance konfiguriert sind. Der Standardwert für diesen Parameter ist 255. Dieser Standardwert ist in den meisten Szenarien ausreichend. Wenn die Nameserver viele gleichzeitige DNS-Anforderungen unter normalen Betriebsbedingungen 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. Dieser Parameter ist ein globaler Parameter und gilt für alle virtuellen DNS-Server, die auf der Citrix ADC Appliance konfiguriert sind. Der Standardwert für diesen Parameter ist 255. Dieser Standardwert ist in den meisten Szenarien ausreichend. Wenn die Nameserver viele gleichzeitige DNS-Anforderungen unter normalen Betriebsbedingungen 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. Dieser Parameter 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.