1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 minimal-responses: no 5 6stub-zone: 7 name: "." 8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 9forward-zone: 10 name: "." 11 forward-addr: 10.0.0.1 12stub-zone: 13 name: "sub.example.com" 14 stub-addr: 10.0.0.2 15CONFIG_END 16 17SCENARIO_BEGIN Test iterative resolve with a stub under a forward root zone 18 19; K.ROOT-SERVERS.NET. 20RANGE_BEGIN 0 100 21 ADDRESS 193.0.14.129 22 23; No answers from the actual root, blocked. 24 25RANGE_END 26 27; a.gtld-servers.net. 28RANGE_BEGIN 0 100 29 ADDRESS 192.5.6.30 30ENTRY_BEGIN 31MATCH opcode qtype qname 32ADJUST copy_id 33REPLY QR NOERROR 34SECTION QUESTION 35com. IN NS 36SECTION ANSWER 37com. IN NS a.gtld-servers.net. 38SECTION ADDITIONAL 39a.gtld-servers.net. IN A 192.5.6.30 40ENTRY_END 41 42ENTRY_BEGIN 43MATCH opcode qtype qname 44ADJUST copy_id 45REPLY QR NOERROR 46SECTION QUESTION 47www.example.com. IN A 48SECTION AUTHORITY 49example.com. IN NS ns.example.com. 50SECTION ADDITIONAL 51ns.example.com. IN A 1.2.3.4 52ENTRY_END 53RANGE_END 54 55; ns.example.com. 56RANGE_BEGIN 0 100 57 ADDRESS 1.2.3.4 58ENTRY_BEGIN 59MATCH opcode qtype qname 60ADJUST copy_id 61REPLY QR NOERROR 62SECTION QUESTION 63example.com. IN NS 64SECTION ANSWER 65example.com. IN NS ns.example.com. 66SECTION ADDITIONAL 67ns.example.com. IN A 1.2.3.4 68ENTRY_END 69 70ENTRY_BEGIN 71MATCH opcode qtype qname 72ADJUST copy_id 73REPLY QR NOERROR 74SECTION QUESTION 75www.example.com. IN A 76SECTION ANSWER 77www.example.com. IN A 10.20.30.40 78SECTION AUTHORITY 79example.com. IN NS ns.example.com. 80SECTION ADDITIONAL 81ns.example.com. IN A 1.2.3.4 82ENTRY_END 83RANGE_END 84 85; forwarder for example.com. 86RANGE_BEGIN 0 100 87 ADDRESS 10.0.0.1 88ENTRY_BEGIN 89MATCH opcode qtype qname 90ADJUST copy_id 91REPLY QR NOERROR 92SECTION QUESTION 93example.com. IN NS 94SECTION ANSWER 95example.com. IN NS ns.example.com. 96SECTION ADDITIONAL 97ns.example.com. IN A 1.2.3.4 98ENTRY_END 99 100ENTRY_BEGIN 101MATCH opcode qtype qname 102ADJUST copy_id 103REPLY QR NOERROR 104SECTION QUESTION 105www.example.com. IN A 106SECTION ANSWER 107www.example.com. IN A 10.0.0.4 108SECTION AUTHORITY 109example.com. IN NS ns.example.com. 110SECTION ADDITIONAL 111ns.example.com. IN A 1.2.3.4 112ENTRY_END 113 114; fail all other queries 115ENTRY_BEGIN 116MATCH opcode 117ADJUST copy_id copy_query 118REPLY QR SERVFAIL 119SECTION QUESTION 120example.com. IN A 121ENTRY_END 122RANGE_END 123 124; stub for sub.example.com. 125RANGE_BEGIN 0 100 126 ADDRESS 10.0.0.2 127ENTRY_BEGIN 128MATCH opcode qtype qname 129ADJUST copy_id 130REPLY QR NOERROR 131SECTION QUESTION 132sub.example.com. IN NS 133SECTION ANSWER 134sub.example.com. IN NS ns.sub.example.com. 135SECTION ADDITIONAL 136ns.sub.example.com. IN A 1.2.3.44 137ENTRY_END 138 139ENTRY_BEGIN 140MATCH opcode qtype qname 141ADJUST copy_id 142REPLY QR NOERROR 143SECTION QUESTION 144www.sub.example.com. IN A 145SECTION ANSWER 146www.sub.example.com. IN A 10.0.0.5 147SECTION AUTHORITY 148sub.example.com. IN NS ns.sub.example.com. 149SECTION ADDITIONAL 150ns.sub.example.com. IN A 1.2.3.44 151ENTRY_END 152RANGE_END 153 154; try to resolve from stub zone 155STEP 20 QUERY 156ENTRY_BEGIN 157REPLY RD 158SECTION QUESTION 159www.sub.example.com. IN A 160ENTRY_END 161 162STEP 30 CHECK_ANSWER 163ENTRY_BEGIN 164MATCH all 165REPLY QR RD RA NOERROR 166SECTION QUESTION 167www.sub.example.com. IN A 168SECTION ANSWER 169www.sub.example.com. IN A 10.0.0.5 170SECTION AUTHORITY 171sub.example.com. IN NS ns.sub.example.com. 172SECTION ADDITIONAL 173ns.sub.example.com. IN A 1.2.3.44 174ENTRY_END 175 176SCENARIO_END 177