In this thesis, we discuss the setup of a public recursive resolver, one of the most important parts of a modern DNS system. We mainly focus on configuring and testing a recursive resolver that is safe to use for both its users and its operator. We first describe the broad scope of the DNS system, its components, the types of servers, records and protocols that make it up. We then looked at one implementation of a modern recursive resolver, the open source solution Unbound from NLNetLabs. We examined all configuration options and identified the key configuration parameters. We have also considered the deployment of some additional DNS infrastructure that complements and extends the functions of the recursive resolver in a meaningful way. We then tested the overall setup of the recursive resolver and identified some of its shortcomings. These were then corrected and further testing was performed to ensure that our recursive resolver deployment was working properly.
|