ADC

Konfigurieren der DNS-Protokollierung

Sie können die NetScaler-Appliance so konfigurieren, dass die DNS-Anforderungen und -Antworten protokolliert werden, die sie verarbeitet. Die Appliance protokolliert die DNS-Anfragen und -Antworten im SYSLOG-Format. Sie können entweder DNS-Anfragen oder DNS-Antworten oder beides protokollieren und die Syslog-Meldungen an einen Remote-Protokollserver senden. Die Protokollmeldungen können verwendet werden, um:

  • Prüfen Sie die DNS-Antworten an den Kunden
  • Prüfung von DNS-Clients
  • Erkennen und verhindern Sie DNS-Angriffe
  • Problembehandlung

Eine NetScaler-Appliance kann die folgenden Abschnitte in der DNS-Anforderung oder -Antwort basierend auf Ihrer Konfiguration protokollieren:

  • Header-Abschnitt
  • Abschnitt “Fragen”
  • Abschnitt “Antwort”
  • Abschnitt Autorität
  • Zusätzliche Rubrik

DNS-Profile

Sie können ein DNS-Profil verwenden, um die verschiedenen DNS-Parameter zu konfigurieren, die der DNS-Endpunkt auf den DNS-Verkehr anwenden soll. Im Profil können Sie Protokollierung, Caching und negatives Caching aktivieren.

Wichtig: Seit der Version NetScaler 11.0 wurde die Aktivierung des DNS-Cachings mithilfe globaler DNS-Parameter eingestellt. Sie können das DNS-Caching mithilfe von DNS-Profilen aktivieren oder deaktivieren. Sie können jetzt das DNS-Caching für einen einzelnen virtuellen Server aktivieren, indem Sie das DNS-Caching in einem DNS-Profil aktivieren und das DNS-Profil auf den einzelnen virtuellen Server festlegen.

DNS-Profile unterstützen die folgenden Arten von DNS-Protokollierung:

  • DNS-Abfrageprotokollierung
  • Protokollierung des DNS-Antwortabschnitts
  • Erweiterte DNS-Protokollierung
  • DNS-Fehlerprotokollierung

Protokollierung von DNS-Abfragen

Sie können eine NetScaler-Appliance so konfigurieren, dass nur die DNS-Abfragen protokolliert werden, die von den DNS-Endpunkten auf der Appliance empfangen werden.

Hinweis: Wenn bei der Verarbeitung einer Abfrage Fehler auftreten, werden sie protokolliert, wenn diese Option im DNS-Profil festgelegt ist.

Es folgt ein Beispiel für eine Abfrageprotokollnachricht:

DNS DNS_QUERY 143 0 :  U:10.102.27.70#61297:10.102.27.73#53/22142/Q/
(RD)/NO/1/0/0/0#test.com./1#
<!--NeedCopy-->

Protokollierung des DNS-Antwortabschnitts

Sie können eine NetScaler-Appliance so konfigurieren, dass alle Antwortabschnitte in den DNS-Antworten protokolliert werden, die die Appliance an den Client sendet. Die Protokollierung des DNS-Antwortabschnitts ist nützlich, wenn der NetScaler als DNS-Resolver konfiguriert ist, oder in GLSB-Anwendungsfällen.

Es folgt ein Beispiel für ein DNS-Antwortabschnittsprotokoll:

DNS DNS_RESPONSE 6678 0 :  U:100.100.100.210#32776:100.100.100.10#
53/61373/Q/(RD,AA,RA,R)/NO/1/1/2/4#n1.citrix.com1./
28#ANS#AAAA/120/1111:2345:6789:ffab:abcd:effa:1234:3212##
<!--NeedCopy-->

Erweiterte DNS-Protokollierung

Um eine NetScaler-Appliance für die Protokollierung von Autorität und zusätzlichen Abschnitten in den DNS-Antworten zu konfigurieren, aktivieren Sie die erweiterte Protokollierung mit Protokollierung des Antwortabschnitts.

Hinweis: Wenn bei der Verarbeitung von Abfragen oder Antworten Fehler auftreten, werden die Fehler protokolliert, wenn diese Option im DNS-Profil festgelegt ist.

Es folgt ein Beispiel für eine Meldung, die protokolliert wird, wenn die Cache-Suche abgeschlossen ist und die Antwort in das Paket eingebettet ist:

