Citrix ADC

Festlegen von Standortkennzeichnungen

Die zur Implementierung der statischen Nähe verwendete Datenbank enthält den Standort der GSLB-Standorte. Jeder Standort hat einen IP-Adressbereich und bis zu sechs Qualifizierer für diesen Bereich. Die Qualifikationszeichen sind wörtliche Zeichenfolgen und werden zur Laufzeit in einer vorgeschriebenen Reihenfolge verglichen. Jeder Standort muss mindestens einen Qualifier haben. Die Qualifier-Labels definieren die Bedeutung der Qualifier (Kontext), die benutzerdefiniert sind. Citrix ADC hat zwei eingebaute Kontexte:

Geografischer Kontext, der die folgenden Qualifier-Labels hat:

  • Qualifier 1 — “Kontinent”
  • Qualifikationsspiel 2 — “Land”
  • Qualifier 3 — “Staat”
  • Qualifikationsspiel 4 — “Stadt”
  • Qualifikationsspiel 5 — “ISP”
  • Qualifier 6 — “Organisation”

Benutzerdefinierte Einträge, die die folgenden Qualifier-Labels haben:

  • Qualifikationsspiel 1 — “Qualifikationsspiel 1”
  • Qualifikationsspiel 2 — “Qualifikationsspiel 2”
  • Qualifikationsspiel 3 — “Qualifikationsspiel 3”
  • Qualifikationsspiel 4 — “Qualifikationsspiel 4”
  • Qualifikationsspiel 5 — “Qualifikationsspiel 5”
  • Qualifikationsspiel 6 — “Qualifikationsspiel 6”

Wenn der geografische Kontext ohne Kontinentkennzeichen festgelegt ist, wird Kontinent vom Land abgeleitet. Sogar die eingebauten Qualifier-Labels basieren auf dem Kontext, und die Beschriftungen können geändert werden. Diese Qualifier-Labels geben die Standorte an, die den IP-Adressen zugeordnet sind, die für statische Näherungsentscheidungen verwendet werden.

Um eine statische Proximity-basierte Entscheidung zu treffen, vergleicht die Citrix ADC-Appliance die von der IP-Adresse des lokalen DNS-Server-Resolvers abgeleiteten Standortattribute (Qualifikatoren) mit den Standortattributen der teilnehmenden Sites. Wenn nur eine Site übereinstimmt, gibt die Appliance die IP-Adresse dieser Site zurück. Wenn es mehrere Übereinstimmungen gibt, ist die ausgewählte Site das Ergebnis eines Round Robin auf den übereinstimmenden GSLB-Sites. Wenn es keine Übereinstimmung gibt, ist die ausgewählte Site das Ergebnis eines Round Robin auf allen konfigurierten Standorten. Eine Seite, die keine Qualifikationsspiele hat, wird als Spiel betrachtet.

Mit den GEO-Regeln für den standortbasierten Richtlinienausdruck können Sie Platzhalterübereinstimmungen überprüfen. Diese Funktion prüft, ob Platzhalterqualifizierer mit anderen Qualifikationszeichen übereinstimmen, einschließlich Nicht-Platzhalter oder nicht. Die Platzhalterübereinstimmung erfolgt mithilfe des Attributs matchWildcardtoany, das dem Befehl set locationParameter hinzugefügt wurde.

Das Attribut matchWildcardtoany kann auf die folgenden Werte festgelegt werden:

  • Ja: Wildcard-Qualifikationsspiele stimmen mit allen anderen Qualifikationsspielen überein.
  • Nein: Platzhalter-Qualifikationsspiele stimmen nicht mit Nicht-Wildcard-Qualifikationsspielen überein, sondern stimmen mit anderen Platzhalter-Qualifikationsspielen überein. Die Standardoption ist “ Nein”.
  • Ausdruck: Platzhalterqualifizierer in einem Ausdruck stimmen mit jedem Qualifikator an einer LDNS-Position überein, aber Platzhalterqualifizierer am LDNS-Speicherort stimmen nicht mit Nicht-Platzhalter-Qualifizierern in einem Ausdruck überein.

Beispiel:

add dns policy policy1 "CLIENT.IP.SRC.MATCHES_LOCATION("Continent.country \*.\*.\*.\* \“)” <action>
<!--NeedCopy-->

So stellen Sie die Standortparameter über die CLI ein

Geben Sie an der Eingabeaufforderung Folgendes ein:

set locationparameter -context <context> -q1label <string> [-q2label <string>] [-q3label <string>] [-q4label <string>] [-q5label <string>] [-q6label <string>] -matchWildcardtoany [Yes | No | Expression]
<!--NeedCopy-->

Beispiel:

set locationparameter -context custom -q1label asia -matchWildcardtoany Yes
<!--NeedCopy-->

