First off, the most recent edition of this book was published in May 2006, so all reviews prior to that are discussing previous editions of this book.
The domain name system or domain name server (DNS) is a system that stores and associates many types of information with domain names, but, most important, it translates the domain name (computer hostnames) to IP addresses. It also lists mail exchange servers accepting e-mail for each domain. In providing a worldwide keyword-based redirection service, DNS is an essential component of contemporary Internet use. DNS is most well-known for making it possible to attach easy-to-remember domain names to hard-to-remember IP addresses. BIND (Berkeley Internet Name Domain) is the most commonly used DNS server on the Internet, especially on Unix-like systems, where it is a de facto standard. A new version of BIND (BIND 9) was written from scratch in part to address the architectural difficulties with auditing the earlier BIND code bases, and also to support DNSSEC (DNS Security Extensions). Other important features of BIND 9 include: TSIG, DNS notify, nsupdate, IPv6, rndc flush, views, multiprocessor support, and an improved portability architecture. This book was written to address these changes.
DNS is being used for many more applications than in the past. With ENUM (electronic numbering), DNS is used by voice-over-IP gear. With SPF (the Sender Policy Framework), mailers look up information in DNS to check for mail spoofing. This makes DNS more critical than ever, and a target for hackers. To handle these additional applications and increased threats, DNS has had to be extended, adding cryptographic security, for example.
These topics and others are covered in the new edition of DNS and BIND. Security is therefore one of the topics that is deeply covered in this book. The previous editions of this book also described how to secure name servers, but most readers probably felt the likelihood of their name servers coming under attack was remote where today it is probably going to happen. There's been a recent spate of DNS amplification attacks reported in the news, therefore it is necessary for system administrators of Internet name servers to guard against these attacks by limiting access top recursion, which is covered in the chapter entitled "Security".
The new and fifth edition of this old standard covers BIND 9.3.2, the most recent release of the BIND 9 series, as well as BIND 8.4.7. Beginning with an introduction to DNS and what it does, the book guides administrators through all aspects of setting up, configuring, and working with the distributed host information database. Other topics include using MX records to route mail, subdividing domains, the DNS Security Extensions (DNSSEC) and Transaction Signatures (TSIG), dynamic updates, troubleshooting, and DNS programming using the resolver library and Perl's Net::DNS module. All of the programming examples in the book can be downloaded from the website of the latest edition of the book. Anyone who works with DNS regularly or wants to be more informed about the Internet and how it works will find this book useful. There are other books on this subject that are easier to read, but none that are as complete as this one. I highly recommend it. The following is the table of contents:
Chapter 1. BACKGROUND
A Brief History of the Internet; On the Internet and Internets;
The Domain Name System, in a Nutshell; The History of BIND; Must I Use DNS?;
Chapter 2. HOW DOES DNS WORK?
The Domain Namespace; The Internet Domain Namespace; Delegation; Nameservers and Zones; Resolvers; Resolution; Caching;
Chapter 3. WHERE DO I START?
Getting BIND; Choosing a Domain Name;
Chapter 4. SETTING UP BIND
Our Zone; Setting Up Zone Data; Setting Up a BIND Configuration File; Abbreviations; Hostname Checking; Tools; Running a Primary Nameserver; Running a Slave Nameserver; Adding More Zones; What's Next? ;
Chapter 5. DNS AND ELECTRONIC MAIL
MX Records; Movie.edu's Mail Server; What's a Mail Exchanger, Again? ; The MX Algorithm; DNS and Email Authentication;
Chapter 6. CONFIGURING HOSTS
The Resolver; Resolver Configuration; Sample Resolver Configurations; Minimizing Pain and Suffering; Additional Configuration Files; The Windows XP Resolver;
Chapter 7. MAINTAINING BIND
Controlling the Nameserver; Updating Zone Datafiles; Organizing Your Files; Changing System File Locations; Logging; Keeping Everything Running Smoothly;
Chapter 8. GROWING YOUR DOMAIN
How Many Nameservers? ; Adding More Nameservers; Registering Nameservers; Changing TTLs; Planning for Disasters; Coping with Disaster;
Chapter 9. PARENTING
When to Become a Parent; How Many Children? ; What to Name Your Children; How to Become a Parent: Creating Subdomains; Subdomains of Domains; Good Parenting; Managing the Transition to Subdomains; The Life of a Parent;
Chapter 10. ADVANCED FEATURES
Address Match Lists and ACLs; DNS Dynamic Update; DNS NOTIFY (Zone Change Notification); Incremental Zone Transfer (IXFR); Forwarding; Views; Round-Robin Load Distribution Nameserver; Address Sorting; Preferring Nameservers on Certain Networks; A Nonrecursive Nameserver; Avoiding a Bogus Nameserver; System Tuning; Compatibility; The ABCs of IPv6 Addressing; Addresses and Ports;
Chapter 11. SECURITY
TSIG; Securing Your Nameserver; DNS and Internet Firewalls; The DNS Security Extensions ;
Chapter 12. NSLOOKUP AND DIG
Is nslookup a Good Tool? ;Interactive Versus Noninteractive; Option Settings; Avoiding the Search List; Common Tasks; Less Common Tasks; Troubleshooting nslookup Problems; Best of the Net; Using dig;
Chapter 13. READING BIND DEBUGGING OUTPUT
Debugging Levels; Turning On Debugging; Reading Debugging Output; The Resolver Search Algorithm and Negative Caching (BIND 8); The Resolver Search Algorithm and Negative; Caching (BIND 9); Tools;
Chapter 14. TROUBLESHOOTING DNS AND BIND
Is NIS Really Your Problem? ; Troubleshooting Tools and Techniques; Potential Problem List; Transition Problems; Interoperability and Version Problems; TSIG Errors; Problem Symptoms;
Chapter 15. PROGRAMMING WITH THE RESOLVER AND NAMESERVER LIBRARY ROUTINES
Shell Script Programming with nslookup; C Programming with the Resolver Library Routines; Perl Programming with Net::DNS;
Chapter 16. ARCHITECTURE
External, Authoritative DNS Infrastructure; Forwarder Infrastructure; Internal DNS Infrastructure; Operations; Keeping Up with DNS and BIND;
Chapter 17. MISCELLANEOUS
Using CNAME Records; Wildcards; A Limitation of MX Records; Dial-up Connections; Network Names and Numbers; Additional Resource Records; ENUM; Internationalized Domain Names; DNS and WINS; DNS, Windows, and Active Directory;
APPENDIX A- DNS MESSAGE FORMAT AND RESOURCE RECORDS
Master File Format; DNS Messages; Resource Record Data;
APPENDIX B- BIND COMPATIBILITY MATRIX
APPENDIX C- COMPILING AND INSTALLING BIND ON LINUX
Instructions for BIND 8; Instructions for BIND 9
APPENDIX D- TOP LEVEL DOMAINS
APPENDIX E- BIND NAMESERVER AND RESOLVER CONFIGURATION
BIND Nameserver Boot File Directives and Configuration File Statements; BIND 8 Configuration File Statements; BIND 9 Configuration File Statements; BIND Resolver Statements
Section; BIND 9 Options Statement