DNS DNS_RESPONSE 2252 0 :  T:100.100.100.118#21411:100.100.100.10
#53/48537/Q/(RD,AA,CD,RA,R)/NO/1/1/2/6#a1.citrix.com1./1#ANS#A/
120/1.1.1.1##AUTH#citrix.com1/NS/120/n2.citrix.com1#n1.citrix.com1##ADD#n1.citrix.com1
/A/120/1.1.1.1#1.1.1.2##n1.citrix.com1/AAAA/120/
1111:2345:6789:ffab:abcd:effa:1234:3212##n2.citrix.com1/A/120/2.1.1.2
##n2.citrix.com1/AAAA/120/2222:faff:3212:8976:123:1241:64:ff9b##OPT/0/1280/DO##
<!--NeedCopy-->

DNS-Fehlerprotokollierung

Sie können eine NetScaler-Appliance so konfigurieren, dass die Fehler oder Fehler protokolliert werden, die bei der Verarbeitung einer DNS-Abfrage oder -Antwort auftreten. Für diese Fehler protokolliert die Appliance den DNS-Header, die Fragenabschnitte und die OPT-Datensätze.

Es folgt ein Beispiel für eine Nachricht, die protokolliert wird, wenn während der Verarbeitung einer DNS-Anforderung oder -Antwort ein Fehler auftritt:

DNS DNS_ERROR 149 0 :  U:10.102.27.70#27832:10.102.27.73#53/61153/Q/
(RD)/NO/1/0/0/0#test.com./1140#Packet Dropped
<!--NeedCopy-->

Policy-basierte Protokollierung

Sie können benutzerdefinierte Protokollierung basierend auf DNS-Ausdrücken konfigurieren, indem Sie die Richtlinien LogAction für DNS-Richtlinien, Rewrite oder Responder konfigurieren. Sie können angeben, dass die Protokollierung nur erfolgt, wenn eine bestimmte DNS-Richtlinie als true ausgewertet wird. Weitere Informationen finden Sie unter Konfigurieren der richtlinienbasierten Protokollierung für DNS.

Verstehen des NetScaler Syslog-Nachrichtenformats

Die NetScaler-Appliance protokolliert DNS-Anforderungen und -Antworten im folgenden Syslog-Format:

<transport> :<client IP>#<client ephemeral port>:<DNS endpoint IP>#<port>
 : <query id> /opcode/header flags/rcode/question section count/answer section count