So stellen Sie die Standortparameter über die GUI ein

  1. Navigieren Sie zu Traffic Management > GSLB > Datenbank und Einträge.
  2. Klicken Sie unter Einstellungenauf Standortparameter ändern.
  3. Legen Sie auf der Seite Standortparameter konfigurieren die Standortparameter fest.

Konfigurationsbeispiel (mit CLI)

Erwägen Sie die folgende Netzwerkkonfiguration:

  • Name des virtuellen GSLB-Servers: gv1
  • IP-Adresse des virtuellen GSLB-Servers: 1.1.1.2
  • GSLB-Dienst: gsvc1 an gv1 gebunden
  • Speicherort DB-Dateiname: sample.csv
  • Geolokalisierungsqualifizierer: Die Qualifizierer 1 und 2 sind konfiguriert. Rest ist so eingestellt, dass es mit dem Platzhalter übereinstimmt.
    • Qualifikationsspiel 1 — Asien
    • Qualifikationsspiel 2 — IR
    • Qualifikationsspiel 3-*
    • Qualifikationsspiel 4-*
    • Qualifikationsspiel 5-*
    • Qualifikationsspiel 6-*
  • DNS-Richtlinie — Die Richtlinie pol1 ist so eingestellt, dass die Pakete verworfen werden, wenn es eine Übereinstimmung gibt.

Stellen Sie den Standortparameter ein und konfigurieren Sie die DNS-Richtlinie wie folgt:

set locationParameter -q2label Country_Code -q3label Subdivision_1_Name -q4label Subdivision_2_Name -q5label City

add locationFile "/var/netscaler/inbuilt_db/sample.csv"

add gslb vserver gv1 HTTP -backupLBMethod ROUNDROBIN -tolerance 0

add dns policy pol1 "CLIENT.IP.SRC.MATCHES_LOCATION("Asia.IR.\*.\*.\*.\*")||CLIENT.IP.SRC.MATCHES_LOCATION("Asia.SY.\*.\*.\*.\*")||CLIENT.IP.SRC.MATCHES_LOCATION("Asia.SD.\*.\*.\*.\*")||CLIENT.IP.SRC.MATCHES_LOCATION("Asia.KP.\*.\*.\*.\*")||CLIENT.IP.SRC.MATCHES_LOCATION("North America.CU.\*.\*.\*.\*")||CLIENT.IP.SRC.MATCHES_LOCATION("Europe.UA.Crimea.\*.\*.\*.\*")" dns_default_act_Drop

bind dns global pol1 1 -gotoPriorityExpression 65535 -type REQ_DEFAULT

add gslb service gsvc1 1.1.1.2 HTTP 80 -publicIP 1.1.1.2 -publicPort 80 -maxClient 0 -healthMonitor NO -siteName s1 -cltTimeout 180 -svrTimeout 360 -downStateFlush ENABLED

bind gslb vserver gv1 -serviceName gsvc1

bind gslb vserver gv1 -domainName www.gslbnew.com -TTL 5
<!--NeedCopy-->

Fügen Sie der Location-DB-Datei die folgenden Clienteinträge hinzu. In diesem Beispiel lautet der DB-Dateiname des Speicherorts sample.csv:

10.106.24.170,10.106.24.190,,,,,,,8.0000,47.0000

10.102.82.170,10.102.82.190,Asia,,,,,,-73.9924,40.7553

10.106.24.140,10.106.24.150,,IR,,,,,51.4231,35.6961
<!--NeedCopy-->

Gemäß der vorherigen Konfiguration haben die Clients zwischen 10.106.24.170 und 10.106.24.190 keine Platzhalterqualifizierer definiert. Die Clients zwischen 10.106.24.140 und 10.106.24.150 haben den Qualifizierer 2 als IR.

Setzen Sie den Match-Platzhalter-Qualifizierer auf NEIN:

set locationparameter -matchWildcardtoany no
<!--NeedCopy-->

