multiple lines are not allowed.
$ORIGIN origin
-
$TTL default_ttl
ENTRY_BEGIN
; first give MATCH lines, that say what queries are matched
-
; by this entry.
-
; 'opcode' makes the query match the opcode from the reply
-
; if you leave it out, any opcode matches this entry.
-
; 'qtype' makes the query match the qtype from the reply
-
; 'qname' makes the query match the qname from the reply
-
; 'serial=1023' makes the query match if ixfr serial is 1023.
MATCH [opcode] [qtype] [qname] [serial=<value>]
-
MATCH [UDP|TCP]
-
MATCH ...
; Then the REPLY header is specified.
REPLY opcode, rcode or flags.
-
(opcode) QUERY IQUERY STATUS NOTIFY UPDATE
-
(rcode) NOERROR FORMERR SERVFAIL NXDOMAIN NOTIMPL YXDOMAIN
-
YXRRSET NXRRSET NOTAUTH NOTZONE
-
(flags) QR AA TC RD CD RA AD
REPLY ...
; any additional actions to do.
-
ADJUST copy_id ; 'copy_id' copies the ID from the query to the answer.
; 'sleep=10' sleeps for 10 seconds before giving the answer (TCP is open)
ADJUST [sleep=<num>] ; sleep before giving any reply
-
ADJUST [packet_sleep=<num>] ; sleep before this packet in sequence
SECTION QUESTION
-
<RRs, one per line> ; the RRcount is determined automatically.
SECTION ANSWER
-
<RRs, one per line>
SECTION AUTHORITY
-
<RRs, one per line>
SECTION ADDITIONAL
-
<RRs, one per line>
EXTRA_PACKET ; follow with SECTION, REPLY for more packets.
-
HEX_ANSWER_BEGIN ; follow with hex data
-
; this replaces any answer packet constructed
-
; with the SECTION keywords (only SECTION QUERY
-
; is used to match queries). If the data cannot
-
; be parsed, ADJUST rules for the answer packet
-
; are ignored
HEX_ANSWER_END