/ auth section count / additional section count #<queried domain name>
/<queried type>#...
<!--NeedCopy-->
  • <transport>:
    • T = TCP
    • U = UDP
  • <client IP>#< client ephemeral port >: DNS-Client-IP-Adresse und Portnummer

  • <DNS endpoint IP>#<port>: NetScaler DNS-Endpunkt-IP-Adresse und Portnummer

  • <query id>: Abfrage-ID

  • <opcode>: Betriebscode. Unterstützte Werte:

    • Q: Abfrage
    • I: umgekehrte Abfrage
    • S: Status
    • X0: nicht zugewiesen
    • N: benachrichtigen
    • U: aktualisieren
    • X1-10: nicht zugewiesene Werte
  • <header flags>: Flags. Unterstützte Werte:

    • RD: Rekursion erwünscht
    • TC: abgeschnitten
    • AA: maßgebliche Antwort
    • CD: Scheck deaktiviert
    • AD: authentifizierte Daten
    • Z: nicht zugewiesen
    • RA: Rekursion verfügbar
    • R: Antwort
  • <rcode>: Antwortcode. Unterstützte Werte:

    • NO: kein Fehler
    • F Formatfehler
    • S: Serverausfall
    • NX: nicht existierende Domäne
    • NI: nicht implementiert
    • R: Abfrage abgelehnt
    • YX: Name Existiert wenn es nicht darf
    • YXR: RR Set Existiert wenn es nicht darf
    • NXR: RR Set das existieren muss gibt es nicht
    • NAS: Server nicht maßgeblich für Zone
    • NA: Nicht autorisiert
    • NZ: Name nicht in der Zone enthalten
    • X1-5: nicht zugewiesen
  • /question section count/answer section count/auth section count/additional section count: Fragenabschnitt, Autoritätsabschnittsanzahl und Anzahl zusätzlicher Abschnitte in DNS-Anforderung

  • <queried domain name>/<queried type>: Abgefragte Domäne und abgefragter Typ in der DNS-Anforderung

  • #ANS#<record type>/<ttl>/.. #AUTH#<domain name>/<record type>/<ttl>.. #ADD#<domain name>/<record type>/<ttl>…:

    In DNS-Antworten:

    Der Antwortbereich wird protokolliert, wenn die Protokollierung des Antwortbereichs im DNS-Profil aktiviert ist. Autorität und Zusätzliche Abschnitte werden protokolliert, wenn die erweiterte Protokollierung im DNS-Profil aktiviert ist. Das Protokollformat würde sich je nach Art des Datensatzes unterscheiden. Weitere Informationen finden Sie unter Grundlegendes zum Format der Datensatzprotokollierung.

    • ANS: answer section
    • AUTH: authority
    • ADD: Additional section
  • OPT/<edns version>/UDP max payload size/DO: OPT-Datensatzformat im DNS-Protokoll

  • OPT/<EDNS version>/<UDP payload size>/<“DO”or empty based on whether DNSSEC OK bit is set or not>/<value of RDLEN>/ECS/<Q/R>/<option length>/<Family>/<Source Prefix-Length>/<Scope Prefix-Length>/<ECS Address>:

    Wenn die DNS-Abfrage oder -Antwort die Option EDNS-Client-Subnetz (ECS) enthält, wird dies auch im OPT-Datensatzformat in der DNS-Protokolldatei protokolliert.

    Wenn eine DNS-Abfrage mit einer ECS-Option gesendet wird, die entweder eine IPv4- oder IPv6-Adresse enthält, wird die ECS-Option mit einer der folgenden Optionen protokolliert:

    • “ECS/Q” zeigt an, dass die Werte im Protokoll aus der Abfrage stammen
    • “ECS/R” zeigt an, dass die Werte im Protokoll aus der Antwort stammen.

    Der Wert von Scope Prefix-Length wird ebenfalls entsprechend eingestellt. In der DNS-Abfrage wird sie auf Null gesetzt, und für die Antwort wird sie auf den berechneten Wert festgelegt.

    In der folgenden Tabelle werden die protokollierten Details in verschiedenen Szenarien beschrieben:

Szenario ECS-Option in der DNS-Abfrage festgelegt ECS-Option in der DNS-Antwort festgelegt Protokollierte Details
Sowohl Abfrageprotokollierung als auch erweiterte Protokollierung aktiviert Ja Ja Die ECS-Option wird mit der Zeichenfolge “ECS/R/” protokolliert und die Scope-Präfix-Länge wird auf den berechneten Wert eingestellt.
Sowohl Abfrageprotokollierung als auch erweiterte Protokollierung aktiviert Ja Nein Die ECS-Option wird mit der Zeichenfolge “ECS/Q” protokolliert und die Bereichspräfixlänge wird auf Null gesetzt.
Die Abfrageprotokollierung ist aktiviert, die erweiterte Protokollierung ist jedoch nicht aktiviert Ja Ja Die ECS-Option wird mit der Zeichenfolge “ECS/Q/” protokolliert und die Scope-Präfix-Länge wird auf Null gesetzt.
Abfrageprotokollierung und erweiterte Protokollierung sind nicht aktiviert Ja Ja Die ECS-Option ist nicht protokolliert.
Die Abfrageprotokollierung ist aktiviert, die erweiterte Protokollierung ist jedoch nicht aktiviert Ja Nein Die ECS-Option wird mit der Zeichenfolge “ECS/Q/” protokolliert und die Scope-Präfix-Länge wird auf Null gesetzt.
Die Abfrageprotokollierung ist nicht aktiviert, aber die erweiterte Protokollierung ist aktiviert Ja Ja Die ECS-Option wird mit der Zeichenfolge “ECS/R/” protokolliert und die Scope-Präfix-Länge wird auf den berechneten Wert eingestellt.
Die Abfrageprotokollierung ist nicht aktiviert, aber die erweiterte Protokollierung ist aktiviert Ja Nein Die ECS-Option ist nicht protokolliert.

Verstehen Sie das Datensatzprotokollformat

Es folgt ein Beispiel für das Datensatzprotokollierungsformat in einer Syslog-Meldung:

