One of the absolute cornerstones of the functionality of the global Internet is the Domain Name Service, or DNS for short. Far and away the most common implementation of DNS service is the BIND (Berkeley Internet Name Daemon) package. This book details how the Internet's DNS service functions and how to configure and run both the BIND name server and its associated resolver client. This new third edition covers the most recent major release of BIND, that is, version 8.
DNS and BIND starts with with some very preliminary background information on roughly what makes up the Internet, how DNS came to be and how fits in to this overall structure. Then we move on to understanding how the DNS protocol actually works in practice, and how each component fits in so that the whole system works as it is supposed to. In my opinion, this section has been greatly improved since the first edition. I believe that the authors give a much better picture of how things work.
Next, the reader is told how to obtain the current release of the BIND source code, and then how to compile and install this package. Naturally, this is followed by detailed information on how to configure both DNS servers and clients to function properly. The authors do a fine job of explaining how one would accomplish this, and to provide hints on how to overcome most of the problems that system administrators are likely to encounter during this process.
The following couple of chapters cover more advanced topics that every domain administrator should know, like how to delegate subdomains, security features, BIND logging, and some general advice on how to deal with a rapidly growing domain. As in the rest of the book, the advanced features of BIND 8 are pointed out, but there are always examples of how to perform the same tasks with BIND 4.9, which most of the current vendor shipped versions of named are based on, or even BIND 4.8.
Finally, the book concludes with several chapters on using nslookup, reading BIND's debugging output, programming with the BIND libraries, and an excellent chapter on general troubleshooting tips. It's very difficult to provide a truly useful troubleshooting guide, but over the history of the book, Albitz and Liu have managed to continually improve this section which genuinely covers most of the DNS problems that can occur. Further, the methodology they present in troubleshooting will help lead to an efficient solution to DNS problems.
The first and second editions of DNS and BIND were very good books. The third edition is even better. Not only should every person responsible for maintaining DNS services read this book, whether their service is based on BIND or not, but I recommend they upgrade to the third edition and reread it as a refresher. The fact that BIND 8 is radically different than previous versions, that it provides many useful new features and security enhancements, and that there is a distinct shortage of good information available on how it works would be enough of a reason to buy this book even if it weren't well written. The fact is that this book explains its topic very well, and would make a good model for people writing similar books to follow.
The third edition of DNS and BIND covers the same material as the second and first editions, but adds coverage of the radically different BIND 8 configurations and features, as well as updates some of its explanations on other topics. This book should be read carefully by everyone involved in maintaining DNS services. Folks who have read earlier editions probably want to update their copies, and they would be well served to read through it again. I strongly recommend this book for anyone with a need to understand any aspect of DNS or BIND.
Click here to return to the index of reviews.