Wenn der Übereinstimmungs-Platzhalter-Qualifizierer auf NEIN festgelegt ist, stimmen die Platzhalter-Qualifizierer nur mit den definierten Platzhalter-Qualifizierern überein. Es stimmt nicht mit anderen Nicht-Wildcard-Qualifizierern überein.

  • Die DNS-Abfragen, die 10.106.24.147 kommen, entsprechen dem definierten Platzhalter-Qualifizierer (Qualifizierer 2 = IR). Daher tritt die DNS-Richtlinie in Kraft und löscht die Abfragen.

    Wenn Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem Client 10.106.24.147 ausführen, zeigt die Ausgabe, dass die Server nicht erreichbar waren.

     root@ns#  dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; connection timed out; no servers could be reached
     <!--NeedCopy-->
    
  • Die DNS-Abfragen von 10.106.24.180 stimmen nicht mit den definierten Qualifizierern überein. Die DNS-Richtlinie tritt nicht in Kraft und die Abfragen werden verarbeitet.

    Führen Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem 10.106.24.180-Client aus. Die Ausgabe zeigt die IP-Adresse des virtuellen GSLB-Servers.

     root@ns# dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; Got answer:
     ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64265
     ;; flags: qr aa rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
     ;; WARNING: recursion requested but not available
    
     ;; OPT PSEUDOSECTION:
     ; EDNS: version: 0, flags:; udp: 1280
     ;; QUESTION SECTION:
     ;www.gslbnew.com. IN    A
    
     ;; ANSWER SECTION:
     www.gslbnew.com.    5   IN  A   1.1.1.2
    
     ;; Query time: 12 msec
     ;; SERVER: 10.102.82.13#53(10.102.82.13)
     ;; WHEN: Tue Mar 29 22:46:40 UTC 2022
     ;; MSG SIZE  rcvd: 60
     <!--NeedCopy-->
    

Setzen Sie den Match-Platzhalter-Qualifizierer auf Ja:

set locationparameter -matchWildcardtoany yes
<!--NeedCopy-->

Wenn der Match-Platzhalter-Qualifizierer auf Ja festgelegt ist, stimmen die Platzhalter-Qualifizierer mit allen Platzhaltern überein (definierter und Nicht-Platzhalter-Qualifizierer).

  • Die DNS-Abfragen, die 10.106.24.147 kommen, entsprechen dem definierten Qualifizierer (Qualifizierer 2 = IR). Daher tritt die DNS-Richtlinie in Kraft und löscht die Abfragen.

    Führen Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem Client 10.106.24.147 aus. Die Ausgabe zeigt, dass Server nicht erreichbar waren.

     root@ns#  dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; connection timed out; no servers could be reached
     <!--NeedCopy-->
    
  • Die Abfragen von 10.106.24.180 stimmen mit den Nicht-Wildcard-Qualifizierern überein. Daher tritt die DNS-Richtlinie in Kraft und löscht die Abfragen.

    Führen Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem 10.106.24.180-Client aus. Die Ausgabe zeigt, dass Server nicht erreichbar waren.

     root@ns# dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; connection timed out; no servers could be reached
     <!--NeedCopy-->
    

Stellen Sie den Match-Platzhalter-Qualifizierer auf Ausdruck:

set locationparameter -matchWildcardtoany expression
<!--NeedCopy-->

Wenn der Übereinstimmungs-Platzhalter-Qualifizierer auf Ausdruck festgelegt ist, stimmen die Platzhalter-Qualifizierer entweder mit dem in der DNS-Richtlinie verfügbaren Qualifizierer oder mit den in der Speicherort-DB-Datei verfügbaren Qualifizierern überein.

  • Die DNS-Abfragen, die 10.106.24.147 kommen, stimmen mit den definierten Platzhalter-Qualifizierern in der DNS-Richtlinie überein. Daher tritt die DNS-Richtlinie in Kraft und löscht die Abfragen.

    Führen Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem Client 10.106.24.147 aus. Die Ausgabe zeigt, dass Server nicht erreichbar waren.

     root@ns#  dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; connection timed out; no servers could be reached
     <!--NeedCopy-->
    
  • Die Abfragen von 10.106.24.180 stimmen nicht mit den Qualifizierern in der DNS-Richtlinie überein. Daher tritt die DNS-Richtlinie nicht in Kraft und die Abfragen werden verarbeitet.

    Führen Sie den Befehl dig @10.102.82.13 www.gslbnew.com auf dem 10.106.24.180-Client aus. Die Ausgabe zeigt die IP-Adresse des virtuellen GSLB-Servers.

     root@ns# dig @10.102.82.13 www.gslbnew.com
    
     ; <<>> DiG 9.11.23 <<>> @10.102.82.13 www.gslbnew.com
     ; (1 server found)
     ;; global options: +cmd
     ;; Got answer:
     ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64265
     ;; flags: qr aa rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
     ;; WARNING: recursion requested but not available
    
     ;; OPT PSEUDOSECTION:
     ; EDNS: version: 0, flags:; udp: 1280
     ;; QUESTION SECTION:
     ;www.gslbnew.com.  IN   A
    
     ;; ANSWER SECTION:
     www.gslbnew.com.    5   IN  A   1.1.1.2
    
     ;; Query time: 12 msec
     ;; SERVER: 10.102.82.13#53(10.102.82.13)
     ;; WHEN: Tue Mar 29 22:46:40 UTC 2022
     ;; MSG SIZE  rcvd: 60
     <!--NeedCopy-->
    
Festlegen von Standortkennzeichnungen