1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 qname-minimisation: "no" 5 6 auth-zone: 7 name: "example.com." 8 ## zonefile (or none). 9 ## zonefile: "example.com.zone" 10 ## master by IP address or hostname 11 ## can list multiple masters, each on one line. 12 ## master: 13 master: ns.example.net. 14 #master: 1.2.3.44 15 ## url for http fetch 16 ## url: 17 ## queries from downstream clients get authoritative answers. 18 ## for-downstream: yes 19 for-downstream: yes 20 ## queries are used to fetch authoritative answers from this zone, 21 ## instead of unbound itself sending queries there. 22 ## for-upstream: yes 23 for-upstream: yes 24 ## on failures with for-upstream, fallback to sending queries to 25 ## the authority servers 26 ## fallback-enabled: no 27 28 ## this line generates zonefile: \n"/tmp/xxx.example.com"\n 29 zonefile: 30 TEMPFILE_NAME example.com 31 ## this is the inline file /tmp/xxx.example.com 32 ## the tempfiles are deleted when the testrun is over. 33 TEMPFILE_CONTENTS example.com 34 TEMPFILE_END 35 36 stub-zone: 37 name: "." 38 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 39 CONFIG_END 40 41 SCENARIO_BEGIN Test authority zone that needs host name lookup 42 43 ; K.ROOT-SERVERS.NET. 44 RANGE_BEGIN 0 100 45 ADDRESS 193.0.14.129 46 ENTRY_BEGIN 47 MATCH opcode qtype qname 48 ADJUST copy_id 49 REPLY QR NOERROR 50 SECTION QUESTION 51 . IN NS 52 SECTION ANSWER 53 . IN NS K.ROOT-SERVERS.NET. 54 SECTION ADDITIONAL 55 K.ROOT-SERVERS.NET. IN A 193.0.14.129 56 ENTRY_END 57 58 ENTRY_BEGIN 59 MATCH opcode subdomain 60 ADJUST copy_id copy_query 61 REPLY QR NOERROR 62 SECTION QUESTION 63 com. IN NS 64 SECTION AUTHORITY 65 com. IN NS a.gtld-servers.net. 66 SECTION ADDITIONAL 67 a.gtld-servers.net. IN A 192.5.6.30 68 ENTRY_END 69 70 ENTRY_BEGIN 71 MATCH opcode qtype qname 72 ADJUST copy_id 73 REPLY QR AA NOERROR 74 SECTION QUESTION 75 ns.example.net. IN A 76 SECTION ANSWER 77 ns.example.net. IN A 1.2.3.44 78 ENTRY_END 79 80 ENTRY_BEGIN 81 MATCH opcode qtype qname 82 ADJUST copy_id 83 REPLY QR AA NOERROR 84 SECTION QUESTION 85 ns.example.net. IN AAAA 86 SECTION ANSWER 87 SECTION AUTHORITY 88 net. IN SOA ns.example.com. root.example.com. 4 14400 3600 604800 3600 89 ENTRY_END 90 RANGE_END 91 92 ; a.gtld-servers.net. 93 RANGE_BEGIN 0 100 94 ADDRESS 192.5.6.30 95 ENTRY_BEGIN 96 MATCH opcode qtype qname 97 ADJUST copy_id 98 REPLY QR NOERROR 99 SECTION QUESTION 100 com. IN NS 101 SECTION ANSWER 102 com. IN NS a.gtld-servers.net. 103 SECTION ADDITIONAL 104 a.gtld-servers.net. IN A 192.5.6.30 105 ENTRY_END 106 107 ENTRY_BEGIN 108 MATCH opcode subdomain 109 ADJUST copy_id copy_query 110 REPLY QR NOERROR 111 SECTION QUESTION 112 example.com. IN NS 113 SECTION AUTHORITY 114 example.com. IN NS ns.example.com. 115 SECTION ADDITIONAL 116 ns.example.com. IN A 1.2.3.44 117 ENTRY_END 118 RANGE_END 119 120 ; ns.example.com. 121 RANGE_BEGIN 0 100 122 ADDRESS 1.2.3.44 123 ENTRY_BEGIN 124 MATCH opcode qtype qname 125 ADJUST copy_id 126 REPLY QR NOERROR 127 SECTION QUESTION 128 example.com. IN NS 129 SECTION ANSWER 130 example.com. IN NS ns.example.com. 131 SECTION ADDITIONAL 132 ns.example.com. IN A 1.2.3.44 133 ENTRY_END 134 135 ENTRY_BEGIN 136 MATCH opcode qtype qname 137 ADJUST copy_id 138 REPLY QR NOERROR 139 SECTION QUESTION 140 ns.example.com. IN A 141 SECTION ANSWER 142 ns.example.com. IN A 1.2.3.44 143 SECTION AUTHORITY 144 example.com. IN NS ns.example.com. 145 ENTRY_END 146 147 ENTRY_BEGIN 148 MATCH opcode qtype qname 149 ADJUST copy_id 150 REPLY QR NOERROR 151 SECTION QUESTION 152 ns.example.com. IN AAAA 153 SECTION AUTHORITY 154 example.com. IN NS ns.example.com. 155 SECTION ADDITIONAL 156 www.example.com. IN A 1.2.3.44 157 ENTRY_END 158 159 ENTRY_BEGIN 160 MATCH opcode qtype qname 161 ADJUST copy_id 162 REPLY QR NOERROR 163 SECTION QUESTION 164 example.com. IN NS 165 SECTION ANSWER 166 example.com. IN NS ns.example.com. 167 ENTRY_END 168 169 ENTRY_BEGIN 170 MATCH opcode qtype qname 171 ADJUST copy_id 172 REPLY QR NOERROR 173 SECTION QUESTION 174 www.example.com. IN A 175 SECTION ANSWER 176 www.example.com. IN A 10.20.30.40 177 ENTRY_END 178 179 ENTRY_BEGIN 180 MATCH opcode qtype qname 181 ADJUST copy_id 182 REPLY QR NOERROR 183 SECTION QUESTION 184 example.com. IN SOA 185 SECTION ANSWER 186 ; serial, refresh, retry, expire, minimum 187 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 188 ENTRY_END 189 190 ENTRY_BEGIN 191 MATCH opcode qtype qname 192 ADJUST copy_id 193 REPLY QR AA NOERROR 194 SECTION QUESTION 195 example.com. IN AXFR 196 SECTION ANSWER 197 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 198 example.com. IN NS ns.example.com. 199 www.example.com. IN A 1.2.3.4 200 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 201 ENTRY_END 202 RANGE_END 203 204 STEP 1 QUERY 205 ENTRY_BEGIN 206 REPLY RD 207 SECTION QUESTION 208 www.example.com. IN A 209 ENTRY_END 210 211 ; recursion happens here. 212 STEP 20 CHECK_ANSWER 213 ENTRY_BEGIN 214 MATCH all 215 REPLY QR AA RD RA SERVFAIL 216 SECTION QUESTION 217 www.example.com. IN A 218 SECTION ANSWER 219 ENTRY_END 220 221 STEP 30 TIME_PASSES ELAPSE 10 222 STEP 40 TRAFFIC 223 224 STEP 50 QUERY 225 ENTRY_BEGIN 226 REPLY RD 227 SECTION QUESTION 228 www.example.com. IN A 229 ENTRY_END 230 231 ; recursion happens here. 232 STEP 60 CHECK_ANSWER 233 ENTRY_BEGIN 234 MATCH all 235 REPLY QR AA RD RA NOERROR 236 SECTION QUESTION 237 www.example.com. IN A 238 SECTION ANSWER 239 www.example.com. IN A 1.2.3.4 240 ENTRY_END 241 242 ; the zonefile was updated with new contents 243 STEP 70 CHECK_TEMPFILE example.com 244 FILE_BEGIN 245 example.com. 3600 IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 246 example.com. 3600 IN NS ns.example.com. 247 www.example.com. 3600 IN A 1.2.3.4 248 FILE_END 249 250 SCENARIO_END 251