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 	minimal-responses: yes
      6 	; respip is before dns64 in the module list.
      7 	module-config: "respip dns64 validator iterator"
      8 	dns64-prefix: 64:ff9b::0/96
      9 	response-ip: 10.20.30.42/32 always_refuse
     10 	response-ip: 10.20.30.43/32 redirect
     11 	response-ip-data: 10.20.30.43/32 "A 4.5.6.3"
     12 	response-ip: 5.6.7.9/32 redirect
     13 	response-ip-data: 5.6.7.9/32 "A 4.5.6.7"
     14 	response-ip: 5.6.7.10/32 always_nxdomain
     15 	response-ip: 64:ff9b::506:70B/128 redirect
     16 	response-ip-data: 64:ff9b::506:70B/128 "AAAA 2001:db8::4"
     17 
     18 rpz:
     19 	name: "rpz.example.com."
     20 	rpz-log: yes
     21 	zonefile:
     22 TEMPFILE_NAME rpz.example.com
     23 TEMPFILE_CONTENTS rpz.example.com
     24 $ORIGIN example.com.
     25 rpz	3600	IN	SOA	ns1.rpz.example.com. hostmaster.rpz.example.com. (
     26 		1379078166 28800 7200 604800 7200 )
     27 	3600	IN	NS	ns1.rpz.example.com.
     28 	3600	IN	NS	ns2.rpz.example.com.
     29 $ORIGIN rpz.example.com.
     30 32.44.30.20.10.rpz-ip CNAME .
     31 32.12.7.6.5.rpz-ip CNAME .
     32 32.13.7.6.5.rpz-ip A 4.5.6.13
     33 32.14.7.6.5.rpz-ip CNAME alias.example.com.
     34 TEMPFILE_END
     35 
     36 stub-zone:
     37 	name: "."
     38 	stub-addr: 193.0.14.129		# K.ROOT-SERVERS.NET.
     39 CONFIG_END
     40 
     41 SCENARIO_BEGIN Test respip and dns64 lookup.
     42 
     43 ; K.ROOT-SERVERS.NET.
     44 RANGE_BEGIN 0 1000
     45 	ADDRESS 193.0.14.129
     46 ENTRY_BEGIN
     47 MATCH opcode qtype qname
     48 ADJUST copy_id
     49 REPLY QR NOERROR
     50 SECTION QUESTION
     51 . IN NS
     52 SECTION ANSWER
     53 . IN NS K.ROOT-SERVERS.NET.
     54 SECTION ADDITIONAL
     55 K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
     56 ENTRY_END
     57 
     58 ENTRY_BEGIN
     59 MATCH opcode subdomain
     60 ADJUST copy_id copy_query
     61 REPLY QR NOERROR
     62 SECTION QUESTION
     63 com. IN NS
     64 SECTION AUTHORITY
     65 com.	IN NS	a.gtld-servers.net.
     66 SECTION ADDITIONAL
     67 a.gtld-servers.net.	IN	A	192.5.6.30
     68 ENTRY_END
     69 RANGE_END
     70 
     71 ; a.gtld-servers.net.
     72 RANGE_BEGIN 0 1000
     73 	ADDRESS 192.5.6.30
     74 ENTRY_BEGIN
     75 MATCH opcode qtype qname
     76 ADJUST copy_id
     77 REPLY QR NOERROR
     78 SECTION QUESTION
     79 com. IN NS
     80 SECTION ANSWER
     81 com.	IN NS	a.gtld-servers.net.
     82 SECTION ADDITIONAL
     83 a.gtld-servers.net.	IN	A	192.5.6.30
     84 ENTRY_END
     85 
     86 ENTRY_BEGIN
     87 MATCH opcode subdomain
     88 ADJUST copy_id copy_query
     89 REPLY QR NOERROR
     90 SECTION QUESTION
     91 example.com. IN NS
     92 SECTION AUTHORITY
     93 example.com.	IN NS	ns.example.com.
     94 SECTION ADDITIONAL
     95 ns.example.com.	IN	A	1.2.3.4
     96 ENTRY_END
     97 RANGE_END
     98 
     99 ; ns.example.com.
    100 RANGE_BEGIN 0 1000
    101 	ADDRESS 1.2.3.4
    102 ENTRY_BEGIN
    103 MATCH opcode qtype qname
    104 ADJUST copy_id
    105 REPLY QR NOERROR
    106 SECTION QUESTION
    107 example.com. IN NS
    108 SECTION ANSWER
    109 example.com.	IN NS	ns.example.com.
    110 SECTION ADDITIONAL
    111 ns.example.com.	IN	A	1.2.3.4
    112 ENTRY_END
    113 
    114 ENTRY_BEGIN
    115 MATCH opcode qtype qname
    116 ADJUST copy_id
    117 REPLY QR NOERROR
    118 SECTION QUESTION
    119 www.example.com. IN A
    120 SECTION ANSWER
    121 www.example.com. IN A 10.20.30.40
    122 ENTRY_END
    123 
    124 ENTRY_BEGIN
    125 MATCH opcode qtype qname
    126 ADJUST copy_id
    127 REPLY QR NOERROR
    128 SECTION QUESTION
    129 www2.example.com. IN A
    130 SECTION ANSWER
    131 www2.example.com. IN A 10.20.30.42
    132 ENTRY_END
    133 
    134 ENTRY_BEGIN
    135 MATCH opcode qtype qname
    136 ADJUST copy_id
    137 REPLY QR NOERROR
    138 SECTION QUESTION
    139 www3.example.com. IN A
    140 SECTION ANSWER
    141 www3.example.com. IN A 10.20.30.43
    142 ENTRY_END
    143 
    144 ENTRY_BEGIN
    145 MATCH opcode qtype qname
    146 ADJUST copy_id
    147 REPLY QR NOERROR
    148 SECTION QUESTION
    149 www4.example.com. IN A
    150 SECTION ANSWER
    151 www4.example.com. IN A 10.20.30.44
    152 ENTRY_END
    153 
    154 ENTRY_BEGIN
    155 MATCH opcode qtype qname
    156 ADJUST copy_id
    157 REPLY QR NOERROR
    158 SECTION QUESTION
    159 ip4.example.com. IN AAAA
    160 SECTION ANSWER
    161 ; NO AAAA present
    162 SECTION AUTHORITY
    163 example.com. IN SOA a. b. 1 2 3 4 5
    164 ENTRY_END
    165 
    166 ENTRY_BEGIN
    167 MATCH opcode qtype qname
    168 ADJUST copy_id
    169 REPLY QR NOERROR
    170 SECTION QUESTION
    171 ip4.example.com. IN A
    172 SECTION ANSWER
    173 ip4.example.com. IN A 5.6.7.8
    174 ENTRY_END
    175 
    176 ENTRY_BEGIN
    177 MATCH opcode qtype qname
    178 ADJUST copy_id
    179 REPLY QR NOERROR
    180 SECTION QUESTION
    181 ip4-2.example.com. IN AAAA
    182 SECTION ANSWER
    183 ; NO AAAA present
    184 SECTION AUTHORITY
    185 example.com. IN SOA a. b. 1 2 3 4 5
    186 ENTRY_END
    187 
    188 ENTRY_BEGIN
    189 MATCH opcode qtype qname
    190 ADJUST copy_id
    191 REPLY QR NOERROR
    192 SECTION QUESTION
    193 ip4-2.example.com. IN A
    194 SECTION ANSWER
    195 ip4-2.example.com. IN A 5.6.7.9
    196 ENTRY_END
    197 
    198 ENTRY_BEGIN
    199 MATCH opcode qtype qname
    200 ADJUST copy_id
    201 REPLY QR NOERROR
    202 SECTION QUESTION
    203 ip4-3.example.com. IN AAAA
    204 SECTION ANSWER
    205 ; NO AAAA present
    206 SECTION AUTHORITY
    207 example.com. IN SOA a. b. 1 2 3 4 5
    208 ENTRY_END
    209 
    210 ENTRY_BEGIN
    211 MATCH opcode qtype qname
    212 ADJUST copy_id
    213 REPLY QR NOERROR
    214 SECTION QUESTION
    215 ip4-3.example.com. IN A
    216 SECTION ANSWER
    217 ip4-3.example.com. IN A 5.6.7.10
    218 ENTRY_END
    219 
    220 ENTRY_BEGIN
    221 MATCH opcode qtype qname
    222 ADJUST copy_id
    223 REPLY QR NOERROR
    224 SECTION QUESTION
    225 ip4-4.example.com. IN AAAA
    226 SECTION ANSWER
    227 ; NO AAAA present
    228 SECTION AUTHORITY
    229 example.com. IN SOA a. b. 1 2 3 4 5
    230 ENTRY_END
    231 
    232 ENTRY_BEGIN
    233 MATCH opcode qtype qname
    234 ADJUST copy_id
    235 REPLY QR NOERROR
    236 SECTION QUESTION
    237 ip4-4.example.com. IN A
    238 SECTION ANSWER
    239 ip4-4.example.com. IN A 5.6.7.11
    240 ENTRY_END
    241 
    242 ENTRY_BEGIN
    243 MATCH opcode qtype qname
    244 ADJUST copy_id
    245 REPLY QR NOERROR
    246 SECTION QUESTION
    247 ip4-5.example.com. IN AAAA
    248 SECTION ANSWER
    249 ; NO AAAA present
    250 SECTION AUTHORITY
    251 example.com. IN SOA a. b. 1 2 3 4 5
    252 ENTRY_END
    253 
    254 ENTRY_BEGIN
    255 MATCH opcode qtype qname
    256 ADJUST copy_id
    257 REPLY QR NOERROR
    258 SECTION QUESTION
    259 ip4-5.example.com. IN A
    260 SECTION ANSWER
    261 ip4-5.example.com. IN A 5.6.7.12
    262 ENTRY_END
    263 
    264 ENTRY_BEGIN
    265 MATCH opcode qtype qname
    266 ADJUST copy_id
    267 REPLY QR NOERROR
    268 SECTION QUESTION
    269 ip4-6.example.com. IN AAAA
    270 SECTION ANSWER
    271 ; NO AAAA present
    272 SECTION AUTHORITY
    273 example.com. IN SOA a. b. 1 2 3 4 5
    274 ENTRY_END
    275 
    276 ENTRY_BEGIN
    277 MATCH opcode qtype qname
    278 ADJUST copy_id
    279 REPLY QR NOERROR
    280 SECTION QUESTION
    281 ip4-6.example.com. IN A
    282 SECTION ANSWER
    283 ip4-6.example.com. IN A 5.6.7.13
    284 ENTRY_END
    285 
    286 ENTRY_BEGIN
    287 MATCH opcode qtype qname
    288 ADJUST copy_id
    289 REPLY QR NOERROR
    290 SECTION QUESTION
    291 ip4-7.example.com. IN AAAA
    292 SECTION ANSWER
    293 ; NO AAAA present
    294 SECTION AUTHORITY
    295 example.com. IN SOA a. b. 1 2 3 4 5
    296 ENTRY_END
    297 
    298 ENTRY_BEGIN
    299 MATCH opcode qtype qname
    300 ADJUST copy_id
    301 REPLY QR NOERROR
    302 SECTION QUESTION
    303 ip4-7.example.com. IN A
    304 SECTION ANSWER
    305 ip4-7.example.com. IN A 5.6.7.14
    306 ENTRY_END
    307 
    308 ENTRY_BEGIN
    309 MATCH opcode qtype qname
    310 ADJUST copy_id
    311 REPLY QR NOERROR
    312 SECTION QUESTION
    313 alias.example.com. IN A
    314 SECTION ANSWER
    315 alias.example.com. IN A 4.5.6.14
    316 ENTRY_END
    317 RANGE_END
    318 
    319 STEP 1 QUERY
    320 ENTRY_BEGIN
    321 REPLY RD
    322 SECTION QUESTION
    323 www.example.com. IN A
    324 ENTRY_END
    325 
    326 ; The query is unaltered.
    327 STEP 10 CHECK_ANSWER
    328 ENTRY_BEGIN
    329 MATCH all
    330 REPLY QR RD RA NOERROR
    331 SECTION QUESTION
    332 www.example.com. IN A
    333 SECTION ANSWER
    334 www.example.com. IN A 10.20.30.40
    335 ENTRY_END
    336 
    337 STEP 20 QUERY
    338 ENTRY_BEGIN
    339 REPLY RD
    340 SECTION QUESTION
    341 www2.example.com. IN A
    342 ENTRY_END
    343 
    344 ; The query is altered by respip, A query refused.
    345 STEP 30 CHECK_ANSWER
    346 ENTRY_BEGIN
    347 MATCH all
    348 REPLY QR RD RA REFUSED
    349 SECTION QUESTION
    350 www2.example.com. IN A
    351 SECTION ANSWER
    352 ENTRY_END
    353 
    354 STEP 40 QUERY
    355 ENTRY_BEGIN
    356 REPLY RD
    357 SECTION QUESTION
    358 www3.example.com. IN A
    359 ENTRY_END
    360 
    361 ; The query is altered by respip, with redirect.
    362 STEP 50 CHECK_ANSWER
    363 ENTRY_BEGIN
    364 MATCH all
    365 REPLY QR RD RA NOERROR
    366 SECTION QUESTION
    367 www3.example.com. IN A
    368 SECTION ANSWER
    369 www3.example.com. IN A 4.5.6.3
    370 ENTRY_END
    371 
    372 STEP 60 QUERY
    373 ENTRY_BEGIN
    374 REPLY RD
    375 SECTION QUESTION
    376 ip4.example.com. IN AAAA
    377 ENTRY_END
    378 
    379 ; synthesize from A record 5.6.7.8 with DNS64.
    380 STEP 70 CHECK_ANSWER
    381 ENTRY_BEGIN
    382 MATCH all
    383 REPLY QR RD RA NOERROR
    384 SECTION QUESTION
    385 ip4.example.com. IN AAAA
    386 SECTION ANSWER
    387 ip4.example.com. IN AAAA 64:ff9b::506:708
    388 ENTRY_END
    389 
    390 STEP 80 QUERY
    391 ENTRY_BEGIN
    392 REPLY RD
    393 SECTION QUESTION
    394 ip4-2.example.com. IN AAAA
    395 ENTRY_END
    396 
    397 ; The dns64 subquery is altered by respip, with redirect.
    398 ; and the respip result is dns64 synthesized.
    399 STEP 90 CHECK_ANSWER
    400 ENTRY_BEGIN
    401 MATCH all
    402 REPLY QR RD RA NOERROR
    403 SECTION QUESTION
    404 ip4-2.example.com. IN AAAA
    405 SECTION ANSWER
    406 ip4-2.example.com. IN AAAA 64:ff9b::405:607
    407 ENTRY_END
    408 
    409 STEP 100 QUERY
    410 ENTRY_BEGIN
    411 REPLY RD
    412 SECTION QUESTION
    413 ip4-3.example.com. IN AAAA
    414 ENTRY_END
    415 
    416 ; The dns64 subquery is altered by respip, with nxdomain.
    417 ; and the respip result is dns64 synthesized.
    418 STEP 110 CHECK_ANSWER
    419 ENTRY_BEGIN
    420 MATCH all
    421 REPLY QR RD RA NOERROR
    422 SECTION QUESTION
    423 ip4-3.example.com. IN AAAA
    424 SECTION ANSWER
    425 SECTION AUTHORITY
    426 example.com. IN SOA a. b. 1 2 3 4 5
    427 ENTRY_END
    428 
    429 STEP 120 QUERY
    430 ENTRY_BEGIN
    431 REPLY RD
    432 SECTION QUESTION
    433 ip4-4.example.com. IN AAAA
    434 ENTRY_END
    435 
    436 ; The dns64 subquery is synthesized, respip operates on the
    437 ; synthesized AAAA result, and makes a redirect.
    438 STEP 130 CHECK_ANSWER
    439 ENTRY_BEGIN
    440 MATCH all
    441 REPLY QR RD RA NOERROR
    442 SECTION QUESTION
    443 ip4-4.example.com. IN AAAA
    444 SECTION ANSWER
    445 ip4-4.example.com. IN AAAA 2001:db8::4
    446 ENTRY_END
    447 
    448 STEP 140 QUERY
    449 ENTRY_BEGIN
    450 REPLY RD
    451 SECTION QUESTION
    452 www4.example.com. IN A
    453 ENTRY_END
    454 
    455 ; The query is blocked by rpz.
    456 STEP 150 CHECK_ANSWER
    457 ENTRY_BEGIN
    458 MATCH all
    459 REPLY QR RD RA NXDOMAIN
    460 SECTION QUESTION
    461 www4.example.com. IN A
    462 SECTION ANSWER
    463 ENTRY_END
    464 
    465 STEP 160 QUERY
    466 ENTRY_BEGIN
    467 REPLY RD
    468 SECTION QUESTION
    469 ip4-5.example.com. IN AAAA
    470 ENTRY_END
    471 
    472 ; The dns64 subquery is blocked by RPZ.
    473 STEP 170 CHECK_ANSWER
    474 ENTRY_BEGIN
    475 MATCH all
    476 REPLY QR RD RA NOERROR
    477 SECTION QUESTION
    478 ip4-5.example.com. IN AAAA
    479 SECTION ANSWER
    480 SECTION AUTHORITY
    481 example.com. IN SOA a. b. 1 2 3 4 5
    482 ENTRY_END
    483 
    484 STEP 180 QUERY
    485 ENTRY_BEGIN
    486 REPLY RD
    487 SECTION QUESTION
    488 ip4-6.example.com. IN AAAA
    489 ENTRY_END
    490 
    491 ; The dns64 subquery is redirected by RPZ.
    492 STEP 190 CHECK_ANSWER
    493 ENTRY_BEGIN
    494 MATCH all
    495 REPLY QR RD RA NOERROR
    496 SECTION QUESTION
    497 ip4-6.example.com. IN AAAA
    498 SECTION ANSWER
    499 ip4-6.example.com. AAAA 64:ff9b::405:60d
    500 ENTRY_END
    501 
    502 STEP 200 QUERY
    503 ENTRY_BEGIN
    504 REPLY RD
    505 SECTION QUESTION
    506 ip4-7.example.com. IN AAAA
    507 ENTRY_END
    508 
    509 ; The dns64 subquery is a CNAME by RPZ.
    510 ; that CNAME resolves to an A record, dns64 synthesizes that A record.
    511 STEP 210 CHECK_ANSWER
    512 ENTRY_BEGIN
    513 MATCH all
    514 REPLY QR RD RA NOERROR
    515 SECTION QUESTION
    516 ip4-7.example.com. IN AAAA
    517 SECTION ANSWER
    518 ip4-7.example.com. CNAME alias.example.com.
    519 alias.example.com. AAAA 64:ff9b::405:60e
    520 ENTRY_END
    521 
    522 SCENARIO_END
    523