1 ; config options 2 ; The island of trust is at test. 3 server: 4 target-fetch-policy: "0 0 0 0 0" 5 qname-minimisation: no 6 minimal-responses: yes 7 iter-scrub-promiscuous: yes 8 aggressive-nsec: no 9 local-zone: test. nodefault 10 log-servfail: yes 11 module-config: "iterator" 12 13 stub-zone: 14 name: "." 15 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 16 CONFIG_END 17 18 SCENARIO_BEGIN Test ghost domain glue TTL extension 19 ; for A and AAAA records. 20 21 ; K.ROOT-SERVERS.NET. 22 RANGE_BEGIN 0 100 23 ADDRESS 193.0.14.129 24 ENTRY_BEGIN 25 MATCH opcode qtype qname 26 ADJUST copy_id 27 REPLY QR NOERROR 28 SECTION QUESTION 29 . IN NS 30 SECTION ANSWER 31 . IN NS K.ROOT-SERVERS.NET. 32 SECTION ADDITIONAL 33 K.ROOT-SERVERS.NET. IN A 193.0.14.129 34 ENTRY_END 35 36 ENTRY_BEGIN 37 MATCH opcode subdomain 38 ADJUST copy_id copy_query 39 REPLY QR NOERROR 40 SECTION QUESTION 41 test. IN NS 42 SECTION AUTHORITY 43 test. IN NS ns.test. 44 SECTION ADDITIONAL 45 ns.test. IN A 1.2.3.5 46 ENTRY_END 47 RANGE_END 48 49 ; ns.test 50 RANGE_BEGIN 0 20 51 ADDRESS 1.2.3.5 52 ENTRY_BEGIN 53 MATCH opcode qtype qname 54 ADJUST copy_id 55 REPLY QR AA NOERROR 56 SECTION QUESTION 57 test. IN NS 58 SECTION ANSWER 59 test. IN NS ns.test 60 SECTION ADDITIONAL 61 ns.test. IN A 1.2.3.5 62 ENTRY_END 63 64 ENTRY_BEGIN 65 MATCH opcode qtype qname 66 ADJUST copy_id 67 REPLY QR AA NOERROR 68 SECTION QUESTION 69 ns.test. IN A 70 SECTION ANSWER 71 ns.test. IN A 1.2.3.5 72 ENTRY_END 73 74 ENTRY_BEGIN 75 MATCH opcode qtype qname 76 ADJUST copy_id 77 REPLY QR AA NOERROR 78 SECTION QUESTION 79 ns.test. IN AAAA 80 SECTION AUTHORITY 81 test. 3600 IN SOA ns.test. host.test. 20201 3600 1800 604800 3600 82 ENTRY_END 83 84 ENTRY_BEGIN 85 MATCH opcode subdomain 86 ADJUST copy_id copy_query 87 REPLY QR NOERROR 88 SECTION QUESTION 89 example.test. IN NS 90 SECTION AUTHORITY 91 example.test. 4 IN NS ns.example.test. 92 SECTION ADDITIONAL 93 ns.example.test. 4 IN A 1.2.3.4 94 ENTRY_END 95 RANGE_END 96 97 ; ns.test 98 RANGE_BEGIN 25 100 99 ADDRESS 1.2.3.5 100 ENTRY_BEGIN 101 MATCH opcode qtype qname 102 ADJUST copy_id 103 REPLY QR AA NOERROR 104 SECTION QUESTION 105 test. IN NS 106 SECTION ANSWER 107 test. IN NS ns.test 108 SECTION ADDITIONAL 109 ns.test. IN A 1.2.3.5 110 ENTRY_END 111 112 ENTRY_BEGIN 113 MATCH opcode qtype qname 114 ADJUST copy_id 115 REPLY QR AA NOERROR 116 SECTION QUESTION 117 ns.test. IN A 118 SECTION ANSWER 119 ns.test. IN A 1.2.3.5 120 ENTRY_END 121 122 ENTRY_BEGIN 123 MATCH opcode qtype qname 124 ADJUST copy_id 125 REPLY QR AA NOERROR 126 SECTION QUESTION 127 ns.test. IN AAAA 128 SECTION AUTHORITY 129 test. 3600 IN SOA ns.test. host.test. 20201 3600 1800 604800 3600 130 ENTRY_END 131 132 ENTRY_BEGIN 133 MATCH opcode subdomain 134 ADJUST copy_id copy_query 135 REPLY QR NOERROR 136 SECTION QUESTION 137 example.test. IN NS 138 SECTION AUTHORITY 139 example.test. 4 IN NS ns.example.test. 140 SECTION ADDITIONAL 141 ns.example.test. 4 IN A 1.2.3.7 142 ENTRY_END 143 RANGE_END 144 145 ; ns.example.test. 146 RANGE_BEGIN 0 20 147 ADDRESS 1.2.3.4 148 ENTRY_BEGIN 149 MATCH opcode qtype qname 150 ADJUST copy_id 151 REPLY QR NOERROR 152 SECTION QUESTION 153 example.test. IN NS 154 SECTION ANSWER 155 example.test. 7200 IN NS ns.example.test. 156 SECTION ADDITIONAL 157 ns.example.test. 7200 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 AA NOERROR 164 SECTION QUESTION 165 ns.example.test. IN A 166 SECTION ANSWER 167 ns.example.test. 7200 IN A 1.2.3.4 168 ENTRY_END 169 170 ENTRY_BEGIN 171 MATCH opcode qtype qname 172 ADJUST copy_id 173 REPLY QR AA NOERROR 174 SECTION QUESTION 175 ns.example.test. IN AAAA 176 SECTION AUTHORITY 177 example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600 178 ENTRY_END 179 180 ; response to query of interest 181 ENTRY_BEGIN 182 MATCH opcode qtype qname 183 ADJUST copy_id 184 REPLY QR AA NOERROR 185 SECTION QUESTION 186 www.example.test. IN A 187 SECTION ANSWER 188 www.example.test. 1 IN A 192.0.2.1 189 ENTRY_END 190 RANGE_END 191 192 ; ns.example.test. 193 ; after the delegation change, the old hoster. 194 RANGE_BEGIN 20 100 195 ADDRESS 1.2.3.4 196 ENTRY_BEGIN 197 MATCH opcode qtype qname 198 ADJUST copy_id 199 REPLY QR AA NOERROR 200 SECTION QUESTION 201 www3.example.test. IN A 202 SECTION ANSWER 203 www3.example.test. IN A 10.20.30.46 204 ENTRY_END 205 RANGE_END 206 207 ; ns.example.test. 208 ; the new hoster 209 RANGE_BEGIN 20 100 210 ADDRESS 1.2.3.7 211 ENTRY_BEGIN 212 MATCH opcode qtype qname 213 ADJUST copy_id 214 REPLY QR AA NOERROR 215 SECTION QUESTION 216 ns.example.test. IN A 217 SECTION ANSWER 218 ns.example.test. IN A 1.2.3.7 219 ENTRY_END 220 221 ENTRY_BEGIN 222 MATCH opcode qtype qname 223 ADJUST copy_id 224 REPLY QR AA NOERROR 225 SECTION QUESTION 226 ns.example.test. IN AAAA 227 SECTION AUTHORITY 228 example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600 229 ENTRY_END 230 231 ENTRY_BEGIN 232 MATCH opcode qtype qname 233 ADJUST copy_id 234 REPLY QR AA NOERROR 235 SECTION QUESTION 236 www2.example.test. IN A 237 SECTION ANSWER 238 www2.example.test. IN A 10.20.30.47 239 ENTRY_END 240 241 ENTRY_BEGIN 242 MATCH opcode qtype qname 243 ADJUST copy_id 244 REPLY QR AA SERVFAIL 245 SECTION QUESTION 246 www3.example.test. IN A 247 SECTION ANSWER 248 ENTRY_END 249 RANGE_END 250 251 ; The TTL of the NS and glue is 4 for example.test. 252 STEP 1 QUERY 253 ENTRY_BEGIN 254 REPLY RD DO 255 SECTION QUESTION 256 www.example.test. IN A 257 ENTRY_END 258 259 STEP 2 CHECK_ANSWER 260 ENTRY_BEGIN 261 MATCH all ttl 262 REPLY QR RD RA DO NOERROR 263 SECTION QUESTION 264 www.example.test. IN A 265 SECTION ANSWER 266 www.example.test. 1 IN A 192.0.2.1 267 ENTRY_END 268 269 ; query for the NS record 270 STEP 8 QUERY 271 ENTRY_BEGIN 272 REPLY RD DO 273 SECTION QUESTION 274 example.test. IN NS 275 ENTRY_END 276 277 STEP 9 CHECK_ANSWER 278 ENTRY_BEGIN 279 MATCH all ttl 280 REPLY QR RD RA DO NOERROR 281 SECTION QUESTION 282 example.test. IN NS 283 SECTION ANSWER 284 example.test. 7200 IN NS ns.example.test. 285 SECTION ADDITIONAL 286 ns.example.test. 4 IN A 1.2.3.4 287 ENTRY_END 288 289 ; query for glue specifically 290 STEP 10 QUERY 291 ENTRY_BEGIN 292 REPLY RD DO 293 SECTION QUESTION 294 ns.example.test. IN A 295 ENTRY_END 296 297 STEP 11 CHECK_ANSWER 298 ENTRY_BEGIN 299 MATCH all ttl 300 REPLY QR RD RA DO NOERROR 301 SECTION QUESTION 302 ns.example.test. IN A 303 SECTION ANSWER 304 ns.example.test. 7200 IN A 1.2.3.4 305 ENTRY_END 306 307 ; query for glue from cache again 308 STEP 12 QUERY 309 ENTRY_BEGIN 310 REPLY RD DO 311 SECTION QUESTION 312 ns.example.test. IN A 313 ENTRY_END 314 315 STEP 13 CHECK_ANSWER 316 ENTRY_BEGIN 317 MATCH all ttl 318 REPLY QR RD RA DO NOERROR 319 SECTION QUESTION 320 ns.example.test. IN A 321 SECTION ANSWER 322 ns.example.test. 4 IN A 1.2.3.4 323 ENTRY_END 324 325 ; Move time to expire the delegation 326 STEP 20 TIME_PASSES ELAPSE 6 327 328 ; The upstream changes to delegate to another server. 329 STEP 30 QUERY 330 ENTRY_BEGIN 331 REPLY RD DO 332 SECTION QUESTION 333 www2.example.test. IN A 334 ENTRY_END 335 336 STEP 31 CHECK_ANSWER 337 ENTRY_BEGIN 338 MATCH all ttl 339 REPLY QR RD RA DO NOERROR 340 SECTION QUESTION 341 www2.example.test. IN A 342 SECTION ANSWER 343 www2.example.test. IN A 10.20.30.47 344 ENTRY_END 345 346 ; the new server, 1.2.3.7 is not responsive (SERVFAILs), it 347 ; should not have the old one 1.2.3.4 now. 348 STEP 40 QUERY 349 ENTRY_BEGIN 350 REPLY RD DO 351 SECTION QUESTION 352 www3.example.test. IN A 353 ENTRY_END 354 355 STEP 50 CHECK_ANSWER 356 ENTRY_BEGIN 357 MATCH all ttl 358 REPLY QR RD RA DO SERVFAIL 359 SECTION QUESTION 360 www3.example.test. IN A 361 SECTION ANSWER 362 ENTRY_END 363 364 365 SCENARIO_END 366