]>
Commit | Line | Data |
---|---|---|
89c4ed63 A |
1 | ; config options |
2 | server: | |
3 | target-fetch-policy: "0 0 0 0 0" | |
4 | log-time-ascii: yes | |
5 | stub-zone: | |
6 | name: "." | |
7 | stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. | |
8 | ; initial content (say from dig example.com DNSKEY > example.com.key) | |
9 | AUTOTRUST_FILE example.com | |
10 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} | |
11 | example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
12 | AUTOTRUST_END | |
13 | CONFIG_END | |
14 | ||
15 | SCENARIO_BEGIN Test autotrust with using a valid key for validation | |
16 | ||
17 | ; K-ROOT | |
18 | RANGE_BEGIN 0 100 | |
19 | ADDRESS 193.0.14.129 | |
20 | ENTRY_BEGIN | |
21 | MATCH opcode qname qtype | |
22 | ADJUST copy_id copy_query | |
23 | REPLY QR AA | |
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 subdomain | |
34 | ADJUST copy_id copy_query | |
35 | REPLY QR | |
36 | SECTION QUESTION | |
37 | com. IN NS | |
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 | RANGE_END | |
44 | ||
45 | ; a.gtld-servers.net. | |
46 | RANGE_BEGIN 0 100 | |
47 | ADDRESS 192.5.6.30 | |
48 | ENTRY_BEGIN | |
49 | MATCH opcode subdomain | |
50 | ADJUST copy_id copy_query | |
51 | REPLY QR | |
52 | SECTION QUESTION | |
53 | example.com. IN NS | |
54 | SECTION AUTHORITY | |
55 | example.com. IN NS ns.example.com. | |
56 | SECTION ADDITIONAL | |
57 | ns.example.com. IN A 1.2.3.4 | |
58 | ENTRY_END | |
59 | RANGE_END | |
60 | ||
61 | ; ns.example.com. KSK 55582 | |
62 | RANGE_BEGIN 0 10 | |
63 | ADDRESS 1.2.3.4 | |
64 | ENTRY_BEGIN | |
65 | MATCH opcode qname qtype | |
66 | ADJUST copy_id | |
67 | REPLY QR AA | |
68 | SECTION QUESTION | |
69 | www.example.com. IN A | |
70 | SECTION ANSWER | |
71 | www.example.com. 3600 IN A 10.20.30.40 | |
72 | www.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. pYGxVLsWUvOp1wSf0iwPap+JnECfC5GAm1lRqy3YEqecNGld7U7x/5Imo3CerbdZrVptUQs2oH0lcjwYJXMnsw== ;{id = 30899} | |
73 | SECTION AUTHORITY | |
74 | example.com. 3600 IN NS ns.example.com. | |
75 | example.com. 3600 IN RRSIG NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899} | |
76 | SECTION ADDITIONAL | |
77 | ns.example.com. 3600 IN A 1.2.3.4 | |
78 | ns.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899} | |
79 | ENTRY_END | |
80 | ||
81 | ENTRY_BEGIN | |
82 | MATCH opcode qname qtype | |
83 | ADJUST copy_id | |
84 | REPLY QR AA | |
85 | SECTION QUESTION | |
86 | example.com. IN DNSKEY | |
87 | SECTION ANSWER | |
88 | ; KSK 1 | |
89 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} | |
90 | ; ZSK 1 | |
91 | example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
92 | ; signatures | |
93 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20090924111500 20090821111500 30899 example.com. b/HK231jIQLX8IhlZfup3r0yhpXaasbPE6LzxoEVVvWaTZWcLmeV8jDIcn0qO7Yvs7bIJN20lwVAV0GcHH3hWQ== ;{id = 30899} | |
94 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20090924111500 20090821111500 55582 example.com. PCHme1QLoULxqjhg5tMlpR0qJlBfstEUVq18TtNoKQe9le1YhJ9caheXcTWoK+boLhXxg9u6Yyvq8FboQh0OjA== ;{id = 55582} | |
95 | ENTRY_END | |
96 | RANGE_END | |
97 | ||
98 | ; ns.example.com. KSK 55582 and 60946 | |
99 | RANGE_BEGIN 11 30 | |
100 | ADDRESS 1.2.3.4 | |
101 | ENTRY_BEGIN | |
102 | MATCH opcode qname qtype | |
103 | ADJUST copy_id | |
104 | REPLY QR AA | |
105 | SECTION QUESTION | |
106 | example.com. IN DNSKEY | |
107 | SECTION ANSWER | |
108 | ; KSK 1 | |
109 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} | |
110 | ; KSK 2 | |
111 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} | |
112 | ; ZSK 1 | |
113 | example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
114 | ; signatures | |
115 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 30899 example.com. rkaCUpTFPWVu4Om5oMTR+39Mct6ZMs56xrE0rbxMMOokfvIQheIxsAEc5BFJeA/2y5WTewl6diCD6yQXCybrDg== ;{id = 30899} | |
116 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 55582 example.com. CoMon+lWPAsUvgfpCTDPx8Zn8dQpky3lu2O6T+oJ2Mat9a/u1YwGhSQHGPn7ZNG/4vKM97tx84sSlUGz3geD1w== ;{id = 55582} | |
117 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 60946 example.com. o+Cbs7DcYPYlSLd4hi3vkSVQpXGnKgKSi9MpHGfu1Uahv5190U2DUOxP1du/HOYbf+IHYL8zLbMZjVEG5wgnTg== ;{id = 60946} | |
118 | ENTRY_END | |
119 | RANGE_END | |
120 | ||
121 | ; probe failures | |
122 | RANGE_BEGIN 31 40 | |
123 | ADDRESS 1.2.3.4 | |
124 | ENTRY_BEGIN | |
125 | MATCH opcode qname qtype | |
126 | ADJUST copy_id | |
127 | REPLY QR AA SERVFAIL | |
128 | SECTION QUESTION | |
129 | example.com. IN DNSKEY | |
130 | ENTRY_END | |
131 | ||
132 | ENTRY_BEGIN | |
133 | MATCH opcode qname qtype | |
134 | ADJUST copy_id | |
135 | REPLY QR AA SERVFAIL | |
136 | SECTION QUESTION | |
137 | ns.example.com. IN AAAA | |
138 | ENTRY_END | |
139 | RANGE_END | |
140 | ||
141 | ; ns.example.com. KSK 55582 and 60946 (signatures updated) | |
142 | RANGE_BEGIN 41 50 | |
143 | ADDRESS 1.2.3.4 | |
144 | ENTRY_BEGIN | |
145 | MATCH opcode qname qtype | |
146 | ADJUST copy_id | |
147 | REPLY QR AA | |
148 | SECTION QUESTION | |
149 | ns.example.com. IN A | |
150 | SECTION ANSWER | |
151 | ns.example.com. 3600 IN A 1.2.3.4 | |
152 | ns.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899} | |
153 | SECTION AUTHORITY | |
154 | example.com. 3600 IN NS ns.example.com. | |
155 | example.com. 3600 IN RRSIG NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899} | |
156 | SECTION ADDITIONAL | |
157 | ENTRY_END | |
158 | ||
159 | ENTRY_BEGIN | |
160 | MATCH opcode qname qtype | |
161 | ADJUST copy_id | |
162 | REPLY QR AA | |
163 | SECTION QUESTION | |
164 | ns.example.com. IN AAAA | |
165 | SECTION ANSWER | |
166 | SECTION AUTHORITY | |
167 | example.com. 3600 IN NS ns.example.com. | |
168 | example.com. 3600 IN RRSIG NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899} | |
169 | SECTION ADDITIONAL | |
170 | ns.example.com. 3600 IN A 1.2.3.4 | |
171 | ns.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899} | |
172 | ENTRY_END | |
173 | ||
174 | ENTRY_BEGIN | |
175 | MATCH opcode qname qtype | |
176 | ADJUST copy_id | |
177 | REPLY QR AA | |
178 | SECTION QUESTION | |
179 | example.com. IN DNSKEY | |
180 | SECTION ANSWER | |
181 | ; KSK 1 | |
182 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} | |
183 | ; KSK 2 | |
184 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} | |
185 | ; ZSK 1 | |
186 | example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
187 | ; signatures | |
188 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091124111500 20091018111500 30899 example.com. rkaCUpTFPWVu4Om5oMTR+39Mct6ZMs56xrE0rbxMMOokfvIQheIxsAEc5BFJeA/2y5WTewl6diCD6yQXCybrDg== ;{id = 30899} | |
189 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091124111500 20091018111500 55582 example.com. v/HJbdpeVMpbhwYXrT1EDGpAFMvEgdKQII1cAbP6o8KHYNKDh8TIJ25/pXe3daEXfej6/Z5kpqJ79okPKUoi1Q== ;{id = 55582} | |
190 | example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091124111500 20091018111500 60946 example.com. HgXol1hdvbomOM1CFRW8qsHd3D0qOnN72EeMHTcpxIBBiuNLKZn4n1M14Voxj3vo0eAMNuG/y7EjQkxKvSsaDA== ;{id = 60946} | |
191 | ENTRY_END | |
192 | ||
193 | ENTRY_BEGIN | |
194 | MATCH opcode qname qtype | |
195 | ADJUST copy_id | |
196 | REPLY QR AA | |
197 | SECTION QUESTION | |
198 | www.example.com. IN A | |
199 | SECTION ANSWER | |
200 | www.example.com. 3600 IN A 10.20.30.40 | |
201 | www.example.com. 3600 IN RRSIG A 5 3 3600 20091124111500 20091018111500 60946 example.com. pI3iwElQXjhje3SnAfwAG/VwdRskQcLdiApbKdUbR7MIsDUpqVjxIUtSIRu/aXNt8EVA8SwZQXNmTYA2SrrBhA== ;{id = 60946} | |
202 | ENTRY_END | |
203 | ||
204 | RANGE_END | |
205 | ||
206 | ; set date/time to Aug 24 07:46:40 (2009). | |
207 | STEP 5 TIME_PASSES ELAPSE 1251100000 | |
208 | STEP 6 TRAFFIC ; the initial probe | |
209 | STEP 7 ASSIGN t0 = ${time} | |
210 | STEP 8 ASSIGN probe0 = ${range 4800 ${timeout} 5400} | |
211 | ||
212 | ; the auto probing should have been done now. | |
213 | STEP 10 CHECK_AUTOTRUST example.com | |
214 | FILE_BEGIN | |
215 | ; autotrust trust anchor file | |
216 | ;;id: example.com. 1 | |
217 | ;;last_queried: ${$t0} ;;${ctime $t0} | |
218 | ;;last_success: ${$t0} ;;${ctime $t0} | |
219 | ;;next_probe_time: ${$t0 + $probe0} ;;${ctime $t0 + $probe0} | |
220 | ;;query_failed: 0 | |
221 | ;;query_interval: 5400 | |
222 | ;;retry_time: 3600 | |
223 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} | |
224 | FILE_END | |
225 | ||
226 | ; key prepublished. First poll. 30 days later | |
227 | STEP 11 TIME_PASSES EVAL ${30*24*3600} | |
228 | STEP 12 TRAFFIC | |
229 | STEP 13 ASSIGN t1 = ${time} | |
230 | STEP 14 ASSIGN probe1 = ${range 4800 ${timeout} 5400} | |
231 | STEP 15 CHECK_AUTOTRUST example.com | |
232 | FILE_BEGIN | |
233 | ; autotrust trust anchor file | |
234 | ;;id: example.com. 1 | |
235 | ;;last_queried: ${$t1} ;;${ctime $t1} | |
236 | ;;last_success: ${$t1} ;;${ctime $t1} | |
237 | ;;next_probe_time: ${$t1 + $probe1} ;;${ctime $t1 + $probe1} | |
238 | ;;query_failed: 0 | |
239 | ;;query_interval: 5400 | |
240 | ;;retry_time: 3600 | |
241 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=1 ;;lastchange=${$t1} ;;${ctime $t1} | |
242 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} | |
243 | FILE_END | |
244 | ||
245 | ; Second poll. 10 days later | |
246 | STEP 21 TIME_PASSES EVAL ${10*24*3600} | |
247 | STEP 22 TRAFFIC | |
248 | STEP 23 ASSIGN t2 = ${time} | |
249 | STEP 24 ASSIGN probe2 = ${range 4800 ${timeout} 5400} | |
250 | STEP 25 CHECK_AUTOTRUST example.com | |
251 | FILE_BEGIN | |
252 | ; autotrust trust anchor file | |
253 | ;;id: example.com. 1 | |
254 | ;;last_queried: ${$t2} ;;${ctime $t2} | |
255 | ;;last_success: ${$t2} ;;${ctime $t2} | |
256 | ;;next_probe_time: ${$t2 + $probe2} ;;${ctime $t2 + $probe2} | |
257 | ;;query_failed: 0 | |
258 | ;;query_interval: 5400 | |
259 | ;;retry_time: 3600 | |
260 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=2 ;;lastchange=${$t1} ;;${ctime $t1} | |
261 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} | |
262 | FILE_END | |
263 | ||
264 | ; put this almost one hour before expiration so that the next query arrives | |
265 | ; before the next poll timer. | |
266 | ; Make this probe fail to keep DNSKEY out of the cache | |
267 | ; Third poll. 10 days later | |
268 | STEP 31 TIME_PASSES EVAL ${ ${20*24*3600} - 3000 } | |
269 | STEP 32 TRAFFIC | |
270 | STEP 33 ASSIGN t3 = ${time} | |
271 | STEP 34 ASSIGN probe3 = ${range 3200 ${timeout} 3600} | |
272 | STEP 35 CHECK_AUTOTRUST example.com | |
273 | FILE_BEGIN | |
274 | ; autotrust trust anchor file | |
275 | ;;id: example.com. 1 | |
276 | ;;last_queried: ${$t2} ;;${ctime $t2} | |
277 | ;;last_success: ${$t2} ;;${ctime $t2} | |
278 | ;;next_probe_time: ${$t2 + $probe2} ;;${ctime $t2 + $probe2} | |
279 | ;;query_failed: 0 | |
280 | ;;query_interval: 5400 | |
281 | ;;retry_time: 3600 | |
282 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=2 ;;lastchange=${$t1} ;;${ctime $t1} | |
283 | example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} | |
284 | FILE_END | |
285 | ||
286 | ; 3010 seconds later, hold down has lapsed. | |
287 | ; but the probe timer does not expire yet! | |
288 | ; key 60946 becomes valid. Use it. | |
289 | ; check this with a data query. | |
290 | STEP 41 TIME_PASSES EVAL ${3010} | |
291 | STEP 42 QUERY | |
292 | ENTRY_BEGIN | |
293 | REPLY RD DO | |
294 | SECTION QUESTION | |
295 | www.example.com. IN A | |
296 | ENTRY_END | |
297 | ||
298 | ; Note the data is signed with the newly valid KSK to make sure it can be used. | |
299 | STEP 43 CHECK_ANSWER | |
300 | ENTRY_BEGIN | |
301 | MATCH all | |
302 | REPLY QR RD RA AD DO NOERROR | |
303 | SECTION QUESTION | |
304 | www.example.com. IN A | |
305 | SECTION ANSWER | |
306 | www.example.com. 3600 IN A 10.20.30.40 | |
307 | www.example.com. 3600 IN RRSIG A 5 3 3600 20091124111500 20091018111500 60946 example.com. pI3iwElQXjhje3SnAfwAG/VwdRskQcLdiApbKdUbR7MIsDUpqVjxIUtSIRu/aXNt8EVA8SwZQXNmTYA2SrrBhA== ;{id = 60946} | |
308 | ENTRY_END | |
309 | ||
310 | SCENARIO_END |