ltm rule event DNS REQUEST
iRule(1) BIG-IP TMSH Manual iRule(1)
DNS_REQUEST
Triggered when the system receives a DNS request.
DESCRIPTION
Triggered when the system receives a DNS request.
When using this event in a GTM iRule, a GTM license must be enabled for it to work.
This event is only available for LTM in versions 11.0+ and requires either a GTM license or DNS Services addon
license. When using this event in an LTM iRule a DNS profile must be enabled on the listener.
Note: This event will NOT be raised if in ltm profile dns, attribute process-rd is set to "No" and the "dig"
command is run with argument "+recurse".
Examples
when DNS_REQUEST {
if { [IP::addr [IP::remote_addr] equals 10.10.1.0/24] } {
cname cname.siterequest.com
} else {
host 10.20.20.20
}
}
when DNS_REQUEST {
# Changed = = 0 to < 1 for CR100063 / SOL10137
if { [active_members pool_test] < 1 } {
cname "something.domain.com"
}
}
# Send one or more IP addresses for a response to an A query
# Use on an LTM virtual server with a DNS profile enabled
when DNS_REQUEST {
# Log query details
log local0. "\[DNS::question name\]: [DNS::question name],\
\[DNS::question class\]: [DNS::question class],
\[DNS::question type\]: [DNS::question type]"
# Generate an answer with two A records
DNS::answer insert "[DNS::question name]. 111 [DNS::question class] [DNS::question type] 1.1.1.1"
DNS::answer insert "[DNS::question name]. 111 [DNS::question class] [DNS::question type] 1.1.1.2"
# Stop further processing of the query after this iRule and send the answer to the client
DNS::return
return
}
HINTS
Note: This event triggers in both LTM and GTM iRules
SEE ALSO
https://devcentral.f5.com/wiki/iRules.GTM_return_LDNS_IP_to_client_.ashx - We do a lot of our load balancing
based on topology rules. https://devcentral.f5.com/wiki/iRules.GTMSelectivePersistence.ashx - Provides a more
granular persistence option for GTM
CHANGE LOG
@BIGIP-9.2.2 --First introduced the event in GTM. @BIGIP-11.0.0 --First introduced the event in LTM.
BIG-IP 2020-06-23 iRule(1)