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