<domainname>/<record type>/ <record ttl> / <resource record data>#<resource record data>#......##
<!--NeedCopy-->

Es gilt:

Datensatztyp Beispiel-Format Ressourcen-Datensatzdaten/Format
Adresse (A)-Datensatz A/5/1.1.1.1#1.1.1.2#1.1.1.3## IPv4-Adresse
AAAA-Datensatz AAAA/5/1::1#1::2#1::3## IPv6-Adresse
SOA-Datensatz SOA/3600/ns1.dnslogging.test./root.dnslogging.test./100/3600/3/3600/5## Ursprungsserver, Kontakt und andere Details. Resource record format is: //////##
NS-Datensatz NS/5/ns1.dnslogging.test Hostname des Nameservers.
MX-Datensatz #MX/5/10/host1.dnslogging.test.#11/host2.dnslogging.test.## Präferenz gefolgt von Mail-Exchange-Server-Host
CNAME-Record-Protokollierung CNAME/5/host1.dnslogging.test.## Kanonischer Name
SRV-Datensatz SRV/5/1/2/3/host1.dnslogging.test.#4/5/6/host2.dnslogging.test.## Ressourcendatensatzformat: ///#
TXT-Datensatz TXT/5/dns+logging## Die Daten umfassen alle Texte.
NAPTR-Datensatz NAPTR/5/10/11////dnslogging#20/21/R/SIP//sip.dnslogging.test## Ressourcendatensatzformat: /////#
DNSKEY-Datensatz DNSKEY/5/1/3/5/AwEAAanP0K+i5bfv5SU478L760EjDjnPqI2Ccx6JZgiDBZhSONP29GfO2bkP056xp7+9Wz8X2oo5sANaDwSzUVR0YtZdPw23gAaktH6pFvnwcIHa/PTFw5VcXyiUaDc+AnaOhNNYOPp7iQ6uTdT9cyuGWJ1OfZ0JRt+8EyX6iwRsLk7WSpz8KidvKs2ij9IXZ3OzaVEEMGY4SMfHIlLhqIho1fyADlbAoSsLEbr/7eqKv1/PLXSuVV9elwkH0pqWALUaSEBbmp49/jbCbc8cZKxzaON9p2jp2j4iodfC8cnEHAS2/4W1FEPpRTyYtcdBq6Uc2orBaaxjhsZELvRcWMr+pDc=#1/3/5/AwEAAbJhKdI21LP0pPxv0k1pFBNClZW97TB4FlCW4e4Fuyq7rY7+aiYdDVxV8N9ZXt4RT3MdNznMVMl/R1ldWLjbCf5bFu9khaM1ME8I25HPTS3J2wK5rjj4HMFRMycUKZCK0UOgyUzd6Fm5b3G04wMIAoqkDHeqlwe7yWGaw94NbZuL## Ressourcendatensatzformat: ///#
PTR-Datensatz PTR/3600/test.com.#test4.com.## Domänenname

Einschränkungen der DNS-Protokollierung

Die DNS-Protokollierung hat die folgenden Einschränkungen:

  • Wenn die Antwortprotokollierung aktiviert ist, werden nur die folgenden Datensatztypen protokolliert:

    • Adresse (A)-Datensatz
    • AAAA-Datensatz
    • SOA-Datensatz
    • NS-Datensatz
    • MX-Datensatz
    • CNAME-Datensatz
    • SRV-Datensatz
    • TXT-Datensatz
    • NAPTR-Datensatz
    • DNSKEY-Datensatz
    • PTR-Datensatz

    Für alle anderen Datensatztypen werden nur L3/L4-Parameter, DNS-Header und Frage-Abschnitt protokolliert.

  • RRSIG-Datensätze werden nicht protokolliert, selbst wenn die Antwortprotokollierung aktiviert ist.

  • DNS64 wird nicht unterstützt.

  • Proaktive DNS-Aktualisierungsanforderungen oder -antworten werden gemäß den Einstellungen im Standardprofil protokolliert.

  • Wenn auf dem virtuellen Server die sitzungslose Option- und Antwortprotokollierung aktiviert ist, werden L3/L4-Parameter, der DNS-Header und der Abschnitt DNS-Frage anstelle der Antwort protokolliert.

  • Die maximale Größe der Syslog-Nachricht beträgt 1024 Byte.

  • Wenn Sie ein DNS-Profil für eine DNS-Richtlinie mit dem Aktionstyp Rewrite-Antwort festgelegt haben, protokolliert die NetScaler-Appliance die Abfrage oder die manipulierten Antworten nicht. Um die erforderlichen Informationen zu protokollieren, müssen Sie eine Aktion für eine Überwachungsnachricht in der DNS-Richtlinie verwenden.

  • DNS-Transaktionen, die auf den DNS-Überwachungsverkehr zurückzuführen sind, werden nicht protokolliert.

