3 harden-referral-path: yes
4 target-fetch-policy: "0 0 0 0 0"
7 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
10 SCENARIO_BEGIN Test NS record spoof protection.
16 MATCH opcode qtype qname
22 . IN NS K.ROOT-SERVERS.NET.
24 K.ROOT-SERVERS.NET. IN A 193.0.14.129
28 MATCH opcode subdomain
29 ADJUST copy_id copy_query
34 com. IN NS a.gtld-servers.net.
36 a.gtld-servers.net. IN A 192.5.6.30
39 ; for simplicity the root server is authoritative for root-servers.net
40 ; and also for gtld-servers.net
42 MATCH opcode qtype qname
46 K.ROOT-SERVERS.NET. IN A
48 K.ROOT-SERVERS.NET. IN A 193.0.14.129
52 MATCH opcode qtype qname
56 a.gtld-servers.net. IN A
58 a.gtld-servers.net. IN A 192.5.6.30
67 MATCH opcode subdomain
68 ADJUST copy_id copy_query
73 example.com. IN NS ns.example.com.
75 ns.example.com. IN A 1.2.3.4
79 MATCH opcode qtype qname
85 com. IN NS a.gtld-servers.net.
87 a.gtld-servers.net. IN A 192.5.6.30
95 MATCH opcode qtype qname
101 www.example.com. IN A 10.20.30.40
103 example.com. IN NS ns.example.com.
105 ns.example.com. IN A 1.2.3.4
109 MATCH opcode qtype qname
113 mail.example.com. IN A
115 mail.example.com. IN A 10.20.30.50
117 example.com. IN NS ns.example.com.
119 ns.example.com. IN A 1.2.3.4
123 MATCH opcode qtype qname
129 example.com. IN NS ns.example.com.
131 ns.example.com. IN A 1.2.3.4
135 MATCH opcode qtype qname
141 ns.example.com. IN A 1.2.3.4
143 example.com. IN NS ns.example.com.
146 ;; answer to the spoofed query ; spoofed reply answer.
147 ; here we put it in the nameserver for ease.
149 MATCH opcode qtype qname
153 bad123.example.com. IN A
155 bad123.example.com. IN A 6.6.6.6
158 example.com. IN NS bad123.example.com.
167 MATCH opcode qtype qname
171 www.example.com. IN A
173 www.example.com. IN A 6.6.6.6
175 example.com. IN NS bad123.example.com.
177 bad123.example.com. IN A 6.6.6.6
181 MATCH opcode qtype qname
185 mail.example.com. IN A
187 mail.example.com. IN A 6.6.6.6
189 example.com. IN NS bad123.example.com.
191 bad123.example.com. IN A 6.6.6.6
195 MATCH opcode qtype qname
199 bad123.example.com. IN A
201 bad123.example.com. IN A 6.6.6.6
204 example.com. IN NS bad123.example.com.
212 www.example.com. IN A
215 ; recursion happens here.
219 REPLY QR RD RA NOERROR
221 www.example.com. IN A
223 www.example.com. IN A 10.20.30.40
225 example.com. IN NS ns.example.com.
227 ns.example.com. IN A 1.2.3.4
235 bad123.example.com. IN A
238 ; recursion happens here.
241 ; no matching here, just accept the answer to the spoofed query.
242 ; it is wrong, but only one query ...
243 ; this test is to check further on, that we still have the right nameserver.
245 REPLY QR RD RA NOERROR
247 bad123.example.com. IN A
249 bad123.example.com. IN A 6.6.6.6
251 example.com. IN NS ns.example.com.
253 ns.example.com. IN A 1.2.3.4
261 mail.example.com. IN A
267 REPLY QR RD RA NOERROR
269 mail.example.com. IN A
271 mail.example.com. IN A 10.20.30.50
273 example.com. IN NS ns.example.com.
275 ns.example.com. IN A 1.2.3.4