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