On most Linux systems, DNS is implemented with the Berkeley Internet Name Domain (BIND) software. Two versions of BIND are currently in widespread use:
• BIND 8 has been around for years, and is found in many releases of Linux.
• BIND 9 is the most recent version of BIND, and is found on some new Linux distributions, such as Red Hat 7.2. This chapter focuses on BIND 9.
Note If you are running BIND 8, the information covered here is still applicable because BIND 8 and BIND 9 are very similar. Any differences are noted in the text.
BIND DNS is a client/server system. The client is called the resolver, and it forms the queries and sends them to the name server. Every computer on your network runs a resolver. Many systems only run a resolver.
Traditionally, the BIND resolver is not implemented as a distinct process. It is a library of software routines, called the resolver code, which is linked into any program that requires name service. Most Linux systems use the traditional resolver implementation, which is called a stub resolver. Because it is the most widely used, the stub resolver gets most of the coverage in this chapter. However, BIND 9 also offers the Lightweight Resolver library and the Lightweight Resolver daemon (lwresd) as an alternative to the traditional resolver. Systems running BIND 9 do not have to use lwresd, and Red Hat 7.2 does not use it. However, we do cover lwresd later in the chapter so that you know when and how it is used.
The server side of BIND answers the queries that come from the resolver. The name server daemon is a distinct process called named. The configuration of named is much more complex than the configuration of the resolver, but there is no need to run named on every computer. (See "The named Configuration File" section later in this chapter for more on named and the named.conf file.)
Because all of the computers on your network—whether they are clients or servers—run the resolver, begin your DNS configuration by configuring the resolver.
Was this article helpful?