In this course, you will learn about the operation and implementation of a recursive DNS server.
RECURSIVE DNS
Recursive DNS is responsible for name resolution, always starting with recursive queries to the root servers. To improve efficiency and reduce DNS traffic on the Internet and increase performance in end-user applications, it performs DNS caching, storing DNS query results for a period of time determined in the configuration (lifetime determined by the authoritative domain of the queried domain).
Which DNS will we use?
BIND (Berkeley Internet Name Domain or, as previously called, Berkeley Internet Name Daemon) is the most widely used DNS protocol server on the Internet, especially in Unix-like systems, where it can be considered a de facto standard.
One of the reasons for having a local recursive DNS server is to guarantee service availability. With a local DNS server, you get up to 15% better performance in name resolution response time. Not to mention that you don't suffer from the instabilities that public DNS servers usually experience. However, if you only have one server on your network, you cannot ensure that it is always available. Therefore, always have two or more servers on your network.
In this course, we will learn how to create DNS servers using BIND, with redundancy in case one of them stops working.
############################################
Important Note: This course was recorded in 2021. The core content remains valid and essential for understanding DNS servers. However, some information, especially related to Linux versions and their distributions, may be outdated due to updates and new versions released since then. We recommend that you check the latest documentation for your Linux distribution to ensure you are using the most current commands and practices.