3 target-fetch-policy: "0 0 0 0 0"
4 qname-minimisation: "no"
5 module-config: "dns64 validator iterator"
6 dns64-prefix: 64:ff9b::0/96
7 dns64-ignore-aaaa: ip6ignore.example.com
8 dns64-ignore-aaaa: ip6only.example.com
13 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
16 SCENARIO_BEGIN Test dns64 lookup and synthesis.
17 ; normal A lookup should still succeed
18 ; AAAA is synthesized if not present.
19 ; AAAA if present, is passed through unchanged.
20 ; AAAA if present (but configured to be ignored) but no A, AAAA is passed through unchanged.
26 MATCH opcode qtype qname
32 . IN NS K.ROOT-SERVERS.NET.
34 K.ROOT-SERVERS.NET. IN A 193.0.14.129
38 MATCH opcode qtype qname
44 com. IN NS a.gtld-servers.net.
46 a.gtld-servers.net. IN A 192.5.6.30
50 MATCH opcode subdomain
51 ADJUST copy_id copy_query
54 7.6.5.in-addr.arpa. IN A
56 7.6.5.in-addr.arpa. IN NS ns.example.com.
58 ns.example.com. IN A 1.2.3.4
67 MATCH opcode qtype qname
73 com. IN NS a.gtld-servers.net.
75 a.gtld-servers.net. IN A 192.5.6.30
79 MATCH opcode qtype qname
85 example.com. IN NS ns.example.com.
87 ns.example.com. IN A 1.2.3.4
95 MATCH opcode qtype qname
101 example.com. IN NS ns.example.com.
103 ns.example.com. IN A 1.2.3.4
107 MATCH opcode qtype qname
111 www.example.com. IN A
113 www.example.com. IN A 10.20.30.40
115 example.com. IN NS ns.example.com.
117 ns.example.com. IN A 1.2.3.4
121 MATCH opcode qtype qname
125 ip4.example.com. IN AAAA
129 example.com. IN SOA a. b. 1 2 3 4 5
133 MATCH opcode qtype qname
137 ip4.example.com. IN A
139 ip4.example.com. IN A 5.6.7.8
141 example.com. IN NS ns.example.com.
143 ns.example.com. IN A 1.2.3.4
147 MATCH opcode qtype qname
151 ip6.example.com. IN AAAA
153 ip6.example.com. IN AAAA 1:2:3::4
155 example.com. IN NS ns.example.com.
157 ns.example.com. IN A 1.2.3.4
161 MATCH opcode qtype qname
165 ip6ignore.example.com. IN AAAA
167 ip6ignore.example.com. IN AAAA 1:2:3::4
169 example.com. IN NS ns.example.com.
171 ns.example.com. IN A 1.2.3.4
175 MATCH opcode qtype qname
179 ip6ignore.example.com. IN A
181 ip6ignore.example.com. IN A 5.6.7.8
183 example.com. IN NS ns.example.com.
185 ns.example.com. IN A 1.2.3.4
189 MATCH opcode qtype qname
193 ip6only.example.com. IN AAAA
195 ip6only.example.com. IN AAAA 1:2:3::4
197 example.com. IN NS ns.example.com.
199 ns.example.com. IN A 1.2.3.4
203 MATCH opcode qtype qname
207 ip6only.example.com. IN A
211 example.com. IN SOA a. b. 1 2 3 4 5
216 MATCH opcode qtype qname
220 8.7.6.5.in-addr.arpa. IN PTR
222 8.7.6.5.in-addr.arpa. PTR ip4.example.com.
224 7.6.5.in-addr.arpa. IN NS ns.example.com.
233 www.example.com. IN A
236 ; recursion happens here.
240 REPLY QR RD RA NOERROR
242 www.example.com. IN A
244 www.example.com. IN A 10.20.30.40
246 example.com. IN NS ns.example.com.
248 ns.example.com. IN A 1.2.3.4
251 ; synthesize from A record 5.6.7.8
256 ip4.example.com. IN AAAA
259 ; recursion happens here.
263 REPLY QR RD RA NOERROR
265 ip4.example.com. IN AAAA
267 ip4.example.com. IN AAAA 64:ff9b::506:708
269 example.com. IN NS ns.example.com.
271 ns.example.com. IN A 1.2.3.4
274 ; this node has its own ipv6 address
279 ip6.example.com. IN AAAA
282 ; recursion happens here.
286 REPLY QR RD RA NOERROR
288 ip6.example.com. IN AAAA
290 ip6.example.com. IN AAAA 1:2:3::4
292 example.com. IN NS ns.example.com.
294 ns.example.com. IN A 1.2.3.4
302 8.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR
305 ; recursion happens here.
309 REPLY QR RD RA NOERROR
311 8.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR
313 8.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR ip4.example.com.
315 7.6.5.in-addr.arpa. IN NS ns.example.com.
318 ; ignore AAAA and synthesize from A record 5.6.7.8
323 ip6ignore.example.com. IN AAAA
326 ; recursion happens here.
330 REPLY QR RD RA NOERROR
332 ip6ignore.example.com. IN AAAA
334 ip6ignore.example.com. IN AAAA 64:ff9b::506:708
336 example.com. IN NS ns.example.com.
338 ns.example.com. IN A 1.2.3.4
341 ; try to ignore AAAA but no A record to synthesize, fallback to AAAA
346 ip6only.example.com. IN AAAA
349 ; recursion happens here.
350 STEP 110 CHECK_ANSWER
353 REPLY QR RD RA NOERROR
355 ip6only.example.com. IN AAAA
357 ip6only.example.com. IN AAAA 1:2:3::4
359 example.com. IN NS ns.example.com.
361 ns.example.com. IN A 1.2.3.4