This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
配置 DNS 日志记录
您可以将 Citrix ADC 设备配置为记录其处理的 DNS 请求和响应。设备以 SYSLOG 格式记录 DNS 请求和响应。您可以选择记录 DNS 请求或 DNS 响应,或两者都记录,并将 syslog 消息发送到远程日志服务器。日志消息可用于:
- 审核对客户端的 DNS 响应
- 审核 DNS 客户端
- 检测并防止 DNS 攻击
- 故障排除
Citrix ADC 设备可以根据您的配置在 DNS 请求或响应中记录以下部分:
- 标题部分
- 问题科
- 答案部分
- 权力科
- 附加部分
DNS 配置文件
您可以使用 DNS 配置文件配置要将 DNS 终端节点应用于 DNS 流量的各种 DNS 参数。在配置文件中,您可以启用日志记录、缓存和负缓存。
重要: 从 NetScaler 11.0 版本开始,已弃用使用全局 DNS 参数启用 DNS 缓存。您可以使用 DNS 配置文件启用或禁用 DNS 缓存。现在,您可以通过在 DNS 配置文件中启用 DNS 缓存并将 DNS 配置文件设置为单个虚拟服务器,为单个虚拟服务器启用 DNS 缓存。
DNS 配置文件支持以下类型的 DNS 日志记录:
- DNS 查询日志记录
- DNS 应答部分日志记录
- DNS 扩展日志记录
- DNS 错误日志记录
DNS 查询日志记录
您可以将 Citrix ADC 设备配置为仅记录设备上的 DNS 端点接收的 DNS 查询。
注意:如果在处理查询过程中发生错误,如果在 DNS 配置文件中设置了此选项,则会记录错误。
以下是查询日志消息的示例:
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-->
DNS 应答部分日志记录
您可以将 Citrix ADC 设备配置为记录设备发送给客户端的 DNS 响应中的所有应答部分。当 Citrix ADC 配置为 DNS 解析器时,或者在 GLSB 使用案例中,DNS 应答部分日志记录非常有用。
以下是 DNS 应答部分日志的示例:
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-->
DNS 扩展日志记录
要将 Citrix ADC 设备配置为记录 DNS 响应中的授权和 其他 部分,请启用带应答部分日志记录的扩展日志记录。
注意:如果在处理查询或响应过程中发生错误,如果在 DNS 配置文件中设置了此选项,则会记录错误。
以下是缓存查找完成并且响应嵌入到数据包中时记录的消息示例:
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 错误日志记录
您可以将 Citrix ADC 设备配置为记录处理 DNS 查询或响应时出现的错误或故障。对于这些错误,设备会记录 DNS 标头、问题部分和 OPT 记录。
以下是在处理 DNS 请求或响应过程中发生错误时记录的消息示例:
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-->
基于策略的日志记录
您可以通过配置 DNS 策略、重写或响应程序策略的日志操作来配置基于 DNS 表达式的自定义日志记录。您可以指定只有在特定 DNS 策略的计算结果为 true 时才会发生日志记录。有关更多信息,请参阅为 DNS 配置基于策略的日志记录。
了解 Citrix ADC 系统日志消息格式
Citrix ADC 设备以下系统日志格式记录 DNS 请求和响应:
<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 客户端 IP 地址和端口号
-
**<DNS endpoint IP># <port>:Citrix ADC DNS 端点 IP 地址和端口号
-
**<query id>: 查询编号
-
**<opcode>:操作代码。支持的值:
- 问:查询
- I:反向查询
- S:状态
- X0:未分配
- N: 通知
- U:更新
- X1-10:未分配的值
-
**<header flags>:旗帜。支持的值:
- RD:需要递归
- TC:截断
- AA:权威回应
- CD:已禁用检查
- AD:经过身份验证的数据
- Z:未分配
- RA:递归可用
- R:回应
-
**<rcode>:回复代码。支持的值:
- 不:没错
- F 格式错误
- S:服务器故障
- NX:不存在的域
- NI:未实施
- R:查询被拒绝
- YX:名字不能存在
- YXR:RR 集在不能存在
- NXR:必须存在的 RR 集不
- NAS:服务器不是区域权威
- NA: 未授权
- NZ:区域中未包含的名称
- X1-5:未分配
-
/question section count/answer section count/auth section count/additional section count: 问题部分、授权部分计数和 DNS 请求中的其他部分计数
-
**<queried domain name>/ <queried type>:DNS 请求中的查询域和查询类型
-
#ANS # <record type>/<ttl> /.. #AUTH # <domain name>/<record type>/<ttl>.. #ADD #<domain name>/<record type>/<ttl>…:
在 DNS 响应中:
如果在 DNS 配置文件中启用了答案部分日志记录,则记录答案部分。如果 DNS 配置文件中启用了扩展日志记录,则会记录授权和其他部分。日志格式因记录类型而异。有关详细信息,请参阅了解记录日志记录格式。
- 答案部分
- 身份验证:权威
- 添加:其他部分
-
OPT/<edns version>/UDP max payload size/DO: DNS 日志中的 OPT 记录格式
-
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>:
如果 DNS 查询或响应包含 EDNS 客户端子网 (ECS) 选项,则该选项也会在 DNS 日志文件中以 OPT 记录格式记录。
当发送带有包含 IPv4 或 IPv6 地址的 ECS 选项的 DNS 查询时,将使用以下任一选项记录 ECS 选项;
- “ECS/Q” 表示日志中的值来自查询
- “ECS/R” 表示日志中的值来自响应。
作用域前缀长度的值也被适当设置。在 DNS 查询中,它被设置为零,对于响应,它被设置为计算值。
下表描述了各种方案中记录的详细信息:
场景 | 在 DNS 查询中设置 ECS 选项 | 在 DNS 响应中设置 ECS 选项 | 已登录的详细信息 |
---|---|---|---|
启用查询日志记录和扩展日志记录 | 是 | 是 | ECS 选项使用字符串“ECS/R/”记录,范围前缀长度设置为计算值。 |
启用查询日志记录和扩展日志记录 | 是 | 否 | ECS 选项使用字符串“ECS/Q”记录,范围前缀长度设置为零。 |
查询日志记录已启用,但未启用扩展日志记录 | 是 | 是 | ECS 选项使用字符串“ECS/Q/”记录,范围前缀长度设置为零。 |
查询日志记录和扩展日志记录未启用 | 是 | 是 | 不记录 ECS 选项。 |
查询日志记录已启用,但未启用扩展日志记录 | 是 | 否 | ECS 选项使用字符串“ECS/Q/”记录,范围前缀长度设置为零。 |
查询日志记录未启用,但已启用扩展日志记录 | 是 | 是 | ECS 选项使用字符串“ECS/R/”记录,范围前缀长度设置为计算值。 |
查询日志记录未启用,但已启用扩展日志记录 | 是 | 否 | 不记录 ECS 选项。 |
了解记录日志记录格式
以下是 Syslog 消息中记录日志记录格式的示例:
<domainname>/<record type>/ <record ttl> / <resource record data>#<resource record data>#......##
<!--NeedCopy-->
其中:
记录类型 | 样本格式 | 资源记录数据/格式 |
---|---|---|
地址 (A) 记录 | A/5/1.1.1.1#1.1.1.2#1.1.1.3## | IPv4 地址 |
AAAA 记录 | AAAA/5/1::1#1::2#1::3## | IPv6 地址 |
SOA 记录 | SOA/3600/ns1.dnslogging.test./root.dnslogging.test./100/3600/3/3600/5## | 源服务器、联系人和其他详细信息。资源记录格式为: |
NS 记录 | NS/5/ns1.dnslogging.test | 域名服务器的主机名。 |
墨西哥记录 | #MX/5/10/host1.dnslogging.test.#11/host2.dnslogging.test.## | 首选项后跟邮件交换服务器主机名 |
CNAME 记录日志记录 | CNAME/5/host1.dnslogging.test.## | 典范名称 |
SRV 记录 | SRV/5/1/2/3/host1.dnslogging.test.#4/5/6/host2.dnslogging.test.## | 资源记录格式: |
TXT 唱片 | TXT/5/dns+logging## | 数据包括所有文本。 |
NAPTR 唱片 | NAPTR/5/10/11////dnslogging#20/21/R/SIP//sip.dnslogging.test## | 资源记录格式: |
DNSKey 记录 | DNSKEY/5/1/3/5/AwEAAanP0K+i5bfv5SU478L760EjDjnPqI2Ccx6JZgiDBZhSONP29GfO2bkP056xp7+9Wz8X2oo5sANaDwSzUVR0YtZdPw23gAaktH6pFvnwcIHa/PTFw5VcXyiUaDc+AnaOhNNYOPp7iQ6uTdT9cyuGWJ1OfZ0JRt+8EyX6iwRsLk7WSpz8KidvKs2ij9IXZ3OzaVEEMGY4SMfHIlLhqIho1fyADlbAoSsLEbr/7eqKv1/PLXSuVV9elwkH0pqWALUaSEBbmp49/jbCbc8cZKxzaON9p2jp2j4iodfC8cnEHAS2/4W1FEPpRTyYtcdBq6Uc2orBaaxjhsZELvRcWMr+pDc=#1/3/5/AwEAAbJhKdI21LP0pPxv0k1pFBNClZW97TB4FlCW4e4Fuyq7rY7+aiYdDVxV8N9ZXt4RT3MdNznMVMl/R1ldWLjbCf5bFu9khaM1ME8I25HPTS3J2wK5rjj4HMFRMycUKZCK0UOgyUzd6Fm5b3G04wMIAoqkDHeqlwe7yWGaw94NbZuL## | 资源记录格式: |
PTR 紀錄 | PTR/3600/test.com.#test4.com.## | 域名 |
DNS 日志记录的限制
DNS 日志记录有以下限制:
-
如果启用了响应日志记录,则仅记录以下记录类型:
- 地址 (A) 记录
- AAAA 记录
- SOA 记录
- NS 记录
- 墨西哥记录
- CNAME 记录
- SRV 记录
- TXT 唱片
- NAPTR 唱片
- DNSKey 记录
- PTR 紀錄
对于所有其他记录类型,只记录 L3/L4 参数、DNS 标头和问题部分。
-
即使启用了响应日志记录,也不会记录 RRSIG 记录。
-
不支持 DNS64。
-
根据默认配置文件中的设置记录 DNS 主动更新请求或响应。
-
在虚拟服务器上,如果启用了无会话选项和响应日志记录,则会记录 L3/L4 参数、DNS 标头和 DNS 问题部分而不是响应。
-
系统日志消息的最大大小为 1024 字节。
-
如果您已为具有操作类型 “重写响应” 的 DNS 策略设置了 DNS 配置文件,则 Citrix ADC 设备不会记录查询或被操纵的响应。要记录所需信息,您必须在 DNS 策略中使用审计消息操作。
-
不记录由 DNS 监视流量引起的 DNS 事务。
配置 DNS 日志记录
以下是配置 DNS 日志记录的概述:
- 创建一个系统日志操作并在操作中启用 DNS。
- 创建 Syslog 策略并在策略中指定 Syslog 操作。
- 全局绑定 Syslog 策略以启用所有 Citrix ADC 系统事件的日志记录。或者,将 Syslog 策略绑定到特定的负载平衡虚拟服务器。
- 创建 DNS 配置文件并定义要启用的以下任何类型的日志记录:
- DNS 查询日志记录
- DNS 应答部分日志记录
- DNS 扩展日志记录
- DNS 错误日志记录
- 根据您的要求配置以下任一项:
- DNS 服务和虚拟服务器
- ADNS 服务
- Citrix ADC 作为转发器
- Citrix ADC 作为解析器
- 将创建的 DNS 配置文件设置为其中一个 DNS 实体。
使用 CLI 为配置为 DNS 代理的 Citrix ADC 配置 DNS 日志记录
-
添加系统日志操作并在操作中启用 DNS。在命令提示符下,键入:
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-->
例如:
add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME -dns ENABLED
-
创建系统日志策略并在策略中指定创建的系统日志操作。在命令提示符下,键入:
add audit syslogPolicy <name> <rule> <action>
例如:
add audit syslogPolicy syslogpol1 ns_true nssyslogact1
-
全局绑定系统日志策略。在命令提示符下,键入:
bind system global [<policyName> [-priority <positive_integer>]]
例如:
bind system global syslogpol1
-
创建 DNS 配置文件并启用要配置的以下任何类型的日志:
- DNS 查询日志记录
- DNS 应答部分日志记录
- DNS 扩展日志记录
- DNS 错误日志记录
在命令提示符下,键入:
add dns profile <dnsProfileName> [-dnsQueryLogging ( ENABLED | DISABLED )] [-dnsAnswerSecLogging ( ENABLED | DISABLED )] [-dnsExtendedLogging (ENABLED | DISABLED )] [-dnsErrorLogging ( ENABLED | DISABLED )] [-cacheRecords ( ENABLED | DISABLED )] [-cacheNegativeResponses ( ENABLED | DISABLED )]
例如:
add dns profile dnsprofile1 -dnsQueryLogging ENABLED
-
配置 DNS 类型的服务。在命令提示符下,键入:
add service <name> <serverName> <serviceType> <port>
例如:
add service svc1 10.102.84.140 dns 53
-
配置服务类型 DNS 的负载平衡虚拟服务器。
add lb vserver <name> <serviceType> <ip> <port>
例如:
add lb vserver lb1 dns 100.100.100.10 53
-
将服务绑定到虚拟服务器。在命令提示符下,键入:
bind lb vserver <name> <serviceName>
例如:
bind lb vserver lb1 svc1
-
将创建的 DNS 配置文件设置为虚拟服务器。在命令提示符下,键入:
set lb vserver <name> [ - dnsProfileName <string>]
例如:
set lb vserver lb1 –dnsProfileName dnsprofile1
配置为 DNS 代理的 Citrix ADC 设备的示例 DNS 日志记录配置
> 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-->
配置为 ADNS 的 Citrix ADC 设备的 DNS 日志记录配置示例
> 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-->
配置为转发器的 Citrix ADC 设备的示例 DNS 日志记录配置
> 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-->
配置为解析器的 Citrix ADC 设备的示例 DNS 日志记录配置
> 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-->
为 DNS 配置基于策略的日志记录
基于策略的日志记录使您能够指定日志消息的格式。日志消息的内容通过使用默认语法表达式来定义。执行策略中指定的消息操作时,Citrix ADC 设备将从表达式构造日志消息,并将消息写入日志文件。您可以将设备配置为仅在特定 DNS 策略评估为 True 时进行记录。
注意
如果您为请求端设置了具有 DNS 配置文件的 DNS 策略,Citrix ADC 设备将仅记录查询。
要为 DNS 策略配置基于策略的日志记录,您必须首先配置审核消息操作。有关配置审计消息操作的详细信息,请参阅 配置 NetScaler 设备以进行审核日志记录。配置审核消息操作后,在 DNS 策略中指定消息操作。
使用 CLI 为 DNS 策略配置基于策略的日志记录
在命令提示符下,键入以下命令为 DNS 策略配置基于策略的日志记录并验证配置:
- 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-->
示例 1:
在 GSLB 部署中,如果要使用不同的 IP 地址响应来自特定子网的客户端请求,而不是使用用于常规目的的 IP 地址(例如内部用户的 IP 地址)进行响应,则可以配置 DNS 策略,使用操作类型作为 DNS 视图。在这种情况下,您可以对指定的 DNS 操作配置 DNS 日志记录,以便记录特定的响应。
> 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-->
注意: 在上述配置中,如果您查询 GSLB 虚拟服务器(例如 sampletest.com)上配置的域,则子网 100.100.100.0/24 的所有内部用户都将使用 DNS 视图 IP 地址,并记录响应。不记录其他子网的客户端请求。
示例 2:
如果要仅记录域 example.com的查询,则可以创建启用了查询日志记录的 DNS 配置文件,并将 DNS 配置文件设置为具有操作类型 NOOP的 DNS 操作,然后创建 DNS 策略并设置 DNS 操作。例如:
>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-->
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.