# zone11.xa zone11.xa:53 { bind 127.19.11.21 # ns1.zone11.xa bind fda1:b2:c3::127:19:11:21 # ns1.zone11.xa bind 127.19.11.22 # ns2.zone11.xa bind fda1:b2:c3::127:19:11:22 # ns2.zone11.xa log file Zone-TP/zone11/zone11.xa.zone zone11.xa } ## ## Regular scenarios ## # good-spf-1.zone11.xa good-spf-1.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/good-spf-1.zone11.xa.zone good-spf-1.zone11.xa } # good-spf-2.zone11.xa good-spf-2.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/good-spf-2.zone11.xa.zone good-spf-2.zone11.xa } # same-spf-different-txt.zone11.xa same-spf-different-txt.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa log file Zone-TP/zone11/ns1.same-spf-different-txt.zone11.xa.zone same-spf-different-txt.zone11.xa } same-spf-different-txt.zone11.xa:53 { bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/ns2.same-spf-different-txt.zone11.xa.zone same-spf-different-txt.zone11.xa } # no-txt.zone11.xa no-txt.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/no-txt.zone11.xa.zone no-txt.zone11.xa # CoreDNS erroneously returns NXDOMAIN when a node exists but no records # matching QTYPE. This is a workaround to ensure we get NODATA. template IN TXT no-txt.zone11.xa { rcode NOERROR # CAUTION: Make sure this remains in sync with the contents of COMMON-SCENARIO-INCLUDE authority "no-txt.zone11.xa. 3600 IN SOA ns1.child.zone11.xa. admin.zone11.xa. 2025080400 21600 3600 604800 86400" } } # no-spf-txt.zone11.xa no-spf-txt.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/no-spf-txt.zone11.xa.zone no-spf-txt.zone11.xa } # invalid-syntax-1.zone11.xa invalid-syntax-1.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/invalid-syntax-1.zone11.xa.zone invalid-syntax-1.zone11.xa } # invalid-syntax-2.zone11.xa invalid-syntax-2.zone11.xa:53 { bind 127.19.11.31 # ns1{a,b}.invalid-syntax-2.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1{a,b}.invalid-syntax-2.zone11.xa bind 127.19.11.32 # ns2.invalid-syntax-2.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.invalid-syntax-2.zone11.xa log file Zone-TP/zone11/invalid-syntax-2.zone11.xa.zone invalid-syntax-2.zone11.xa } # invalid-syntax-3.zone11.xa invalid-syntax-3.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/invalid-syntax-3.zone11.xa.zone invalid-syntax-3.zone11.xa } # non-auth-txt.zone11.xa non-auth-txt.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/non-auth-txt.zone11.xa.zone non-auth-txt.zone11.xa header { response clear aa } } # servfail.zone11.xa servfail.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/servfail.zone11.xa.zone servfail.zone11.xa template IN TXT servfail.zone11.xa { rcode SERVFAIL } } # inconsistent-spf.zone11.xa inconsistent-spf.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa log file Zone-TP/zone11/ns1.inconsistent-spf.zone11.xa.zone inconsistent-spf.zone11.xa } inconsistent-spf.zone11.xa:53 { bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/ns2.inconsistent-spf.zone11.xa.zone inconsistent-spf.zone11.xa } # spf-missing-on-one.zone11.xa spf-missing-on-one.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa log file Zone-TP/zone11/ns1.spf-missing-on-one.zone11.xa.zone spf-missing-on-one.zone11.xa } spf-missing-on-one.zone11.xa:53 { bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa bind 127.19.11.33 # ns3.child.zone11.xa bind fda1:b2:c3::127:19:11:33 # ns3.child.zone11.xa log file Zone-TP/zone11/ns2-3.spf-missing-on-one.zone11.xa.zone spf-missing-on-one.zone11.xa } # all-different-spf.zone11.xa all-different-spf.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa log file Zone-TP/zone11/ns1.all-different-spf.zone11.xa.zone all-different-spf.zone11.xa } all-different-spf.zone11.xa:53 { bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/ns2.all-different-spf.zone11.xa.zone all-different-spf.zone11.xa } all-different-spf.zone11.xa:53 { bind 127.19.11.33 # ns3.child.zone11.xa bind fda1:b2:c3::127:19:11:33 # ns3.child.zone11.xa log file Zone-TP/zone11/ns3.all-different-spf.zone11.xa.zone all-different-spf.zone11.xa } # multiple-spf-records.zone11.xa multiple-spf-records.zone11.xa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/multiple-spf-records.zone11.xa.zone multiple-spf-records.zone11.xa } ## ## TLD and ARPA scenarios ## # no-spf-zone11 no-spf-zone11:53 { bind 127.19.11.21 # ns1.zone11.xa bind fda1:b2:c3::127:19:11:21 # ns1.zone11.xa bind 127.19.11.22 # ns2.zone11.xa bind fda1:b2:c3::127:19:11:22 # ns2.zone11.xa log file Zone-TP/zone11/no-spf-zone11.zone no-spf-zone11 # CoreDNS erroneously returns NXDOMAIN when a node exists but no records # matching QTYPE. This is a workaround to ensure we get NODATA. template IN TXT no-spf-zone11 { rcode NOERROR # CAUTION: Make sure this remains in sync with the contents of COMMON-TLD-ARPA-INCLUDE authority "no-spf-zone11. 3600 IN SOA ns1.zone11.xa. admin.zone11.xa. 2025080400 21600 3600 604800 86400" } } # null-spf-zone11 null-spf-zone11:53 { bind 127.19.11.21 # ns1.zone11.xa bind fda1:b2:c3::127:19:11:21 # ns1.zone11.xa bind 127.19.11.22 # ns2.zone11.xa bind fda1:b2:c3::127:19:11:22 # ns2.zone11.xa log file Zone-TP/zone11/null-spf-zone11.zone null-spf-zone11 } # non-null-spf-zone11 non-null-spf-zone11:53 { bind 127.19.11.21 # ns1.zone11.xa bind fda1:b2:c3::127:19:11:21 # ns1.zone11.xa bind 127.19.11.22 # ns2.zone11.xa bind fda1:b2:c3::127:19:11:22 # ns2.zone11.xa log file Zone-TP/zone11/non-null-spf-zone11.zone non-null-spf-zone11 } # zone11.arpa zone11.arpa:53 { bind 127.19.11.21 # ns1.zone11.xa bind fda1:b2:c3::127:19:11:21 # ns1.zone11.xa bind 127.19.11.22 # ns2.zone11.xa bind fda1:b2:c3::127:19:11:22 # ns2.zone11.xa log file Zone-TP/zone11/zone11.arpa.zone zone11.arpa } # no-spf-arpa-zone.zone11.arpa no-spf-arpa-zone.zone11.arpa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/no-spf-arpa-zone.zone11.arpa.zone no-spf-arpa-zone.zone11.arpa # CoreDNS erroneously returns NXDOMAIN when a node exists but no records # matching QTYPE. This is a workaround to ensure we get NODATA. template IN TXT no-spf-arpa-zone.zone11.arpa { rcode NOERROR # CAUTION: Make sure this remains in sync with the contents of COMMON-TLD-ARPA-INCLUDE authority "no-spf-arpa-zone.zone11.arpa. 3600 IN SOA ns1.zone11.xa. admin.zone11.xa. 2025080400 21600 3600 604800 86400" } } # null-spf-arpa-zone.zone11.arpa null-spf-arpa-zone.zone11.arpa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/null-spf-arpa-zone.zone11.arpa.zone null-spf-arpa-zone.zone11.arpa } # non-null-spf-arpa-zone.zone11.arpa non-null-spf-arpa-zone.zone11.arpa:53 { bind 127.19.11.31 # ns1.child.zone11.xa bind fda1:b2:c3::127:19:11:31 # ns1.child.zone11.xa bind 127.19.11.32 # ns2.child.zone11.xa bind fda1:b2:c3::127:19:11:32 # ns2.child.zone11.xa log file Zone-TP/zone11/non-null-spf-arpa-zone.zone11.arpa.zone non-null-spf-arpa-zone.zone11.arpa } ## ## Alternative root zones ## .:53 { bind 127.19.11.41 # ns1.no-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:41 # ns1.no-spf.root-servers.zone11.xa bind 127.19.11.42 # ns2.no-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:42 # ns2.no-spf.root-servers.zone11.xa log file Zone-TP/zone11/root-no-spf.zone . } .:53 { bind 127.19.11.43 # ns1.null-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:43 # ns1.null-spf.root-servers.zone11.xa bind 127.19.11.44 # ns2.null-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:44 # ns2.null-spf.root-servers.zone11.xa log file Zone-TP/zone11/root-null-spf.zone . } .:53 { bind 127.19.11.45 # ns1.non-null-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:45 # ns1.non-null-spf.root-servers.zone11.xa bind 127.19.11.46 # ns2.non-null-spf.root-servers.zone11.xa bind fda1:b2:c3::127:19:11:46 # ns2.non-null-spf.root-servers.zone11.xa log file Zone-TP/zone11/root-non-null-spf.zone . }