Konfigurieren der DNS-Protokollierung

Es folgt eine Übersicht über die Konfiguration der DNS-Protokollierung:

  1. Erstellen Sie eine Syslog-Aktion und aktivieren Sie DNS in der Aktion.
  2. Erstellen Sie eine Syslog-Richtlinie und geben Sie die Syslog-Aktion in der Richtlinie an.
  3. Binden Sie die Syslog-Richtlinie global, um die Protokollierung aller NetScaler-Systemereignisse zu ermöglichen. Oder binden Sie die Syslog-Richtlinie an einen bestimmten virtuellen Lastausgleichsserver.
  4. Erstellen Sie ein DNS-Profil und definieren Sie eine der folgenden Protokollierungstypen, die Sie aktivieren möchten:
    • DNS-Abfrageprotokollierung
    • Protokollierung des DNS-Antwortabschnitts
    • Erweiterte DNS-Protokollierung
    • DNS-Fehlerprotokollierung
  5. Konfigurieren Sie je nach Ihren Anforderungen eine der folgenden Optionen:
    • DNS-Dienst und virtueller Server für DNS
    • ADNS-Dienst
    • NetScaler als Spediteur
    • NetScaler als Resolver
  6. Stellen Sie das erstellte DNS-Profil auf eine der DNS-Entitäten ein.

Konfigurieren Sie die DNS-Protokollierung für NetScaler, konfiguriert als DNS-Proxy über die CLI

  1. Fügen Sie eine Syslog-Aktion hinzu und aktivieren Sie DNS in der Aktion. Geben Sie in der Befehlszeile Folgendes ein:

    add audit syslogAction <name> (<serverIP> | -lbVserverName <string>) [-serverPort <port>] -logLevel <logLevel> ... [-dateFormat <dateFormat>] [-logFacility <logFacility>] [-tcp ( NONE | ALL )] [-acl ( ENABLED | DISABLED )] [-timeZone ( GMT_TIME | LOCAL_TIME )] [-userDefinedAuditlog ( YES | NO )] [-appflowExport ( ENABLED |DISABLED )] [-lsn ( ENABLED | DISABLED )] [-alg ( ENABLED | DISABLED )] [-transport ( TCP | UDP )] [-tcpProfileName <string>] [-maxLogDataSizeToHold <positive_integer>] [-dns ( ENABLED | DISABLED)]
    <!--NeedCopy-->
    

    Beispiel:

    add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME -dns ENABLED

  2. Erstellen Sie eine Syslog-Richtlinie und geben Sie die erstellte Syslog-Aktion in der Richtlinie an. Geben Sie in der Befehlszeile Folgendes ein:

    add audit syslogPolicy <name> <rule> <action>

    Beispiel:

    add audit syslogPolicy syslogpol1 ns_true nssyslogact1

  3. Binden Sie die Syslog-Richtlinie global. Geben Sie in der Befehlszeile Folgendes ein:

    bind system global [<policyName> [-priority <positive_integer>]]

    Beispiel:

    bind system global syslogpol1

  4. Erstellen Sie ein DNS-Profil und aktivieren Sie eine der folgenden Arten von Protokollen, die Sie konfigurieren möchten:

    • DNS-Abfrageprotokollierung
    • Protokollierung des DNS-Antwortabschnitts
    • Erweiterte DNS-Protokollierung
    • DNS-Fehlerprotokollierung

    Geben Sie in der Befehlszeile Folgendes ein:

    add dns profile <dnsProfileName> [-dnsQueryLogging ( ENABLED | DISABLED )] [-dnsAnswerSecLogging ( ENABLED | DISABLED )] [-dnsExtendedLogging (ENABLED | DISABLED )] [-dnsErrorLogging ( ENABLED | DISABLED )] [-cacheRecords ( ENABLED | DISABLED )] [-cacheNegativeResponses ( ENABLED | DISABLED )]

    Beispiel:

    add dns profile dnsprofile1 -dnsQueryLogging ENABLED

  5. Konfigurieren Sie den Dienst vom Typ DNS. Geben Sie in der Befehlszeile Folgendes ein:

    add service <name> <serverName> <serviceType> <port>

    Beispiel:

    add service svc1 10.102.84.140 dns 53

  6. Konfigurieren Sie einen virtuellen Lastausgleichsserver des Diensttyps DNS.

    add lb vserver <name> <serviceType> <ip> <port>

    Beispiel:

    add lb vserver lb1 dns 100.100.100.10 53

  7. Binden Sie den Dienst an den virtuellen Server. Geben Sie in der Befehlszeile Folgendes ein:

    bind lb vserver <name> <serviceName>

    Beispiel:

    bind lb vserver lb1 svc1

  8. Stellen Sie das erstellte DNS-Profil auf den virtuellen Server ein. Geben Sie in der Befehlszeile Folgendes ein:

    set lb vserver <name> [ - dnsProfileName <string>]

    Beispiel:

    set lb vserver lb1 –dnsProfileName dnsprofile1

