header - modifies the header for queries and responses.
header ensures that the flags are in the desired state for queries and responses. The modifications are made transparently for the client and subsequent plugins.
header {
[SELECTOR] ACTION FLAGS...
[SELECTOR] ACTION FLAGS...
}
-
SELECTOR defines if the action should be applied on
query
orresponse
. In future CoreDNS version the selector will be mandatory. For backwards compatibility the action will be applied onresponse
if the selector is undefined. -
ACTION defines the state for DNS message header flags. Actions are evaluated in the order they are defined so last one has the most precedence. Allowed values are:
set
clear
-
FLAGS are the DNS header flags that will be modified. Current supported flags include:
aa
- Authoritative(Answer)ra
- RecursionAvailablerd
- RecursionDesired
Make sure recursive available ra
flag is set in all the responses:
. {
header {
response set ra
}
}
Make sure "recursion available" ra
and "authoritative answer" aa
flags are set and "recursion desired" is cleared in all responses:
. {
header {
response set ra aa
response clear rd
}
}
Make sure "recursion desired" rd
is set for all subsequent plugins::
. {
header {
query set rd
}
}