Support DNS pour la réécriture
Expressions DNS
Points de liaison DNS
| Points de liaison | Description |
|---|---|
| DNS_REQ_OVERRIDE | Remplacez la file d'attente des règles de demande. |
| DNS_REQ_DEFAULT | File d'attente de règles de demande standard. |
| DNS_RES_OVERRIDE | Remplacez la file d'attente des politiques de réponse. |
| DNS_RES_DEFAULT | File d'attente des politiques de réponse standard. |
Types d'actions de réécriture pour le DNS
-
replace_dns_answer_section —Cette action remplace la sectiondes réponses DNS par l'expression définie dans la stratégie DNS.
-
replace_dns_header_field —Vérifiele type d'opcode dans la requête DNS. Renvoie True ou False, indiquant si le type d'opcode dans la requête DNS correspond au type d'opcode spécifié. Cette action remplace la section d'en-tête DNS par l'expression définie dans la politique 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 le DNS
-
add rewrite action <actName> <actType>Pour<actname>, remplacez votre nouvelle action par un nom. Le nom peut comporter entre 1 et 127 caractères et peut contenir des lettres, des chiffres, des traits d'union (-) et des traits de soulignement (_). Pour<actType>, spécifiez les types d'actions de réécriture fournis pour les expressions DNS. -
add rewrite policy <polName> <rule> <actName>Pour<polname>, remplacez un nom pour votre nouvelle stratégie. Car<actname>, le nom peut comporter entre 1 et 127 caractères et peut contenir des lettres, des chiffres, des traits d'union (-) et des traits de soulignement (_). Remplacez par le nom de l'action que vous venez de créer.<actname> -
bind rewrite global <polName> <priority> <gotoPriorityExpression> -type <bindPoint>Par<polName>, remplacez le nom de la politique que vous venez de créer. Pour<priority>, spécifiez la priorité de la stratégie. Par<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 ne sont évaluées que si l'appliance NetScaler est configurée en tant que serveur proxy DNS et qu'il y a un échec de cache.
-
Si l'indicateur de récursivité disponible (RA) dans l'en-tête est défini sur OUI, l'indicateur RA ne sera pas modifié lors des 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.