Beispiel-DNS-Protokollierungskonfiguration für NetScaler-Appliance, konfiguriert als DNS-Proxy

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel
CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone
LOCAL_TIME -dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add lb vserver lb1 dns 100.100.100.10 53 –dnsProfileName dnsprofile1
Done
> add service svc1 10.102.84.140 dns 53
Done
> bind lb vserver lb1 svc1
Done
<!--NeedCopy-->

Beispiel-DNS-Protokollierungskonfiguration für NetScaler-Appliance, konfiguriert als ADNS

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL
ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME
-dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add lb vserver lb1 dns 100.100.100.10 53 –dnsProfileName dnsprofile1
Done
> add service svc1 10.102.84.140 dns 53
Done
> bind lb vserver lb1 svc1
Done
<!--NeedCopy-->

Beispiel-DNS-Protokollierungskonfiguration für NetScaler-Appliance, die als Forwarder konfiguriert ist

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL
ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME
-dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add dns nameserver 8.8.8.8 –dnsProfileName dnsprofile1
Done
<!--NeedCopy-->

Beispiel einer DNS-Protokollierungskonfiguration für eine als Resolver konfigurierte NetScaler-Appliance

> add audit syslogAction nssyslogact1 10.102.151.136
-logLevel CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4
-timeZone LOCAL_TIME -dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> set dns parameter -recursion enABLED
Done
> add nameserver 1.1.1.100 -local dnsProfileName dnsprofile1
Done
<!--NeedCopy-->

Konfigurieren der richtlinienbasierten Protokollierung für DNS

Mit der richtlinienbasierten Protokollierung können Sie ein Format für Protokollnachrichten angeben. Der Inhalt einer Protokollnachricht wird mithilfe eines erweiterten Richtlinienausdrucks definiert. Wenn die in der Richtlinie angegebene Nachrichtenaktion ausgeführt wird, erstellt die NetScaler-Appliance die Protokollnachricht aus dem Ausdruck und schreibt die Nachricht in die Protokolldatei. Sie können die Appliance so konfigurieren, dass sie nur protokolliert wird, wenn eine bestimmte DNS-Richtlinie den Wert True ergibt.

Hinweis

Wenn Sie eine DNS-Richtlinie mit einem DNS-Profil für die Anforderungsseite festgelegt haben, protokolliert die NetScaler-Appliance nur die Abfrage.

Um die richtlinienbasierte Protokollierung für eine DNS-Richtlinie zu konfigurieren, müssen Sie zunächst eine Auditmeldungsaktion konfigurieren. Weitere Informationen zum Konfigurieren einer Überwachungsnachrichtenaktion finden Sie unter Konfigurieren der NetScaler Appliance für die Audit-Protokollierung. Geben Sie nach dem Konfigurieren der Auditmeldungsaktion die Meldungsaktion in einer DNS-Richtlinie an.

Konfigurieren Sie die richtlinienbasierte Protokollierung für eine DNS-Richtlinie über die CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die richtlinienbasierte Protokollierung für eine DNS-Richtlinie zu konfigurieren und die Konfiguration zu überprüfen:

