Home | History | Annotate | Line # | Download | only in testdata
      1 ; config options
      2 server:
      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
      9 	minimal-responses: no
     10 	iter-scrub-promiscuous: no
     11 
     12 stub-zone:
     13 	name: "."
     14 	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
     15 CONFIG_END
     16 
     17 SCENARIO_BEGIN Test dns64 lookup and synthesis.
     18 ; normal A lookup should still succeed
     19 ; AAAA is synthesized if not present.
     20 ; AAAA if present, is passed through unchanged.
     21 ; AAAA if present (but configured to be ignored) but no A, AAAA is passed through unchanged.
     22 
     23 ; K.ROOT-SERVERS.NET.
     24 RANGE_BEGIN 0 200
     25 	ADDRESS 193.0.14.129 
     26 ENTRY_BEGIN
     27 MATCH opcode qtype qname
     28 ADJUST copy_id
     29 REPLY QR NOERROR
     30 SECTION QUESTION
     31 . IN NS
     32 SECTION ANSWER
     33 . IN NS	K.ROOT-SERVERS.NET.
     34 SECTION ADDITIONAL
     35 K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
     36 ENTRY_END
     37 
     38 ENTRY_BEGIN
     39 MATCH opcode qtype qname
     40 ADJUST copy_id
     41 REPLY QR NOERROR
     42 SECTION QUESTION
     43 www.example.com. IN A
     44 SECTION AUTHORITY
     45 com.	IN NS	a.gtld-servers.net.
     46 SECTION ADDITIONAL
     47 a.gtld-servers.net.	IN 	A	192.5.6.30
     48 ENTRY_END
     49 
     50 ENTRY_BEGIN
     51 MATCH opcode subdomain
     52 ADJUST copy_id copy_query
     53 REPLY QR NOERROR
     54 SECTION QUESTION
     55 7.6.5.in-addr.arpa. IN A
     56 SECTION AUTHORITY
     57 7.6.5.in-addr.arpa. IN NS ns.example.com.
     58 SECTION ADDITIONAL
     59 ns.example.com.		IN	A	1.2.3.4
     60 ENTRY_END
     61 
     62 RANGE_END
     63 
     64 ; a.gtld-servers.net.
     65 RANGE_BEGIN 0 200
     66 	ADDRESS 192.5.6.30
     67 ENTRY_BEGIN
     68 MATCH opcode qtype qname
     69 ADJUST copy_id
     70 REPLY QR NOERROR
     71 SECTION QUESTION
     72 com. IN NS
     73 SECTION ANSWER
     74 com.	IN NS	a.gtld-servers.net.
     75 SECTION ADDITIONAL
     76 a.gtld-servers.net.	IN 	A	192.5.6.30
     77 ENTRY_END
     78 
     79 ENTRY_BEGIN
     80 MATCH opcode qtype qname
     81 ADJUST copy_id
     82 REPLY QR NOERROR
     83 SECTION QUESTION
     84 www.example.com. IN A
     85 SECTION AUTHORITY
     86 example.com.	IN NS	ns.example.com.
     87 SECTION ADDITIONAL
     88 ns.example.com.		IN 	A	1.2.3.4
     89 ENTRY_END
     90 RANGE_END
     91 
     92 ; ns.example.com.
     93 RANGE_BEGIN 0 200
     94 	ADDRESS 1.2.3.4
     95 ENTRY_BEGIN
     96 MATCH opcode qtype qname
     97 ADJUST copy_id
     98 REPLY QR NOERROR
     99 SECTION QUESTION
    100 example.com. IN NS
    101 SECTION ANSWER
    102 example.com.	IN NS	ns.example.com.
    103 SECTION ADDITIONAL
    104 ns.example.com.		IN 	A	1.2.3.4
    105 ENTRY_END
    106 
    107 ENTRY_BEGIN
    108 MATCH opcode qtype qname
    109 ADJUST copy_id
    110 REPLY QR NOERROR
    111 SECTION QUESTION
    112 www.example.com. IN A
    113 SECTION ANSWER
    114 www.example.com. IN A	10.20.30.40
    115 SECTION AUTHORITY
    116 example.com.	IN NS	ns.example.com.
    117 SECTION ADDITIONAL
    118 ns.example.com.		IN 	A	1.2.3.4
    119 ENTRY_END
    120 
    121 ENTRY_BEGIN
    122 MATCH opcode qtype qname
    123 ADJUST copy_id
    124 REPLY QR NOERROR
    125 SECTION QUESTION
    126 ip4.example.com. IN AAAA
    127 SECTION ANSWER
    128 ; NO AAAA present
    129 SECTION AUTHORITY
    130 example.com.	IN SOA	a. b. 1 2 3 4 5
    131 ENTRY_END
    132 
    133 ENTRY_BEGIN
    134 MATCH opcode qtype qname
    135 ADJUST copy_id
    136 REPLY QR NOERROR
    137 SECTION QUESTION
    138 ip4.example.com. IN A
    139 SECTION ANSWER
    140 ip4.example.com. IN A	5.6.7.8
    141 SECTION AUTHORITY
    142 example.com.	IN NS	ns.example.com.
    143 SECTION ADDITIONAL
    144 ns.example.com.		IN 	A	1.2.3.4
    145 ENTRY_END
    146 
    147 ENTRY_BEGIN
    148 MATCH opcode qtype qname
    149 ADJUST copy_id
    150 REPLY QR NOERROR
    151 SECTION QUESTION
    152 ip6.example.com. IN AAAA
    153 SECTION ANSWER
    154 ip6.example.com. IN AAAA 1:2:3::4
    155 SECTION AUTHORITY
    156 example.com.	IN NS	ns.example.com.
    157 SECTION ADDITIONAL
    158 ns.example.com.		IN 	A	1.2.3.4
    159 ENTRY_END
    160 
    161 ENTRY_BEGIN
    162 MATCH opcode qtype qname
    163 ADJUST copy_id
    164 REPLY QR NOERROR
    165 SECTION QUESTION
    166 ip6ignore.example.com. IN AAAA
    167 SECTION ANSWER
    168 ip6ignore.example.com. IN AAAA 1:2:3::4
    169 SECTION AUTHORITY
    170 example.com.	IN NS	ns.example.com.
    171 SECTION ADDITIONAL
    172 ns.example.com.		IN 	A	1.2.3.4
    173 ENTRY_END
    174 
    175 ENTRY_BEGIN
    176 MATCH opcode qtype qname
    177 ADJUST copy_id
    178 REPLY QR NOERROR
    179 SECTION QUESTION
    180 ip6ignore.example.com. IN A
    181 SECTION ANSWER
    182 ip6ignore.example.com. IN A	5.6.7.8
    183 SECTION AUTHORITY
    184 example.com.	IN NS	ns.example.com.
    185 SECTION ADDITIONAL
    186 ns.example.com.		IN 	A	1.2.3.4
    187 ENTRY_END
    188 
    189 ENTRY_BEGIN
    190 MATCH opcode qtype qname
    191 ADJUST copy_id
    192 REPLY QR NOERROR
    193 SECTION QUESTION
    194 ip6only.example.com. IN AAAA
    195 SECTION ANSWER
    196 ip6only.example.com. IN AAAA 1:2:3::4
    197 SECTION AUTHORITY
    198 example.com.	IN NS	ns.example.com.
    199 SECTION ADDITIONAL
    200 ns.example.com.		IN 	A	1.2.3.4
    201 ENTRY_END
    202 
    203 ENTRY_BEGIN
    204 MATCH opcode qtype qname
    205 ADJUST copy_id
    206 REPLY QR NOERROR
    207 SECTION QUESTION
    208 ip6only.example.com. IN A
    209 SECTION ANSWER
    210 ; NO A present
    211 SECTION AUTHORITY
    212 example.com.	IN SOA	a. b. 1 2 3 4 5
    213 ENTRY_END
    214 
    215 
    216 ENTRY_BEGIN
    217 MATCH opcode qtype qname
    218 ADJUST copy_id
    219 REPLY QR NOERROR
    220 SECTION QUESTION
    221 8.7.6.5.in-addr.arpa. IN PTR
    222 SECTION ANSWER
    223 8.7.6.5.in-addr.arpa. PTR ip4.example.com.
    224 SECTION AUTHORITY
    225 7.6.5.in-addr.arpa. IN NS ns.example.com.
    226 ENTRY_END
    227 
    228 RANGE_END
    229 
    230 STEP 1 QUERY
    231 ENTRY_BEGIN
    232 REPLY RD
    233 SECTION QUESTION
    234 www.example.com. IN A
    235 ENTRY_END
    236 
    237 ; recursion happens here.
    238 STEP 10 CHECK_ANSWER
    239 ENTRY_BEGIN
    240 MATCH all
    241 REPLY QR RD RA NOERROR
    242 SECTION QUESTION
    243 www.example.com. IN A
    244 SECTION ANSWER
    245 www.example.com. IN A	10.20.30.40
    246 SECTION AUTHORITY
    247 example.com.	IN NS	ns.example.com.
    248 SECTION ADDITIONAL
    249 ns.example.com.		IN 	A	1.2.3.4
    250 ENTRY_END
    251 
    252 ; synthesize from A record 5.6.7.8
    253 STEP 20 QUERY
    254 ENTRY_BEGIN
    255 REPLY RD
    256 SECTION QUESTION
    257 ip4.example.com. IN AAAA
    258 ENTRY_END
    259 
    260 ; recursion happens here.
    261 STEP 30 CHECK_ANSWER
    262 ENTRY_BEGIN
    263 MATCH all
    264 REPLY QR RD RA NOERROR
    265 SECTION QUESTION
    266 ip4.example.com. IN AAAA
    267 SECTION ANSWER
    268 ip4.example.com.        IN      AAAA    64:ff9b::506:708
    269 SECTION AUTHORITY
    270 example.com.	IN NS	ns.example.com.
    271 SECTION ADDITIONAL
    272 ns.example.com.		IN 	A	1.2.3.4
    273 ENTRY_END
    274 
    275 ; this node has its own ipv6 address
    276 STEP 40 QUERY
    277 ENTRY_BEGIN
    278 REPLY RD
    279 SECTION QUESTION
    280 ip6.example.com. IN AAAA
    281 ENTRY_END
    282 
    283 ; recursion happens here.
    284 STEP 50 CHECK_ANSWER
    285 ENTRY_BEGIN
    286 MATCH all
    287 REPLY QR RD RA NOERROR
    288 SECTION QUESTION
    289 ip6.example.com. IN AAAA
    290 SECTION ANSWER
    291 ip6.example.com. IN AAAA 1:2:3::4
    292 SECTION AUTHORITY
    293 example.com.	IN NS	ns.example.com.
    294 SECTION ADDITIONAL
    295 ns.example.com.		IN 	A	1.2.3.4
    296 ENTRY_END
    297 
    298 ; test ptr lookup
    299 STEP 60 QUERY
    300 ENTRY_BEGIN
    301 REPLY RD
    302 SECTION QUESTION
    303 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
    304 ENTRY_END
    305 
    306 ; recursion happens here.
    307 STEP 70 CHECK_ANSWER
    308 ENTRY_BEGIN
    309 MATCH all
    310 REPLY QR RD RA NOERROR
    311 SECTION QUESTION
    312 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 SECTION ANSWER
    314 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 SECTION AUTHORITY
    316 7.6.5.in-addr.arpa. IN NS ns.example.com.
    317 ENTRY_END
    318 
    319 ; ignore AAAA and synthesize from A record 5.6.7.8
    320 STEP 80 QUERY
    321 ENTRY_BEGIN
    322 REPLY RD
    323 SECTION QUESTION
    324 ip6ignore.example.com. IN AAAA
    325 ENTRY_END
    326 
    327 ; recursion happens here.
    328 STEP 90 CHECK_ANSWER
    329 ENTRY_BEGIN
    330 MATCH all
    331 REPLY QR RD RA NOERROR
    332 SECTION QUESTION
    333 ip6ignore.example.com. IN AAAA
    334 SECTION ANSWER
    335 ip6ignore.example.com.        IN      AAAA    64:ff9b::506:708
    336 SECTION AUTHORITY
    337 example.com.	IN NS	ns.example.com.
    338 SECTION ADDITIONAL
    339 ns.example.com.		IN 	A	1.2.3.4
    340 ENTRY_END
    341 
    342 ; try to ignore AAAA but no A record to synthesize, fallback to AAAA
    343 STEP 100 QUERY
    344 ENTRY_BEGIN
    345 REPLY RD
    346 SECTION QUESTION
    347 ip6only.example.com. IN AAAA
    348 ENTRY_END
    349 
    350 ; recursion happens here.
    351 STEP 110 CHECK_ANSWER
    352 ENTRY_BEGIN
    353 MATCH all
    354 REPLY QR RD RA NOERROR
    355 SECTION QUESTION
    356 ip6only.example.com. IN AAAA
    357 SECTION ANSWER
    358 ip6only.example.com.        IN      AAAA    1:2:3::4
    359 SECTION AUTHORITY
    360 example.com.	IN NS	ns.example.com.
    361 SECTION ADDITIONAL
    362 ns.example.com.		IN 	A	1.2.3.4
    363 ENTRY_END
    364 
    365 SCENARIO_END
    366