DNS::answer¶
Description¶
This iRules command returns, inserts, removes, or clears RRs from the
answer section.
Note: This command functions only in the context of LTM iRules and
requires the DNS Profile, which is only enabled as part of GTM or the
DNS Services add-on.
Syntax¶
DNS::answer [[insert|remove rr_obj] | clear]
DNS::answer [[insert|remove rr_obj] | clear]¶
- Returns, inserts, removes, or clears RRs from the answer section. With no arguments, get tcl list of RR objs; with arg, insert/remove RR tcl obj in the answer section or clear all RRs from the answer section.
Examples¶
# Change the ttl of all answer records and add a glue record
when DNS_RESPONSE {
set rrs [DNS::answer]
foreach rr $rrs {
DNS::ttl $rr 1234
}
set new_rr [DNS::rr "bigip3900-30.f5net.com. 88 IN A 1.2.3.4"]
DNS::additional insert $new_rr
}
# 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
}