-  add dns action <actionName> <actionType> [-IPAddress <ip_addr|ipv6_addr> ... | -viewName <string> | -preferredLocList <string> ...] [-TTL <secs>] [-dnsProfileName <string>]
-  set dns policy <name> [<rule>] [-actionName <string>] [-logAction <string>]
-  show dns policy [<name>]
<!--NeedCopy-->

Beispiel 1:

Wenn Sie in einer GSLB-Bereitstellung mit unterschiedlichen IP-Adressen auf die Clientanforderungen aus einem bestimmten Subnetz antworten möchten, anstatt mit IP-Adressen zu antworten, die für allgemeine Zwecke verwendet werden (z. B. die IP-Adressen interner Benutzer), können Sie eine DNS-Richtlinie mit dem Aktionstyp als DNS-Ansicht konfigurieren. In diesem Fall können Sie die DNS-Protokollierung für die angegebene DNS-Aktion so konfigurieren, dass Sie die spezifischen Antworten protokollieren können.

> add dns profile dns_prof1 -dnsqueryLogging enABLED -dnsanswerSecLogging enABLED
 Done
> add dns view dns_view1
 Done
> add dns action dns_act1 viewName -view dns_view1 –dnsprofilename dns_prof1
 Done
> add dns policy dns_pol1 "CLIENT.IP.SRC.APPLY_MASK(255.255.255.0).EQ(100.100.100.0)”
dns_act1
 Done
> bind dns global dns_pol1 100 -gotoPriorityExpression END -type REQ_DEFAULT
 Done
> bind gslb service site_1_svc -viewName dns_view1 123.1.1.1
 Done
> bind gslb service site_5_svc -view dns_view1 132.1.1.1
 Done
<!--NeedCopy-->

Hinweis: Wenn Sie in der vorherigen Konfiguration nach der Domäne abfragen, die auf einem virtuellen GSLB-Server konfiguriert ist, z. B. sampletest.com, werden alle internen Benutzer des Subnetzes 100.100.100.0/24 mit den IP-Adressen der DNS-Ansicht bedient und die Antworten werden protokolliert. Clientanforderungen für andere Subnetze werden nicht protokolliert.

Beispiel 2:

Wenn Sie nur die Abfragen für die Domäne example.comprotokollieren möchten, können Sie ein DNS-Profil mit aktivierter Abfrageprotokollierung erstellen und das DNS-Profil auf eine DNS-Aktion mit dem Aktionstyp NOOPfestlegen und dann eine DNS-Richtlinie erstellen und die DNS-Aktion festlegen. Zum Beispiel:

>add dns profile query_logging -dnsqueryLogging ENABLED
Done
>add dns action dns_act1 NOOP -dnsprofileName query_logging
Done
>add dns policy dns_pol1 DNS.REQ.QUESTION.DOMAIN.EQ("example.com")  dns_act1
Done
<!--NeedCopy-->

Konfigurieren der Protokollaktion für die DNS-Richtlinie zum Protokollieren der Client-IP-Adresse

Die Protokollierungsaktion kann verwendet werden, um die Quell-IPs für die DNS-Abfragen mit dem folgenden Ausdruck zu protokollieren und als Teil der Protokollaktion in der DNS-Richtlinie zu verwenden.

> add audit messageaction log_act_custom INFORMATIONAL ""ClientIP:"CLIENT.IP.SRC" ECS IP:"+((DNS.REQ.OPT.ECS.IP).typecast_text_t ALT "NONE")"
Done
<!--NeedCopy-->

Der frühere Ausdruck erfasst sowohl die Quell-IP wie im IP-Header als auch die ECS-IP aus der DNS-ECS-Option, und jede davon kann bei Bedarf ausgeschlossen werden.

Beispiel einer DNS-Protokollierungskonfiguration für eine NetScaler-Appliance zum Protokollieren der Client

Wenn Sie die Protokollierung der DNS-Abfragen testen möchten, können Sie dies mit dem folgenden Ausdruck tun. Dadurch wird eine von 10 Abfragen protokolliert.

> add audit messageaction log_action_srcip_1of10 INFORMATIONAL ""OneOf10: Source IP : "+client.ip.src"
Done
> add responder policy logsrcip_1of10 "sys.random.mul(10).lt(1)" NOOP -logAction log_action_srcip_1of10
Done
<!--NeedCopy-->