Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Paul Albitz, Cricket Liu
DNS and BIND, 5th Edition
A Note Regarding Supplemental Files
Preface
Versions
What’s New in the Fifth Edition?
Organization
Audience
Obtaining the Example Programs
How to Contact Us
Conventions Used in This Book
Using Code Examples
Safari® Enabled
Quotations
Acknowledgments
1. Background
1.1. A (Very) Brief History of the Internet
1.2. On the Internet and Internets
1.2.1. The History of the Domain Name System
1.3. The Domain Name System, in a Nutshell
1.4. The History of BIND
1.5. Must I Use DNS?
2. How Does DNS Work?
2.1. The Domain Namespace
2.1.1. Domain Names
2.1.2. Domains
2.1.3. Resource Records
2.2. The Internet Domain Namespace
2.2.1. Top-Level Domains
2.2.1.1. Country-code top-level domains
2.2.1.2. New top-level domains
2.2.2. Further Down
2.2.3. Reading Domain Names
2.3. Delegation
2.4. Nameservers and Zones
2.4.1. Delegating Subdomains
2.4.2. Types of Nameservers
2.4.3. Zone Datafiles
2.5. Resolvers
2.6. Resolution
2.6.1. Root Nameservers
2.6.2. Recursion
2.6.3. Iteration
2.6.4. Choosing Between Authoritative Nameservers
2.6.5. The Whole Enchilada
2.6.6. Mapping Addresses to Names
2.7. Caching
2.7.1. Time to Live
3. Where Do I Start?
3.1. Getting BIND
3.1.1. Handy Mailing Lists and Usenet Newsgroups
3.1.2. Finding IP Addresses
3.2. Choosing a Domain Name
3.2.1. On Registrars and Registries
3.2.2. Where in the World Do I Fit?
3.2.2.1. whois
3.2.3. Back in the U.S.A.
3.2.3.1. The generic top-level domains
3.2.3.2. Choosing a registrar
3.2.4. Checking That Your Network Is Registered
3.2.5. Registering Your Zones
4. Setting Up BIND
4.1. Our Zone
4.2. Setting Up Zone Data
4.2.1. The Zone Datafiles
4.2.2. Comments
4.2.3. Setting the Zone’s Default TTL
4.2.4. SOA Records
4.2.5. NS Records
4.2.6. Address and Alias Records
4.2.7. PTR Records
4.2.8. The Completed Zone Datafiles
4.2.9. The Loopback Address
4.2.10. The Root Hints Data
4.3. Setting Up a BIND Configuration File
4.4. Abbreviations
4.4.1. Appending Domain Names
4.4.2. The @ Notation
4.4.3. Repeat Last Name
4.4.4. The Shortened Zone Datafiles
4.5. Hostname Checking
4.6. Tools
4.6.1. BIND 9 Tools
4.7. Running a Primary Nameserver
4.7.1. Starting Up the Nameserver
4.7.2. Check for Syslog Errors
4.7.3. Testing Your Setup with nslookup
4.7.3.1. Set the local domain name
4.7.3.2. Look up a local domain name
4.7.3.3. Look up a local address
4.7.3.4. Look up a remote domain name
4.7.3.5. One more test
4.7.4. Editing the Startup Files
4.8. Running a Slave Nameserver
4.8.1. Setup
4.8.2. Backup Files
4.8.3. SOA Values
4.8.4. Multiple Master Servers
4.9. Adding More Zones
4.10. What’s Next?
5. DNS and Electronic Mail
5.1. MX Records
5.2. Movie.edu’s Mail Server
5.3. What’s a Mail Exchanger, Again?
5.4. The MX Algorithm
5.5. DNS and Email Authentication
5.5.1. The Sender Policy Framework
6. Configuring Hosts
6.1. The Resolver
6.2. Resolver Configuration
6.2.1. The Local Domain Name
6.2.2. The Search List
6.2.2.1. The BIND 4.9 and later search list
6.2.2.2. The BIND 4.8.3 search list
6.2.3. The search Directive
6.2.4. The nameserver Directive
6.2.4.1. One nameserver configured
6.2.4.2. More than one nameserver configured
6.2.5. The sortlist Directive
6.2.6. The options Directive
6.2.7. Comments
6.2.8. A Note on the 4.9 Resolver Directives
6.3. Sample Resolver Configurations
6.3.1. Resolver Only
6.3.2. Local Nameserver
6.4. Minimizing Pain and Suffering
6.4.1. Differences in Service Behavior
6.4.2. Electronic Mail
6.4.3. Updating .rhosts, hosts.equiv, etc.
6.4.4. Providing Aliases
6.5. Additional Configuration Files
6.5.1. nsswitch.conf
6.6. The Windows XP Resolver
6.6.1. Caching
6.6.2. Subnet Prioritization
7. Maintaining BIND
7.1. Controlling the Nameserver
7.1.1. ndc and controls (BIND 8)
7.1.2. rndc and controls (BIND 9)
7.1.2.1. Using rndc to control multiple servers
7.1.2.2. New rndc commands
7.1.3. Using Signals
7.2. Updating Zone Datafiles
7.2.1. Adding and Deleting Hosts
7.2.2. SOA Serial Numbers
7.2.3. Starting Over with a New Serial Number
7.2.4. Additional Zone Datafile Entries
7.2.4.1. General text information
7.2.4.2. Responsible Person
7.2.5. Generating Zone Datafiles from the Host Table
7.2.6. Keeping the Root Hints Current
7.3. Organizing Your Files
7.3.1. Using Several Directories
7.3.2. Changing the Origin in a Zone Datafile
7.3.3. Including Other Zone Datafiles
7.4. Changing System File Locations
7.5. Logging
7.5.1. The logging Statement
7.5.2. Channel Details
7.5.2.1. File channels
7.5.2.2. syslog channels
7.5.2.3. stderr channel
7.5.2.4. null channel
7.5.2.5. Data formatting for all channels
7.5.3. Category Details
7.5.3.1. BIND 8 categories
7.5.3.2. BIND 9 categories
7.5.3.3. Viewing all category messages
7.6. Keeping Everything Running Smoothly
7.6.1. Common Syslog Messages
7.6.2. Understanding the BIND Statistics
7.6.2.1. BIND 8 statistics
7.6.2.2. BIND 9 statistics
7.6.2.3. Using the BIND statistics
8. Growing Your Domain
8.1. How Many Nameservers?
8.1.1. Where Do I Put My Nameservers?
8.1.2. Capacity Planning
8.2. Adding More Nameservers
8.2.1. Primary Master and Slave Servers
8.2.2. Caching-Only Servers
8.2.3. Partial-Slave Servers
8.3. Registering Nameservers
8.4. Changing TTLs
8.4.1. Changing Other SOA Values
8.5. Planning for Disasters
8.5.1. Outages
8.5.2. Recommendations
8.6. Coping with Disaster
8.6.1. Long Outages (Days)
8.6.2. Really Long Outages (Weeks)
9. Parenting
9.1. When to Become a Parent
9.2. How Many Children?
9.3. What to Name Your Children
9.4. How to Become a Parent: Creating Subdomains
9.4.1. Creating a Subdomain in the Parent’s Zone
9.4.2. Creating and Delegating a Subdomain
9.4.3. An fx.movie.edu Slave
9.4.4. On the movie.edu Primary Nameserver
9.4.5. Delegating an in-addr.arpa Zone
9.4.6. Adding a movie.edu Slave
9.5. Subdomains of in-addr.arpa Domains
9.5.1. Subnetting on an Octet Boundary
9.5.2. Subnetting on a Nonoctet Boundary
9.5.2.1. /8 (Class A-sized) and /16 (Class B-sized) networks
9.5.2.2. /24 (Class C-sized) networks
9.5.2.2.1. Solution 1
9.5.2.2.2. Solution 2
9.5.2.2.3. Solution 3
9.6. Good Parenting
9.6.1. Using host
9.6.2. Managing Delegation
9.6.2.1. Managing delegation with stubs
9.7. Managing the Transition to Subdomains
9.7.1. Removing Parent Aliases
9.8. The Life of a Parent
10. Advanced Features
10.1. Address Match Lists and ACLs
10.2. DNS Dynamic Update
10.2.1. Dynamic Update and Serial Numbers
10.2.2. Dynamic Update and Zone Datafiles
10.2.3. Update Access Control Lists
10.2.4. TSIG-Signed Updates
10.3. DNS NOTIFY (Zone Change Notification)
10.4. Incremental Zone Transfer (IXFR)
10.4.1. IXFR Limitations
10.4.2. IXFR from Differences
10.4.3. IXFR Files
10.4.4. BIND 8 IXFR Configuration
10.4.5. BIND 9 IXFR Configuration
10.5. Forwarding
10.5.1. A More Restricted Nameserver
10.5.2. Forward Zones
10.6. Views
10.7. Round-Robin Load Distribution
10.7.1. Multiple CNAMEs
10.7.2. The rrset-order Substatement
10.8. Nameserver Address Sorting
10.9. Preferring Nameservers on Certain Networks
10.10. A Nonrecursive Nameserver
10.11. Avoiding a Bogus Nameserver
10.12. System Tuning
10.12.1. Zone Transfers
10.12.1.1. Limiting transfers requested per nameserver
10.12.1.2. Limiting the total number of zone transfers requested
10.12.1.3. Limiting the total number of zone transfers served
10.12.1.4. Limiting the duration of a zone transfer
10.12.1.5. Limiting the frequency of zone transfers
10.12.1.6. More efficient zone transfers
10.12.2. Resource Limits
10.12.2.1. Changing the data segment size limit
10.12.2.2. Changing the stack size limit
10.12.2.3. Changing the core size limit
10.12.2.4. Changing the open files limit
10.12.2.5. Limiting the number of clients
10.12.2.6. Limiting SOA queries
10.12.3. Maintenance Intervals
10.12.3.1. Cleaning interval
10.12.3.2. Interface interval
10.12.3.3. Statistics interval
10.12.4. TTLs
10.13. Compatibility
10.14. The ABCs of IPv6 Addressing
10.15. Addresses and Ports
10.15.1. Configuring the IPv4 Transport
10.15.2. Configuring the IPv6 Transport
10.15.3. EDNS0
10.15.4. IPv6 Forward and Reverse Mapping
10.15.5. AAAA and ip6.arpa
10.15.6. A6, DNAMEs, Bitstring Labels, and ip6.arpa
10.15.6.1. A6 records and forward mapping
10.15.6.2. DNAME records and reverse mapping
11. Security
11.1. TSIG
11.1.1. One-Way Hash Functions
11.1.2. The TSIG Record
11.1.3. Configuring TSIG
11.1.4. Using TSIG
11.2. Securing Your Nameserver
11.2.1. BIND Version
11.2.2. Restricting Queries
11.2.2.1. Restricting all queries
11.2.2.2. Restricting queries in a particular zone
11.2.3. Preventing Unauthorized Zone Transfers
11.2.4. Running BIND with Least Privilege
11.2.5. Split-Function Nameservers
11.2.5.1. “Advertising” nameserver configuration
11.2.5.2. “Resolving” nameserver configuration
11.2.6. Two Nameservers in One
11.3. DNS and Internet Firewalls
11.3.1. Types of Firewall Software
11.3.1.1. Packet filters
11.3.1.2. Proxies
11.3.2. A Bad Example
11.3.3. Internet Forwarders
11.3.3.1. The trouble with forwarding
11.3.3.2. Using forward zones
11.3.4. Internal Roots
11.3.4.1. Where to put internal root nameservers
11.3.4.2. Forward-mapping delegation
11.3.4.3. in-addr.arpa delegation
11.3.4.4. The db.root file
11.3.4.5. Configuring other internal nameservers
11.3.4.6. How internal nameservers use internal roots
11.3.4.7. Mail from internal hosts to the Internet
11.3.4.8. Mail to specific Internet domain names
11.3.4.9. The trouble with internal roots
11.3.5. A Split Namespace
11.3.5.1. Configuring the bastion host
11.3.5.2. Protecting zone data on the bastion host
11.3.5.3. The final configuration
11.3.5.4. Using views on the bastion host
11.4. The DNS Security Extensions
11.4.1. Public-Key Cryptography and Digital Signatures
11.4.2. The DNSKEY Record
11.4.3. The RRSIG Record
11.4.4. The NSEC Record
11.4.5. The DS Record and the Chain of Trust
11.4.5.1. Islands of security
11.4.5.2. Delegating to unsigned zones
11.4.6. DO, AD, and CD
11.4.7. How the Records Are Used
11.4.8. DNSSEC and Performance
11.4.9. Zone-Signing Keys and Key-Signing Keys
11.4.10. Signing a Zone
11.4.10.1. Generating your key pairs
11.4.10.2. Signing your zone
11.4.10.3. Sending your keys to be signed
11.4.10.4. Signing a parent zone
11.4.11. DNSSEC and Dynamic Update
11.4.12. Changing Keys
11.4.13. What Was That All About?
12. nslookup and dig
12.1. Is nslookup a Good Tool?
12.1.1. Multiple Servers
12.1.2. Timeouts
12.1.3. The Search List
12.1.4. Zone Transfers
12.1.5. Using NIS and /etc/hosts
12.2. Interactive Versus Noninteractive
12.3. Option Settings
12.3.1. The .nslookuprc File
12.4. Avoiding the Search List
12.5. Common Tasks
12.5.1. Looking Up Different Record Types
12.5.2. Authoritative Versus Nonauthoritative Answers
12.5.3. Switching Nameservers
12.6. Less Common Tasks
12.6.1. Showing the Query and Response Messages
12.6.2. Querying Like a BIND Nameserver
12.6.3. Zone Transfers
12.7. Troubleshooting nslookup Problems
12.7.1. Looking Up the Right Data
12.7.2. No Response from Server
12.7.3. No PTR Record for Nameserver’s Address
12.7.4. Query Refused
12.7.5. First resolv.conf Nameserver Not Responding
12.7.6. Finding Out What Is Being Looked Up
12.7.7. Unspecified Error
12.8. Best of the Net
12.9. Using dig
12.9.1. dig’s Output Format
12.9.2. Zone Transfers with dig
12.9.3. dig Options
13. Reading BIND Debugging Output
13.1. Debugging Levels
13.1.1. What Information Is at Each Level?
13.1.1.1. BIND 8 debugging levels
13.1.1.2. BIND 9 debugging levels
13.2. Turning On Debugging
13.2.1. Debugging Command-Line Option
13.2.2. Changing the Debugging Level with Control Messages
13.3. Reading Debugging Output
13.3.1. Nameserver Startup (BIND 8, Debug Level 1)
13.3.2. Nameserver Startup (BIND 9, Debug Level 1)
13.3.3. A Successful Lookup (BIND 8, Debug Level 1)
13.3.4. A Successful Lookup (BIND 9, Debug Level 1)
13.3.5. A Successful Lookup with Retransmissions (BIND 8, Debug Level 1)
13.3.6. A Slave Nameserver Checking Its Zone (BIND 8, Debug Level 1)
13.3.7. A Slave Nameserver Checking Its Zone (BIND 9 Debug Level 1)
13.4. The Resolver Search Algorithm and Negative Caching (BIND 8)
13.5. The Resolver Search Algorithm and Negative Caching (BIND 9)
13.6. Tools
14. Troubleshooting DNS and BIND
14.1. Is NIS Really Your Problem?
14.2. Troubleshooting Tools and Techniques
14.2.1. How to Use named-xfer
14.2.2. What if I Don’t Have named-xfer?
14.2.3. How to Read a BIND 8 Database Dump
14.2.4. How to Read a BIND 9 Database Dump
14.2.5. Logging Queries
14.3. Potential Problem List
14.3.1. 1. Forgot to Increment Serial Number
14.3.2. 2. Forgot to Reload Primary Nameserver
14.3.3. 3. Slave Nameserver Can’t Load Zone Data
14.3.4. 4. Added Name to Zone Datafile but Forgot to Add PTR Record
14.3.5. 5. Syntax Error in Configuration File or Zone Datafile
14.3.6. 6. Missing Dot at the End of a Domain Name in a Zone Datafile
14.3.7. 7. Missing Root Hints Data
14.3.8. 8. Loss of Network Connectivity
14.3.9. 9. Missing Subdomain Delegation
14.3.10. 10. Incorrect Subdomain Delegation
14.3.11. 11. Syntax Error in resolv.conf
14.3.12. 12. Local Domain Name Not Set
14.3.13. 13. Response from Unexpected Source
14.4. Transition Problems
14.4.1. Resolver Behavior
14.4.2. Nameserver Behavior
14.5. Interoperability and Version Problems
14.5.1. Zone Transfer Fails Because of Proprietary WINS Record
14.5.2. Nameserver Reports “no NS RR for SOA MNAME”
14.5.3. Nameserver Reports “Too many open files”
14.5.4. Resolver Reports “asked for PTR, got CNAME”
14.5.5. Nameserver Startup Fails Because UDP Checksums Disabled
14.5.6. Other Nameservers Don’t Cache Your Negative Answers
14.5.7. TTL Not Set
14.6. TSIG Errors
14.7. Problem Symptoms
14.7.1. Local Name Can’t Be Looked Up
14.7.2. Remote Names Can’t Be Looked Up
14.7.3. Wrong or Inconsistent Answer
14.7.4. Lookups Take a Long Time
14.7.5. rlogin and rsh to Host Fails Access Check
14.7.6. Access to Services Denied
14.7.7. Can’t Get Rid of Old Data
14.7.7.1. Old delegation information
14.7.7.2. Registration of a non-nameserver
14.7.7.3. What have I got?
15. Programming with the Resolver and Nameserver Library Routines
15.1. Shell Script Programming with nslookup
15.1.1. A Typical Problem
15.1.2. Solving This Problem with a Script
15.2. C Programming with the Resolver Library Routines
15.2.1. DNS Message Format
15.2.2. Domain Name Storage
15.2.3. Domain Name Compression
15.2.4. The Resolver Library Routines
15.2.4.1. herror and h_errno
15.2.4.2. res_init
15.2.4.3. res_mkquery
15.2.4.4. res_query
15.2.4.5. res_search
15.2.4.6. res_send
15.2.5. The _res Structure
15.2.6. The Nameserver Library Routines
15.2.6.1. ns_get16 and ns_put16
15.2.6.2. ns_get32 and ns_put32
15.2.6.3. ns_initparse
15.2.6.4. ns_msg_base, ns_msg_end, and ns_msg_size
15.2.6.5. ns_msg_count
15.2.6.6. ns_msg_get_flag
15.2.6.7. ns_msg_id
15.2.6.8. ns_name_compress
15.2.6.9. ns_name_skip
15.2.6.10. ns_name_uncompress
15.2.6.11. ns_parserr
15.2.6.12. ns_rr routines
15.2.7. Parsing DNS Responses
15.2.8. A Sample Program: check_soa
15.3. Perl Programming with Net::DNS
15.3.1. Resolver Objects
15.3.2. Packet Objects
15.3.3. Header Objects
15.3.4. Question Objects
15.3.5. Resource Record Objects
15.3.6. A Perl Version of check_soa
16. Architecture
External, Authoritative DNS Infrastructure
Forwarder Infrastructure
Internal DNS Infrastructure
Operations
Keeping Up with DNS and BIND
17. Miscellaneous
17.1. Using CNAME Records
17.1.1. CNAMEs Attached to Interior Nodes
17.1.2. CNAMEs Pointing to CNAMEs
17.1.3. CNAMEs in the Resource Record Data
17.1.4. Multiple CNAME Records
17.1.5. Looking Up CNAMEs
17.1.6. Finding Out a Host’s Aliases
17.2. Wildcards
17.3. A Limitation of MX Records
17.4. Dial-up Connections
17.4.1. What Causes Dialouts
17.4.2. Avoiding Dialouts
17.4.3. Manual Dial-up with One Host
17.4.4. Manual Dial-up with Multiple Hosts
17.4.5. Dial-on-Demand with One Host
17.4.6. Dial-on-Demand with Multiple Hosts
17.4.7. Running Authoritative Nameservers over Dial-on-Demand
17.5. Network Names and Numbers
17.6. Additional Resource Records
17.6.1. AFSDB
17.6.2. LOC
17.6.3. SRV
17.7. ENUM
17.7.1. Translating E.164 Numbers into Domain Names
17.7.2. The NAPTR Record
17.7.3. Registering ENUM Domain Names
17.7.4. Privacy and Security Issues with ENUM
17.8. Internationalized Domain Names
17.9. DNS and WINS
17.10. DNS, Windows, and Active Directory
17.10.1. How Windows Uses Dynamic Update
17.10.2. Problems with Active Directory and BIND
17.10.3. Secure Dynamic Update
17.10.3.1. BIND and GSS-TSIG
17.10.4. What to Do?
17.10.4.1. Handling Windows clients
17.10.4.2. Handling Windows servers
A. DNS Message Format and Resource Records
A.1. Master File Format
A.1.1. Character Case
A.1.2. Types
A.1.2.1. A address
A.1.2.2. CNAME canonical name
A.1.2.3. HINFO host information
A.1.2.4. MX mail exchanger
A.1.2.5. NS name server
A.1.2.6. PTR pointer
A.1.2.7. SOA start of authority
A.1.2.8. TXT text
A.1.2.9. WKS well-known services
A.1.3. New Types from RFC 1183
A.1.3.1. AFSDB Andrew File System Data Base (experimental)
A.1.3.2. ISDN Integrated Services Digital Network address (experimental)
A.1.3.3. RP Responsible Person (experimental)
A.1.3.4. RT Route Through (experimental)
A.1.3.5. X25 X.25 address (experimental)
A.1.4. New Types from RFC 1664
A.1.4.1. PX pointer to X.400/RFC 822 mapping information
A.1.5. New Types from RFC 3596
A.1.5.1. AAAA IPv6 Address
A.1.6. New Types from RFC 2782
A.1.6.1. SRV Locate Services
A.1.7. New Types from RFC 2915
A.1.7.1. NAPTR Naming Authority Pointer
A.1.8. Classes
A.2. DNS Messages
A.2.1. Message Format
A.2.2. Header Section Format
A.2.3. Question Section Format
A.2.3.1. QCLASS values
A.2.3.2. QTYPE values
A.2.4. Answer, Authority, and Additional Section Format
A.2.5. Data Transmission Order
A.3. Resource Record Data
A.3.1. Data Format
A.3.1.1. Character string
A.3.1.2. Domain name
A.3.1.3. Message compression
B. BIND Compatibility Matrix
C. Compiling and Installing BIND on Linux
C.1. Instructions for BIND 8
C.1.1. Get the Source Code
C.1.2. Unpack the Source Code
C.1.3. Use the Proper Compiler Settings
C.1.4. Build Everything
C.2. Instructions for BIND 9
C.2.1. Get the Source Code
C.2.2. Unpack the Source Code
C.2.3. Run configure, and Build Everything
D. Top-Level Domains
E. BIND Nameserver and Resolver Configuration
E.1. BIND Nameserver Boot File Directives and Configuration File Statements
E.2. BIND 8 Configuration File Statements
E.2.1.
E.2.1.1. acl
E.2.1.2. controls (8.2+)
E.2.1.3. include
E.2.1.4. key (8.2+)
E.2.1.5. logging
E.2.1.6. options
E.2.1.7. server
E.2.1.8. trusted-keys (8.2+)
E.2.1.9. zone
E.3. BIND 9 Configuration File Statements
E.3.1. Comments
E.3.1.1. acl
E.3.1.2. controls
E.3.1.3. include
E.3.1.4. key
E.3.1.5. logging
E.3.1.6. lwres
E.3.1.7. masters
E.3.1.8. options
E.3.1.9. server
E.3.1.10. trusted-keys
E.3.1.11. view
E.3.1.12. zone
E.4. BIND Resolver Statements
E.4.1.
E.4.1.1. ; and #
E.4.1.2. domain
E.4.1.3. nameserver
E.4.1.4. options attempts (8.2+)
E.4.1.5. options debug
E.4.1.6. options ndots
E.4.1.7. options no-check-names (8.2+)
E.4.1.8. options timeout (8.2+)
E.4.1.9. options rotate (8.2+)
E.4.1.10. search
E.4.1.11. sortlist
E.5. BIND 9 Options Statement
E.5.1. Definition and Usage
E.5.2. Boolean Options
E.5.3. Forwarding
E.5.4. Dual-Stack Servers
E.5.5. Access Control
E.5.6. Interfaces
E.5.7. Query Address
E.5.8. Zone Transfers
E.5.9. Bad UDP Port Lists
E.5.10. Operating System Resource Limits
E.5.11. Server Resource Limits
E.5.12. Periodic Task Intervals
E.5.13. Topology
E.5.14. The sortlist Statement
E.5.15. RRset Ordering
E.5.16. Tuning
E.5.17. Built-in Server Information Zones
Index
About the Authors
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
DNS and BIND, 5th Edition
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset