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