Prise en charge de DNS pour la fonction de réécriture
Expressions DNS
Points de liaison DNS
| Points de liaison | Description |
|---|---|
| DNS_REQ_OVERRIDE | Remplacer la file d'attente des stratégies de demande. |
| DNS_REQ_DEFAULT | File d'attente de stratégie de demande standard. |
| DNS_RES_OVERRIDE | Remplacer la file d'attente des stratégies de réponse. |
| DNS_RES_DEFAULT | File d'attente de stratégie de réponse standard. |
Réécrire les types d'action pour DNS
-
replace_dns_answer_section—Cette action remplace la section des réponses DNS par l'expression définie dans la stratégie DNS.
-
replace_dns_header_field—Vérifie le type opcode dans la requête DNS. Renvoie True ou False, indiquant si le type opcode dans la requête DNS correspond au type opcode spécifié. Cette action remplace la section d'en-tête DNS par l'expression définie dans la stratégie DNS.
Configuration des stratégies de réécriture pour DNS
Configurer l'action et la stratégie de réécriture et lier la stratégie pour DNS
-
add rewrite action <actName> <actType>Pour<actname>, remplacez un nom pour votre nouvelle action. Le nom peut contenir de 1 à 127 caractères et peut contenir des lettres, des chiffres, des tirets (-) et des traits de soulignement (_). Pour<actType>, spécifiez les types d'action de réécriture fournis pour les expressions DNS. -
add rewrite policy <polName> <rule> <actName>Pour<polname>, remplacez un nom pour votre nouvelle stratégie. Pour<actname>, le nom peut contenir de 1 à 127 caractères et peut contenir des lettres, des chiffres, des tirets (-) et des traits de soulignement (_). Pour<actname>, remplacez le nom de l'action que vous venez de créer. -
bind rewrite global <polName> <priority> <gotoPriorityExpression> -type <bindPoint>Pour<polName>, remplacez le nom de la stratégie que vous venez de créer. Pour<priority>, spécifiez la priorité de la stratégie. Pour<bindPoint>, remplacez l'un des points de liaison globaux spécifiques à la réécriture.
add rewrite action set_aa replace_dns_header_field dns.req.header.flags.set(aa)
add rewrite policy pol !dns.req.header.flags.is_set(aa) set_aa
bind rewrite global pol 100 -type dns_res_override
add rewrite action set_aa_res replace_dns_header_field "dns.res.header.flags.set(aa)"
add rewrite action modify_nxdomain_res replace_dns_answer_section "dns.new_rrset_a("10.102.218.160",300)"
add rewrite policy set_res_aa true set_aa_res
add add rewrite policy modify_answer "dns.RES.HEADER.RCODE.EQ(nxdomain) && dns.RES.QUESTION.TYPE.EQ(A)"
modify_nxdomain_res
add rewrite policylabel MODIFY_NODATA dns_res
bind rewrite policylabel MODIFY_NODATA modify_answer 10 END
bind rewrite policylabel MODIFY_NODATA set_res_aa 11 END
bind lb vserver v1 -policyName NOPOLICY-REWRITE -priority 11 -gotoPriorityExpression END -type
RESPONSE -invoke policylabel MODIFY_NODATA
-
Les stratégies de réécriture sont évaluées uniquement si l'appliance Citrix ADC est configurée en tant que serveur proxy DNS et qu'il y a un défaut de cache.
-
Si l'indicateur Récursion disponible (RA) dans l'en-tête est défini sur YES, l'indicateur RA ne sera pas modifié dans les réécritures.
-
Si l'indicateur RA dans l'en-tête est défini sur YES, l'indicateur CD dans l'en-tête est modifié indépendamment de toute action de réécriture.