| Preface | p. xi |
| Background | p. 1 |
| A (Very) Brief History of the Internet | p. 1 |
| On the Internet and Internets | p. 2 |
| The Domain Name System, in a Nutshell | p. 4 |
| The History of BIND | p. 9 |
| Must I Use DNS? | p. 9 |
| How Does DNS Work? | p. 11 |
| The Domain Namespace | p. 11 |
| The Internet Domain Namespace | p. 17 |
| Delegation | p. 21 |
| Nameservers and Zones | p. 22 |
| Resolvers | p. 26 |
| Resolution | p. 27 |
| Caching | p. 34 |
| Where Do I Start? | p. 37 |
| Getting BIND | p. 37 |
| Choosing a Domain Name | p. 41 |
| Setting Up BIND | p. 53 |
| Our Zone | p. 53 |
| Setting Up Zone Data | p. 54 |
| Setting Up a BIND Configuration File | p. 65 |
| Abbreviations | p. 68 |
| Hostname Checking | p. 71 |
| Tools | p. 73 |
| Running a Primary Nameserver | p. 74 |
| Running a Slave Nameserver | p. 81 |
| Adding More Zones | p. 88 |
| What's Next? | p. 88 |
| DNS and Electronic Mail | p. 89 |
| MX Records | p. 90 |
| Movie.edu's Mail Server | p. 92 |
| What's a Mail Exchanger, Again? | p. 92 |
| The MX Algorithm | p. 94 |
| DNS and Email Authentication | p. 96 |
| Configuring Hosts | p. 100 |
| The Resolver | p. 100 |
| Resolver Configuration | p. 101 |
| Sample Resolver Configurations | p. 112 |
| Minimizing Pain and Suffering | p. 114 |
| Additional Configuration Files | p. 119 |
| The Windows XP Resolver | p. 120 |
| Maintaining BIND | p. 127 |
| Controlling the Nameserver | p. 127 |
| Updating Zone Datafiles | p. 136 |
| Organizing Your Files | p. 143 |
| Changing System File Locations | p. 147 |
| Logging | p. 148 |
| Keeping Everything Running Smoothly | p. 158 |
| Growing Your Domain | p. 177 |
| How Many Nameservers? | p. 177 |
| Adding More Nameservers | p. 185 |
| Registering Nameservers | p. 189 |
| Changing TTLs | p. 192 |
| Planning for Disasters | p. 195 |
| Coping with Disaster | p. 198 |
| Parenting | p. 201 |
| When to Become a Parent | p. 202 |
| How Many Children? | p. 202 |
| What to Name Your Children | p. 203 |
| How to Become a Parent: Creating Subdomains | p. 204 |
| Subdomains of in-addr.arpa Domains | p. 214 |
| Good Parenting | p. 220 |
| Managing the Transition to Subdomains | p. 223 |
| The Life of a Parent | p. 225 |
| Advanced Features | p. 226 |
| Address Match Lists and ACLs | p. 226 |
| DNS Dynamic Update | p. 228 |
| DNS NOTIFY (Zone Change Notification) | p. 235 |
| Incremental Zone Transfer (IXFR) | p. 240 |
| Forwarding | p. 244 |
| Views | p. 247 |
| Round-Robin Load Distribution | p. 250 |
| Nameserver Address Sorting | p. 253 |
| Preferring Nameservers on Certain Networks | p. 255 |
| A Nonrecursive Nameserver | p. 256 |
| Avoiding a Bogus Nameserver | p. 257 |
| System Tuning | p. 258 |
| Compatibility | p. 267 |
| The ABCs of IPv6 Addressing | p. 268 |
| Addresses and Ports | p. 270 |
| Security | p. 282 |
| TSIG | p. 283 |
| Securing Your Nameserver | p. 287 |
| DNS and Internet Firewalls | p. 300 |
| The DNS Security Extensions | p. 322 |
| nslookup and dig | p. 349 |
| Is nslookup a Good Tool? | p. 349 |
| Interactive Versus Noninteractive | p. 351 |
| Option Settings | p. 352 |
| Avoiding the Search List | p. 355 |
| Common Tasks | p. 355 |
| Less Common Tasks | p. 358 |
| Troubleshooting nslookup Problems | p. 366 |
| Best of the Net | p. 370 |
| Using dig | p. 371 |
| Reading BIND Debugging Output | p. 376 |
| Debugging Levels | p. 376 |
| Turning On Debugging | p. 379 |
| Reading Debugging Output | p. 380 |
| The Resolver Search Algorithm and Negative Caching (BIND 8) | p. 393 |
| The Resolver Search Algorithm and Negative Caching (BIND 9) | p. 394 |
| Tools | p. 395 |
| Troubleshooting DNS and BIND | p. 396 |
| Is NIS Really Your Problem? | p. 396 |
| Troubleshooting Tools and Techniques | p. 397 |
| Potential Problem List | p. 409 |
| Transition Problems | p. 426 |
| Interoperability and Version Problems | p. 427 |
| TSIG Errors | p. 431 |
| Problem Symptoms | p. 432 |
| Programming with the Resolver and Nameserver Library Routines | p. 438 |
| Shell Script Programming with nslookup | p. 438 |
| C Programming with the Resolver Library Routines | p. 445 |
| Perl Programming with Net::DNS | p. 470 |
| Architecture | p. 474 |
| External, Authoritative DNS Infrastructure | p. 474 |
| Forwarder Infrastructure | p. 478 |
| Internal DNS Infrastructure | p. 480 |
| Operations | p. 481 |
| Keeping Up with DNS and BIND | p. 482 |
| Miscellaneous | p. 483 |
| Using CNAME Records | p. 483 |
| Wildcards | p. 488 |
| A Limitation of MX Records | p. 489 |
| Dial-up Connections | p. 489 |
| Network Names and Numbers | p. 494 |
| Additional Resource Records | p. 496 |
| ENUM | p. 501 |
| Internationalized Domain Names | p. 504 |
| DNS and WINS | p. 506 |
| DNS, Windows, and Active Directory | p. 508 |
| DNS Message Format and Resource Records | p. 517 |
| BIND Compatibility Matrix | p. 537 |
| Compiling and Installing BIND on Linux | p. 538 |
| Top-Level Domains | p. 543 |
| BIND Nameserver and Resolver Configuration | p. 548 |
| Index | p. 589 |
| Table of Contents provided by Ingram. All Rights Reserved. |