`
`
`
`O’REILLY"
`
`Paul Albitz G Cn'cleet Liu
`
`1
`
`MIT 2013
`MIT 2013
`Limelight v. MIT
`Limelight v. MIT
`IPR2017-00249
`|PR2017-00249
`
`
`
`
`
`(INIH PW SNCI
`
`2
`
`
`
`
`
`
`
`DNS and BIND
`
`Third Edition
`
`Paul Albitz and Cricket Liu
`
`Beijing - Cambridge - K617:
`
`- Paris - Sebastopol - ijpei - Toigro
`
`O’REILLY"
`
`3
`
`
`
`
`
`DNS and BIND, Third Edition
`by Paul Albitz and Cricket Liu
`
`Copyright ® 1998, 1997. 1992 O'Reilly s: itSsociate-sI Inc. All rights reserved.
`Printed in the United States of America.
`
`Published by O'Reilly 6!: Associates, Inc., 101 Morris Street, Sebastopol, CA 95472.
`
`Editor: Mike Loukides
`
`Frustration Editor: Ellie lentajn Maden
`
`Printing History:
`
`October 1992:
`
`First Edition.
`
`January 1997:
`
`Second Edition.
`
`September 1998: Third Edition.
`
`Nutshell Handbook and the Nutshell Handbbolé’io'go are registered trademarks of O’Reilly &
`Associates, Inc. The association between the image of grasshoppers and the topic of DNS and
`BIND is a trademark of O’Reilly & Associates, Inc.
`
`Many of the designations used by manufacturers and sellers to distinguish their products are
`claimed as trademaIks. Where those designations appear in this book, and O‘Rellly 8c
`Associates, Inc. was aware of a trademark claim, the designations have been printed in caps
`or initial caps.
`
`While every precaution has been taken in the preparation of this book. the publisher assumes
`no responsibility for errors or omissions. or for damages resulting From the use of the
`information contained herein.
`
`5&9
`This book is printed on acid-free paper with 85% recycled content. 15% post-consumer waste
`O‘Reilly 8: Associates is committed to using paper with the highest recycled content available
`consistent with high quality.
`
`ISBN: 1-56592-512-2
`
`
`
`4
`
`
`
`
`
`Table of Contents
`
`Preface ..................................................................................................................... ix
`
`1. Background ................................................................................................. I
`A (Very) Brief History of the Internet
`....................................... I
`On the Internet and inuemets .......................................................................... 2
`
`The Domain Name System, in a Nutshell ....................................................... 4
`
`.9
`The History of BIND ........................................................................................
`Must I Use DNS? ............................................................................................... 9
`
`2. How Does DNS Work? ........................................................................... I 1
`
`The Domain Name Space .............................................................................. 11
`
`The Internet Domain Name Space ................................................................ I 7
`Delegation ...................................................................................................... 20
`Name Servers and Zones ......................................................-......................... 2!
`
`Resolvers ......................................................................................................... 26
`
`Resolution ....................................................................................................... 26
`
`Caching ........................................................................................................... 34
`
`3. Where Do I Start? .................................................................................... 37
`Getting BIND .................................................................................................. 3 7
`
`Choosing a Domain Name ............................................................................ 41
`
`4. Setting Up BLVD ...................................................................................... 58
`Our Domain ................................................................................................... 59
`
`Setting Up DNS Data ..................................................................................... 59
`
`Setting Up a BIND Configuration File .......................................................... 70
`
`L’
`
`5
`
`
`
`
`
`at
`
`Table 0 Contents
`
`Abbreviations ................................................................................................. 73
`
`76
`Host Name Checking (BIND 4.9.4 and Later Versions)
`Tools ............................................................................................................... 79
`
`Running a‘Prirnary Master Name Server
`80
`Running a Slave Nadie Server ....................................................................... 35
`Adding More Domains ................................................................................... .91
`
`92
`5. DNS andElectronicMafl
`MXRecords .................................’................................................................... 92
`
`What’s a Mail Exchanger, Again?
`
`95
`
`The MXAlgorithm .......................................................................................... 96
`
`6 Configufing Hosts ................................................................................. 100
`The Resolver ................................................................................................. 100
`
`Sample Resolver Configurations .................................................................. 110
`
`Minimizing Pain and Suffering ......................... r.......................................... 112
`
`Vendor-Specific Options .............................................................................. 117
`
`7. Maintaining BIND ............................................................................... 131
`BIND Name Server Signals ..................................... ; .................................... 131
`
`Organizing Your Files .................................................................................. 142
`
`Changing BIND 8 System File Locations .................................................... I46
`
`BIND 3 Logging ........................................................................................... :47
`Keeping Everything Running Smoothly ...................................................... I56
`
`8. Wing Your Domain ...................................................................... I 73
`How Many Name Servers? ........................................................................... I 73
`
`Adding More Name Servers ......................................................................... 181
`
`Registering Name Servers
`
`186
`
`Planning for Disasters .................................................................................. 192
`
`Coping with Disaster ................................................................................... I95
`
`9. Parenting ................................................................................................. 200
`'When to Become a Parent ........................................... ; ............................... 201
`
`How Many Children? .................................................................................... 201
`What to Name Your Children ...................................................................... 202
`
`How to Become a Parent: Creating Subdomains
`
`204
`
`
`
`6
`
`
`
`
`
`Table of Contents
`
`vii
`
`Subdomains of iri-addr.arpa Domains .............._.......................................... 214
`Good Parenting ............................................................................................ 213
`
`Managing the Transition to Subdomains .................................................... 223
`The Life of a Parent
`..................................................................................... 225
`
`10. Advanced Features and Security .................................................... 226
`Address Match Lists and ACLs ..................................................................... 227
`
`DNS NOTIFY (Zone Change Notification) ................................................. 228
`
`DNS Dynamic Update .................................................................................. 231
`
`System Tuning .............................................................................................. 233
`
`Name Server Address Sorting ...................................................................... 240
`
`Preferring Name Servers on Certain Networks ........................................... 244
`
`Building Up a Large Site-wide Cache with Forwarders ............................. 245
`A More Restricted Name Server .................................................................. 246
`
`A Nonrecursive Name Server ...................................................................... 247
`
`Avoiding a Bogus Name Server .................................................................. 249
`
`Securing Your Name Server ........................................................................ 24.9
`
`Load Sharing Betvveen‘ Mirrored Servers
`
`.................................... 259
`
`11. mlookup .................................................................................................. 261
`Is nslookup a Good Tool? ........................................................................... 26!
`Interactive Versus Noninteractive ................................................................ 263
`
`Option Settings ............................................................................................. 264
`
`.............................................................................. 267
`Avoiding the Search List
`Common Tasks ............................................................................................. 267
`
`Less Common Tasks .................................................................................... 270
`
`Troubleshooting nslookup Problems .......................................................... 277
`Best of the Net
`............................................................................................. 283
`
`12. Reading BIND Debugging Output .................................... . ............ 284
`Debugging Levels ......................................................................................... 284
`
`Turning On Debugging ............................................................................... 286
`
`Reading Debugging Output
`
`........................................................................ 287
`
`The Resolver Search Algorithm and Negative Caching ............................. 296
`Tools ............................................................................................................. 297
`
`I3. Troubleshooting DNS and BIND ..................................................... 299
`Is NIS Really Your Problem? ........................................................................ 299
`
`Troubleshooting Tools and Techniques ..................................................... 30!
`Potential Problem List
`.................................................................................. 307
`
`7
`
`
`
`viii
`
`
`Table oLCgmems
`
`Transition Problems ..................................................................................... 323
`
`Interoperability and Version Problems ....................................................... 324
`
`Problem Symptoms .............................................................. . ....................... 327
`
`14. Programming with the Resolver and Name Server
`Library Routines ................................................................................... 338
`Shell Script Programming with nsloolcup .: ................................................. 338
`
`C Programming With the Resolver Library Routines .............. -. ................... 344
`
`Perl Programming with Net::DNS ................................................................ 368
`
`15. Miscellaneous ............................................... '. ......................................... 373
`
`Using CNAME Records '1......._...' ................................................................... 373
`Wildoards ...................................................................................................... 3 77
`
`A Limitation of MK Records ..................._; ..................................................... 379
`DNS and Internet Firewalls ......................................................................... 379
`
`Dialup Connections ..................................................................................... 399
`NetWQrk Names and Numbers .................................................................... 401
`Additional Resource Records ....................................................................... 402
`
`DNS Versus X500 ........................................................................................ 410
`DNS and WINS ............................................................................................. 410
`
`A DNS Message Format and Resource Records ............................. 413
`
`B Compiling and Installing BIND on a Sun .................................. 433
`
`C. Top-Level Domains ............................................................................... 436
`
`D Domain Registration Form ......, ....................................................... 444
`
`E m-addmrpa Registration Form ...................................................... 449
`
`R BIND Name Server and Resolver S'ratemen‘ts ............................ 455
`
`Index .................................................................................................................... 467
`
`8
`
`
`
`
`
`Preface
`
`You may not know much about the Domatn Name System—yet—but whenever
`you use the Internet, you use DNS. Every time you send electronic mail or surf the
`World Wide Web, you rely on the Domain Name System.
`
`You see, while you, as a human being, prefer to remember the names of computers,
`computers like to address each other by number. On an internet, that number is 52
`bits long, or between zero and four billion or so.‘ That’s easy for a computer to
`remember, because oomputers have lots of memory ideal for storing numbers, but
`it isn’t nearly as easy for us humans. Pick ten phone numbers out of the phone book
`at random, and then try to remember them. Not easy? New flip to the front of the
`book and attach random area codes to the phone numbers. That’s about how
`difficult it would be to remember ten arbitrary internet addresses.
`
`This is pan of the reason we need the Domain Name System. DNS handles mapping
`between host names, which we humans find convenient, and internet addresses,
`
`which computers deal with. In fact, DNS is the standard mechanism on the Internet
`for advertising and accessing all kinds of information about hosts, not just addresses.
`
`And DNS is used by virtually all internetvvorking software, including electronic mail,
`remote terminal programs such as telnet, file transfer programs such as fip, and web
`
`browsers such as Netscape Navigator and Microsoft Internet Explorer.
`
`Another important feature of DNS is that it makes host information available all over
`the Internet. Keeping information about hosts in a formatted file on a single
`computer only helps users on that computer. DNS provides a means of retrieving
`information remotely, from anywhere on the network.
`
`' And. with IP version 6. it's soon to be a whopping 128 bits long. or between zero and a decimal number
`with 39 digits.
`
`9
`
`
`
`
`
`x
`
`Hefner:
`
`More than that, DNS lets you distribute the management of host information among
`many sites and organizations. You don't need to submit your data to some central
`
`site or periodically retrieve copies of the "master’I database. You simply make sure
`your section, called a zone, is up to date on your name sewers. Your name servers
`make your zone’s data available to all the other name servers on the network.
`
`Because the database is distributed, the system also needs the ability to locate the
`data you're looking for by searching a number of possible locations. The Domain
`Name System gives name servers the intelligence to navigate through the database
`and find data in any zone.
`
`Of course, DNS does have a few problems. For example, the system allows more
`than one name server to store data about a zone, for redundancy‘s sake. But
`
`inconsistencies can crop up between cepies of the zone data.
`
`But the worst problem with DNS is that despite its widespread use on the Internet,
`there's really very little documentation about managing and maintaining it. Most
`administrators. on the Internet make do with the documentation their vendors see fit
`
`to provide, and with whatever they can glean from following the Internet mailing
`lists and Usenet newsgroups on the subject.
`
`the understanding of an enormously
`This lack- of documentation means that
`important internet service—one of the Iinchpins of today‘s Internet—is either
`
`handed .down, from administrator to administrator like a closely-guarded family
`recipe, or relearne'd repeatedly by isolated progranuners and engineers. New
`administrators of domains suFfer through the same mistakes made by countless
`others,
`'
`
`Our aim with this book is to help remedy this situation. We realize that not all of
`you have, the time or die desire to become DNS experts. Most of you, after all, have
`plenty to do besides managing a domain or a name server: system administration,
`network engineering, or software development. It takes an awfully big institution to
`
`devote ,a whole person to DNS. We'll try to give you enough information to allow
`you .to do what you need to do, whether that's running a small domain or managing
`- a multinational monstrosity, tending a single name server or shepherding a hundred
`of them. Read as much as you need to know now, and come back later if you need
`to know more.
`
`DNS is a big topic—big enough to require two authors, anyway—but we've tried to
`present it as sensibly and understandably as possible. The first two chapters give you
`a good theoretical overview and enough practical information to get by, and later
`chapters fill in the nitty—gritty details. We provide a roadmap up front, to suggest a
`path through the book appropriate for your job or interest.
`
`
`
`10
`10
`
`
`
`
`
`mface
`
`xi
`
`When we talk about actual DNS software, we’ll concentrate almost exclusively on
`
`BIND, the Berkeley Internet Name Domain software, which is the most popular
`implementation of the DNS specs.(and the one we know best). We've tried to distill
`our experience in managing and maintaining a domain with BIND into this book—
`a domain, incidentally, that is one of the largest on the Internet. (W'e don’t mean to
`brag, but we can use the credibility.) Where possible, we’ve included the real
`pingrams that we use in administration, many of thEm rewritten into Perl for speed
`and efficiency.
`
`We hope that this book will help you get acquainted with DNS and BIND if you're
`just starting out, let you refine your understanding if you’re already familiar with
`
`them, and provide valuable insight and experience even if you know ’em like the
`back of your hand.
`
`Versions
`
`This book deals with the new 8.1.2 version of BIND as well as the older 4.9 versions.
`
`While 8.1.2 is the most recent version as of this writing, it hasn‘t made its way into
`many vendors’ versions of UNIX yet, partly because 8.1.2 has only recently been
`released, and many vendors are wary of using such new software. We will also
`occasionally mention other versions of BIND, especially 4.8.3, because many
`vendors continue to ship code based on this older software as part of their UNIX
`
`products. Whenever a feature is available only in the 4.8.3, 4.9, or 8.1.2 version, or
`there is a difierence in the behavior of the versions, we try to point outwhich version
`does what.
`
`We use usipokup, a name server utility program, a great deal in our examples. The
`version of nslookup we use is the one shipped with the 8.1.2 BIND code. Older
`versions of mlookup provide much, but not quite all, of the functionality in the 8.1.2
`mlookup. We have tried to use commands common to most asiookups in our
`examples; when this was not possible. we tried to note it.
`
`Organization
`
`This book is organized, more or less, to follow the evolution of a domain and a
`domain administrator. Chapters 1 and 2 discuss Domain Name System theory.
`Chapters 3 through 6 help you to decide whether to set up your own domain, then
`describe how to go about it, should you choose to. The middle chapters, 7, 8, 9, and
`10, describe how to maintain your domain, how to configure hosts to use your name
`server, how to plan for the growth of your domain, and how to create subdomains.
`The last chapters, 11 through 15, deal with troubleshooting tools and problems, and
`the lost art of programming with the resolver library routines.
`
`11
`11
`
`
`
`xrr
`
`'
`
`
`'
`1am
`
`Here's a more detailed, chapter-by—chapter breakdowri:
`
`. Chapter 1, Background, provides a little historical perspective and discusses the
`problems that motivated the development of DNS, then presents an overview of
`DNS theory.
`
`0 Chapter 2, How Does DNS Wop-hf, goes over DNS theory in more detail, including
`how the DNS name space is organized, domains, and name servers, We also
`introduce important concepts like name resolution and caching.
`
`O Chapter 3, Where Do {51421129, covers how to get the BIND software, if you don't
`already have it, and what to do with it once you’ve got it: how to figure out What
`your domain name should be, and how to contact the organization that can
`delegate your domain to you.
`
`' Chapter 4, Setting Up BIAD, details how to set up your first two BIND name
`
`servers, including creating your name server database, starting up your name
`servers, and checking their operation.
`
`I Chapter 5, DNS and Electronic Mail, deals with DNS's MK record, which allows
`
`administrators to specify alternate hosts to handle a given destination's mail. The
`Chapter covers mail routing strategies for a wide variety of networks and hosts,
`including networks with security firewalls and hosts without direct Internet
`connECtiVity.
`
`0 Chapter 6, Configuring Hosts, explains how to configure a BIND r'esOIVer. We
`also include notes on the idiosyncrasies of many major UNIX vendors’ resolver
`implementations, as well as the Windows 95 and NT resolvers.
`
`periodic maintenance
`the
`describes
`- Chapter 7, Maintaining BIND,
`administrators need to perform to keep their domains running smoothly, like
`checking name server health and authority.
`
`0 Chapter 8,. Growing Your Domain covers hoslv to plan for the growth and
`evolution of your domain, including how to get'big, and how to plan for moves
`and outages.
`
`¢ Chapter 9, Parenting, explores the joys of becoming a parent domain. We
`explain when to become a parent (create subdomains), what to call your
`children, how to create them (1), and how to watch over them.
`
`- Chapter 10, Advanced'Fearmes and Security, goes over less-often—used name
`server configuration options that can help you tune your name server's
`operation, secure your name server, and ease administration.
`
`- Chapter 11, nsiookup, shows the ins and outs of the most popular tool for doing
`DNS debugging, including techniques for digging obscdre information out of
`remote name servers.
`
`
`
`12
`12
`
`
`
`
`
`Preface
`
`xiii
`
`- Chapter 12, Reading 81M) Debugging Output, is the Rosetta Stone of BIND’s
`debugging information. This chapter should help you make sense of the cryptic
`debugging information that BIND emits, which in turn will help you understand
`your name server better.
`
`0 Chapter 13, Troubleshooting DNS and BM, covers many common DNS and
`BIND problems and their solutions, then describes a number of less common,
`harder-to—diagnose scenarios.
`'
`
`0 Chapter 14, Programming with the Resolwr and Name Senor Library Routines,
`demonstrates how to use BlND's resolver routines to query name servers and
`retrieve data from within a C program. We include a useful (we hope!) program
`to check the health and authority of your name servers.
`
`I Chapter 15, Miscellaneous, ties up all the loose ends. We cover DNS wild-
`carding, special configurations for neisvorks that have Internet connectivity
`through firewalls, hosts and networks with intermittent Internet connectivity via
`dialup, network name encoding, and new, experimental record types.
`
`0 Appendix A, DNS Message Format and Resource Records, contains a byte-by-
`
`byte breakdown of the formats used in DNS queries and responses, as well as a
`comprehensive list of the currently—defined resource record types.
`
`' Appendix B, Compiling and Installing BIND on a Sun, contains step-by—step
`instructions on how to compile the 8.1.2 version of BIND on Solaris 2.x.
`
`- Appendix C, Top—Lew! Domains,
`Internet’s domain name space.
`
`lists the current top—level domains in the
`
`. Appendix D, Domain Registration Form, is the current form for requesting the
`establishment of a subdomain of an InterNIC-run domain.
`
`is the American Registry for
`in-addr.avpa Registration Pom,
`0 Appendix E,
`Internet Numbers' current form for requesting the establishment of a subdomain
`of the in-addrnrpa domain.
`
`- Appendix F, BIND Name Sewer and Resolver Statements, summariZes the syntax
`
`and semantics of each of the parameters available for configuring name servers
`and resolvers.
`
`Audience
`
`This book is intended primarily for system administrators who manage a domain and
`one or more name servers, but it also includes material for network engineers,
`postmasters, and others. Not all of the book’s chapters will be equally interesting to
`a diverse audience, though, and you don't want to wade through fifteen chapters to
`
`find the information pertinent to your job. We hope mis roadrnap will help you plot
`your way through the book.
`
`13
`13
`
`
`
`xiv
`
`Prom
`
`System administrators setting up their-first domain should read Chapters 1 and 2 for
`DNS theory, Chapter 3 for information on .getting started and selecting a good
`domain name, then Chapters 4 and 5.to learn how to set up a domain for the first
`time. Chapter 6 explains how to configure hosts to use the new name servers. Soon
`after, they should read Chapter 7, which explains how to "flesh out" their domain
`implementation by setting up additional name servers” and adding additional data.
`Then, Chapters 11, 12, and 13 describe troubleshooting tools and techniques.
`
`Weed administrators could benefit frprn reading Chapter 6 to learn how to
`configure DNS resolvers on different hosts, and Chapter 7 for information on
`maintaining their domains. Chapter 8 contains instructions on how to plan for a
`domain's growth and evolution, which should be especially valuable to
`administrators of large domains. Chapter 9 explains parenting—creating sub-
`don1ains——which is de figuenr reading for those considering the big move.
`Chapter 10 covers security features of the new BIND 8.1.2 name server, many of
`which may be very useful for experienced. administrators. Chapters 11 through 13
`describe tools and techniques
`for
`troubleshooting, which even advanced
`administrators may find worth reading.
`
`Sjstem administrators on networks without fut? Internet connectivity should read
`Chapter 5 to learn how to configure mail on such networks, and Chapter 15 to learn
`
`how to set up an independent‘DNS infrastructure.
`
`Programmers can read Chapters 1 and 2 for DNS theory, then Chapter '14 for detailed
`coverage of how to program with the BIND resolver library routines.
`
`Nettmrk administrators not directly Womble for a domain should still read
`Chapters 1 and 2 for DNS theory, then Chapter 11 to learn how to use nstookup, plus
`Chapter 13 for troubleshooting tactics.
`
`Postrnasters should read Chapters 1 and 2 for DNS theory, then Chapter 5' to find out
`how DNS and electronic mail coexist. Chapter 11, which describes nstookup, will
`also help postmasters dig mail routing information out of the domain name space.
`
`Interested users can read Chapters 1 and 2 for DNS theory, and then whatever else
`they like!
`‘
`
`Note that we assume you're familiar with basic UNIX system administration, TCP/IP
`
`networking, and programming using simple shell scripts and Perl. We don‘t assume
`you have any other specialized knowledge, though. When we introduce a new term
`or concept, we'll do our best to define or explain it. Whenever-possible, we'll use
`analogies from UNIX (and from the real world), to help frou understand.
`
`14
`14
`
`
`
`
`
`Preface
`
`xv
`
`Obtaining the Example Programs
`
`The example programs in this book are available electronically via ftp from these
`URLs:
`
`fip://fip. uu. neVpublisbed/oreiibI/nu asbew’dnsbind/dnsmrz
`
`mJZfipom.com/pabitsbed/oreifly’nutsbefl/dmbind/dm.tan?
`
`In either case, extract the files from the archive by typing:
`
`% leaf. fill-Jam: | tax-xi -
`
`System V systems require the following tar command instead:
`
`$mtm.m.z|hrm£-
`
`If zcatis not available on your system, use separate uncomprew and tar commands.
`
`If you cannot get the examples directly over the Internet, but canteend and receive
`
`email, you can use Wit to get them. For help using fijpmaii, send email to
`fipmaiiflonimeomifljtcom with no subject and the single word “help" in the body.
`
`Conventions Used in 27321930013
`
`We use the following font and format conventions for UNIX commands, utilities, and
`system calls:
`
`Excerpts from scripts or configuration files are shown in a constant width font:
`if test —x Kobe/named —a -f {etc/named.eenf
`then
`
`{etc/netted
`
`fi
`
`Sample interactive sessions, showing command-line input and corresponding
`output, will be shown in a constant Widfl‘l font, with user-supplied input in hold:
`3 eat: lobe/Mm”
`73
`
`If the command must be typed by the superuser (root), we use the sharp or
`pound sign (a):
`it late/mud
`
`‘
`
`Command lines,,when they appear exactly as a user would type them, are
`printed in italic when they appear in the body of a paragraph. For example: run
`is to list the files in a directory.
`Domain names are also printed in italic when they appear within a paragraph.{
`
`UNDC commands (when mentioned in passing, and not as part of a command
`line) and UNIX manual pages mentioned in the body of a paragraph appear
`
`15
`15
`
`
`
`xvi
`
`inflate
`
`italicized. For example: to find more information on named, a user could consult
`the named (1m) manpage.
`
`0
`
`Filenames are printed in italic; for example: the BIND name server's conf file is
`usually /etc/nemed.conf
`
`Quotations
`
`The Lewis Carroll quotations that begin each chapter are from the Millennium
`Fulcrum Edition 2.9 of the Project Gutenberg electronic test of AHce'rAdventures in
`Wonderland and Through the Looking-Glass. Quotations in Chapters 1, 2, S, 6, 8, and
`13 come from Alice’s Adventures in Wonderland, and those in Chapters 3, 4, 7. 9,
`11. 12, and 15 come from Through the Looking-Glass.
`
`Acknowledgments
`
`The authors would like to thank Ken Stone, Jerry McCollorn, Peter Jef’fe, Christopher
`Durham, Hal Stern, Bill Wisner, Dave Curry, Jeff Okarnoto, Brad Knowles, K. Robert
`ElzI and Paul Vixie for their invaluable contributions to this book. We'd also like to
`thank our revieWers, Eric Pearce, Jack Repenning, Andrew Cherensbn, Dan Trinlde,
`Bill LeFebvre, and John Sechrest for their criticism and suggestions. Without their
`
`help, this book would not be what it is (it’d be much shorter!)
`
`For the second edition, the authors would like to add their thanks to their sterling
`review team: Dave Barr, Nigel Campbell, Bill LeFebvre, Mike Milligan, and Dan
`Trinkle.
`'
`
`For the third edition, the authors salute their technical review Dream Team.- Bob
`
`Halley, Barry Margolin and Paul Vixie.
`
`Cricket would particularly like to thank his former manager, Rick Nordensten, who
`is the very model of a modern HP manager, on whose watch the first version of this
`
`book was written; his neighbors, who bore his occasional crabbiness for many
`months; and of course his wife, Paige, for her unflagging support and for putting up
`with his tap-tap—tapping during her nap-nap-napping. For the second edition, Cricket
`would like to add a thank you to his former managers, Regina Kershner and Paul
`lClouda, for their support of Cricket's work with the Internet. For the third edition,
`
`Cricket acknowledges a debt of gratitude to his partner, Matt Larson, for his co~
`development of the Home Razor.
`Paul would like to thank his wife Katherine for her patience, for many refitiew
`sessions, and for proving that she could make a quilt in her spare time more quickly
`than her spouse could write his half of a book.
`
`
`
`16
`16
`
`
`
`"—T——"—m—'—’_fi’_—— .
`
`Began?
`
`xvii
`
`We would also like to thank the folks at O’Reilly & Associates for their hard work
`
`and patience. Credit is especially due our editor, Mike Loukides; our production
`editor for the second edition, Nancy Kotary; Ellie Fountain Maden (third edition),
`Robert Romano (third edition), Steven Abrams (third edition); our production