1 1.1 christos ; config options 2 1.1 christos server: 3 1.1 christos target-fetch-policy: "0 0 0 0 0" 4 1.1 christos qname-minimisation: no 5 1.1 christos minimal-responses: yes 6 1.1 christos log-servfail: yes 7 1.1 christos module-config: "dns64 respip iterator" 8 1.1 christos ; or 9 1.1 christos ; module-config: "respip dns64 iterator" 10 1.1 christos dns64-prefix: 64:ff9b::/96 11 1.1 christos ; possibly as well: 12 1.1 christos ; response-ip: 192.0.2.66/32 always_nxdomain 13 1.1 christos 14 1.1 christos rpz: 15 1.1 christos name: "rpz.example.com." 16 1.1 christos rpz-log: yes 17 1.1 christos rpz-log-name: "rpz.example.com" 18 1.1 christos zonefile: 19 1.1 christos TEMPFILE_NAME rpz.example.com 20 1.1 christos TEMPFILE_CONTENTS rpz.example.com 21 1.1 christos $ORIGIN example.com. 22 1.1 christos rpz 3600 IN SOA ns1.rpz.gotham.com. hostmaster.rpz.example.com. ( 23 1.1 christos 1379078166 28800 7200 604800 7200 ) 24 1.1 christos 3600 IN NS ns1.rpz.example.com. 25 1.1 christos 3600 IN NS ns2.rpz.example.com. 26 1.1 christos $ORIGIN rpz.example.com. 27 1.1 christos ; block 192.0.2.66/32 28 1.1 christos 32.66.2.0.192.rpz-ip IN CNAME . 29 1.1 christos TEMPFILE_END 30 1.1 christos 31 1.1 christos stub-zone: 32 1.1 christos name: "." 33 1.1 christos stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 34 1.1 christos CONFIG_END 35 1.1 christos 36 1.1 christos SCENARIO_BEGIN Test RPZ filtered query with DNS64 enabled. 37 1.1 christos 38 1.1 christos ; K.ROOT-SERVERS.NET. 39 1.1 christos RANGE_BEGIN 0 100 40 1.1 christos ADDRESS 193.0.14.129 41 1.1 christos ENTRY_BEGIN 42 1.1 christos MATCH opcode qtype qname 43 1.1 christos ADJUST copy_id 44 1.1 christos REPLY QR NOERROR 45 1.1 christos SECTION QUESTION 46 1.1 christos . IN NS 47 1.1 christos SECTION ANSWER 48 1.1 christos . IN NS K.ROOT-SERVERS.NET. 49 1.1 christos SECTION ADDITIONAL 50 1.1 christos K.ROOT-SERVERS.NET. IN A 193.0.14.129 51 1.1 christos ENTRY_END 52 1.1 christos 53 1.1 christos ENTRY_BEGIN 54 1.1 christos MATCH opcode subdomain 55 1.1 christos ADJUST copy_id copy_query 56 1.1 christos REPLY QR NOERROR 57 1.1 christos SECTION QUESTION 58 1.1 christos tld. IN NS 59 1.1 christos SECTION AUTHORITY 60 1.1 christos tld. IN NS ns.tld. 61 1.1 christos SECTION ADDITIONAL 62 1.1 christos ns.tld. IN A 1.2.3.5 63 1.1 christos ENTRY_END 64 1.1 christos RANGE_END 65 1.1 christos 66 1.1 christos ; ns.tld 67 1.1 christos RANGE_BEGIN 0 100 68 1.1 christos ADDRESS 1.2.3.5 69 1.1 christos ENTRY_BEGIN 70 1.1 christos MATCH opcode qtype qname 71 1.1 christos ADJUST copy_id 72 1.1 christos REPLY QR AA NOERROR 73 1.1 christos SECTION QUESTION 74 1.1 christos tld. IN NS 75 1.1 christos SECTION ANSWER 76 1.1 christos tld. IN NS ns.tld 77 1.1 christos SECTION ADDITIONAL 78 1.1 christos ns.tld. IN A 1.2.3.5 79 1.1 christos ENTRY_END 80 1.1 christos 81 1.1 christos ENTRY_BEGIN 82 1.1 christos MATCH opcode qtype qname 83 1.1 christos ADJUST copy_id 84 1.1 christos REPLY QR AA NOERROR 85 1.1 christos SECTION QUESTION 86 1.1 christos ns.tld. IN A 87 1.1 christos SECTION ANSWER 88 1.1 christos ns.tld. IN A 1.2.3.5 89 1.1 christos ENTRY_END 90 1.1 christos 91 1.1 christos ENTRY_BEGIN 92 1.1 christos MATCH opcode qtype qname 93 1.1 christos ADJUST copy_id 94 1.1 christos REPLY QR AA NOERROR 95 1.1 christos SECTION QUESTION 96 1.1 christos ns.tld. IN AAAA 97 1.1 christos SECTION AUTHORITY 98 1.1 christos tld. 3600 IN SOA ns.tld. host.tld. 20201 3600 1800 604800 3600 99 1.1 christos ENTRY_END 100 1.1 christos 101 1.1 christos ENTRY_BEGIN 102 1.1 christos MATCH opcode subdomain 103 1.1 christos ADJUST copy_id copy_query 104 1.1 christos REPLY QR NOERROR 105 1.1 christos SECTION QUESTION 106 1.1 christos example.tld. IN NS 107 1.1 christos SECTION AUTHORITY 108 1.1 christos example.tld. 5 IN NS ns.example.tld. 109 1.1 christos SECTION ADDITIONAL 110 1.1 christos ns.example.tld. 5 IN A 1.2.3.4 111 1.1 christos ENTRY_END 112 1.1 christos RANGE_END 113 1.1 christos 114 1.1 christos ; ns.example.tld. 115 1.1 christos RANGE_BEGIN 0 100 116 1.1 christos ADDRESS 1.2.3.4 117 1.1 christos ENTRY_BEGIN 118 1.1 christos MATCH opcode qtype qname 119 1.1 christos ADJUST copy_id 120 1.1 christos REPLY QR NOERROR 121 1.1 christos SECTION QUESTION 122 1.1 christos example.tld. IN NS 123 1.1 christos SECTION ANSWER 124 1.1 christos example.tld. 86400 IN NS ns.example.tld. 125 1.1 christos SECTION ADDITIONAL 126 1.1 christos ns.example.tld. 86400 IN A 1.2.3.4 127 1.1 christos ENTRY_END 128 1.1 christos 129 1.1 christos ENTRY_BEGIN 130 1.1 christos MATCH opcode qtype qname 131 1.1 christos ADJUST copy_id 132 1.1 christos REPLY QR AA NOERROR 133 1.1 christos SECTION QUESTION 134 1.1 christos ns.example.tld. IN A 135 1.1 christos SECTION ANSWER 136 1.1 christos ns.example.tld. IN A 1.2.3.4 137 1.1 christos ENTRY_END 138 1.1 christos 139 1.1 christos ENTRY_BEGIN 140 1.1 christos MATCH opcode qtype qname 141 1.1 christos ADJUST copy_id 142 1.1 christos REPLY QR AA NOERROR 143 1.1 christos SECTION QUESTION 144 1.1 christos ns.example.tld. IN AAAA 145 1.1 christos SECTION AUTHORITY 146 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 147 1.1 christos ENTRY_END 148 1.1 christos 149 1.1 christos ENTRY_BEGIN 150 1.1 christos MATCH opcode qtype qname 151 1.1 christos ADJUST copy_id 152 1.1 christos REPLY QR AA NOERROR 153 1.1 christos SECTION QUESTION 154 1.1 christos bad.example.tld. IN A 155 1.1 christos SECTION ANSWER 156 1.1 christos bad.example.tld. IN A 192.0.2.66 157 1.1 christos ENTRY_END 158 1.1 christos 159 1.1 christos ENTRY_BEGIN 160 1.1 christos MATCH opcode qtype qname 161 1.1 christos ADJUST copy_id 162 1.1 christos REPLY QR AA NOERROR 163 1.1 christos SECTION QUESTION 164 1.1 christos bad.example.tld. IN AAAA 165 1.1 christos SECTION AUTHORITY 166 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 167 1.1 christos ENTRY_END 168 1.1 christos 169 1.1 christos ENTRY_BEGIN 170 1.1 christos MATCH opcode qtype qname 171 1.1 christos ADJUST copy_id 172 1.1 christos REPLY QR AA NOERROR 173 1.1 christos SECTION QUESTION 174 1.1 christos synth.example.tld. IN A 175 1.1 christos SECTION ANSWER 176 1.1 christos synth.example.tld. IN A 203.0.113.5 177 1.1 christos ENTRY_END 178 1.1 christos 179 1.1 christos ENTRY_BEGIN 180 1.1 christos MATCH opcode qtype qname 181 1.1 christos ADJUST copy_id 182 1.1 christos REPLY QR AA NOERROR 183 1.1 christos SECTION QUESTION 184 1.1 christos synth.example.tld. IN AAAA 185 1.1 christos SECTION AUTHORITY 186 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 187 1.1 christos ENTRY_END 188 1.1 christos 189 1.1 christos ENTRY_BEGIN 190 1.1 christos MATCH opcode qtype qname 191 1.1 christos ADJUST copy_id 192 1.1 christos REPLY QR AA NOERROR 193 1.1 christos SECTION QUESTION 194 1.1 christos clean.example.tld. IN A 195 1.1 christos SECTION ANSWER 196 1.1 christos clean.example.tld. IN A 203.0.113.5 197 1.1 christos ENTRY_END 198 1.1 christos 199 1.1 christos ENTRY_BEGIN 200 1.1 christos MATCH opcode qtype qname 201 1.1 christos ADJUST copy_id 202 1.1 christos REPLY QR AA NOERROR 203 1.1 christos SECTION QUESTION 204 1.1 christos clean.example.tld. IN AAAA 205 1.1 christos SECTION AUTHORITY 206 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 207 1.1 christos ENTRY_END 208 1.1 christos RANGE_END 209 1.1 christos 210 1.1 christos STEP 1 QUERY 211 1.1 christos ENTRY_BEGIN 212 1.1 christos REPLY RD NOERROR 213 1.1 christos SECTION QUESTION 214 1.1 christos bad.example.tld. IN A 215 1.1 christos ENTRY_END 216 1.1 christos 217 1.1 christos ; RPZ works on A query 218 1.1 christos STEP 2 CHECK_ANSWER 219 1.1 christos ENTRY_BEGIN 220 1.1 christos MATCH all 221 1.1 christos REPLY QR RD RA NXDOMAIN 222 1.1 christos SECTION QUESTION 223 1.1 christos bad.example.tld. IN A 224 1.1 christos SECTION ANSWER 225 1.1 christos ENTRY_END 226 1.1 christos 227 1.1 christos STEP 10 QUERY 228 1.1 christos ENTRY_BEGIN 229 1.1 christos REPLY RD NOERROR 230 1.1 christos SECTION QUESTION 231 1.1 christos synth.example.tld. IN AAAA 232 1.1 christos ENTRY_END 233 1.1 christos 234 1.1 christos ; DNS64 synthesizes an unblocked address. 235 1.1 christos STEP 11 CHECK_ANSWER 236 1.1 christos ENTRY_BEGIN 237 1.1 christos MATCH all 238 1.1 christos REPLY QR RD RA NOERROR 239 1.1 christos SECTION QUESTION 240 1.1 christos synth.example.tld. IN AAAA 241 1.1 christos SECTION ANSWER 242 1.1 christos synth.example.tld. 3600 IN AAAA 64:ff9b::cb00:7105 243 1.1 christos ENTRY_END 244 1.1 christos 245 1.1 christos STEP 20 QUERY 246 1.1 christos ENTRY_BEGIN 247 1.1 christos REPLY RD NOERROR 248 1.1 christos SECTION QUESTION 249 1.1 christos bad.example.tld. IN AAAA 250 1.1 christos ENTRY_END 251 1.1 christos 252 1.1 christos ; synthesized AAAA for A that is blocked by RPZ. 253 1.1 christos STEP 21 CHECK_ANSWER 254 1.1 christos ;ENTRY_BEGIN 255 1.1 christos ;MATCH all 256 1.1 christos ;REPLY QR RD RA NXDOMAIN 257 1.1 christos ;SECTION QUESTION 258 1.1 christos ;bad.example.tld. IN AAAA 259 1.1 christos ;SECTION ANSWER 260 1.1 christos ;ENTRY_END 261 1.1 christos ENTRY_BEGIN 262 1.1 christos MATCH all 263 1.1 christos REPLY QR RD RA NOERROR 264 1.1 christos SECTION QUESTION 265 1.1 christos bad.example.tld. IN AAAA 266 1.1 christos SECTION AUTHORITY 267 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 268 1.1 christos ENTRY_END 269 1.1 christos 270 1.1 christos STEP 30 QUERY 271 1.1 christos ENTRY_BEGIN 272 1.1 christos REPLY RD NOERROR 273 1.1 christos SECTION QUESTION 274 1.1 christos bad.example.tld. IN AAAA 275 1.1 christos ENTRY_END 276 1.1 christos 277 1.1 christos ; same from cache. 278 1.1 christos STEP 31 CHECK_ANSWER 279 1.1 christos ENTRY_BEGIN 280 1.1 christos MATCH all 281 1.1 christos REPLY QR RD RA NOERROR 282 1.1 christos SECTION QUESTION 283 1.1 christos bad.example.tld. IN AAAA 284 1.1 christos SECTION AUTHORITY 285 1.1 christos example.tld. 3600 IN SOA ns.example.tld. host.example.tld. 20301 3600 1800 604800 3600 286 1.1 christos ENTRY_END 287 1.1 christos 288 1.1 christos SCENARIO_END 289