Skip to main content
  1. Insights/

The Article That Started Everything: Setting Up DNS Servers (2001)

··3101 words·15 mins
Vin Patel
Author
Vin Patel
February 16, 2001 · DomainNotes.com · internet.com

The Article That Built a Career

A five-page DNS tutorial written by a young developer in India. Later archived by the UK's national security body, held in the British Library, and referenced in university curriculum. This is where 25 years of technical writing began.

Published: February 16, 2001 · BIND 4.9.x · UNIX

I have been writing about technology for 25 years. But every journey has a first step — and mine was a tutorial published on DomainNotes.com, part of the internet.com publishing network, on February 16, 2001.

The article was called “Setting Up DNS Servers.”

I was a software professional working in India at the time, fascinated by how the internet actually worked under the hood. I wrote what I knew. I published it. And then I moved on.

What I didn’t know was what happened next.


Where This Article Ended Up
#

Over the years, without my knowledge, the article found its way into places I never imagined.

🇬🇧
British Library
National Collection · United Kingdom
Held in the national collection of the United Kingdom — the same institution that holds the Magna Carta, Shakespeare's First Folio, and the Gutenberg Bible. I did not submit it there. Someone else decided it was worth keeping.
🔐
UKCERT
UK Computer Emergency Response Team
Cited in the tutorial repository of the UK's national computer security body. DNS misconfiguration was a major attack vector in 2001 — accurate DNS documentation was a matter of national cybersecurity.
🎓
Texas A&M University
Academic Reference · stommel.tamu.edu
Referenced in the programming and networking tutorial archive. Used as curriculum material for students learning DNS and network infrastructure.
🗃
Internet Archive
Wayback Machine · Permanent Record
Permanently preserved via the Wayback Machine. The timestamp doesn't lie — June 27, 2003 snapshot of the February 2001 original.

What I Contributed to DNS Education
#

"In 2001, setting up a DNS server was a gatekept skill. This article made it reproducible for anyone with a UNIX box and a text editor."

To understand why this article mattered, you need to understand 2001. There was no Stack Overflow. No DigitalOcean tutorials. No AWS Route 53. DNS was the invisible foundation of the entire internet — and documentation was scarce. O’Reilly’s DNS and BIND book was essentially the only comprehensive resource, and it cost money.

Contribution 1
Democratized DNS Knowledge
BIND configuration was tribal knowledge passed between sysadmins. This article made DNS setup step-by-step reproducible for independent developers — published freely on the open web, accessible to anyone with a browser.
Contribution 2
Complete Resource Record Taxonomy
Documented all 21 DNS resource record types in a single reference table — A, NS, CNAME, SOA, MX, PTR, and 15 others including AFSDB, X.25, and ISDN records that were rarely documented outside of RFCs.
Contribution 3
SOA Record Demystified
The "5 magic numbers" (serial, refresh, retry, expire, TTL) and the email-address-dot-notation tip saved countless hours of debugging. This was the practical wisdom that separated working DNS from broken DNS.
Contribution 4
Forward AND Reverse DNS
Most tutorials only covered forward lookups (name → IP). This article covered in-addr.arpa reverse mapping — critical for mail servers, as reverse DNS was already becoming an anti-spam verification check in 2001.
Contribution 5
Complete Working Configuration
All five BIND configuration files — named.boot, named.hosts, named.rev, named.local, named.ca — with full working examples using a consistent fictional domain. Copy, adapt, deploy.

The Internet in February 2001
#

~400M Internet Users Worldwide
BIND 4.9 DNS Standard Pre-BIND 9
0 Stack Overflow Launched 2008
0 Cloud DNS Services AWS launched 2006
Historical Context

BIND was the internet. In 2001, BIND (Berkeley Internet Name Domain) powered the vast majority of DNS servers on the internet. Every website, every email server, every hostname resolution depended on BIND configurations exactly like the ones in this article. A mistake in your SOA serial number meant your DNS changes wouldn't propagate. A missing reverse DNS record meant your mail server got blacklisted.

This wasn't academic knowledge. This was the plumbing of the internet — and getting it wrong had real consequences.


The Original Article — Restored
#

Every word below is exactly as published on February 16, 2001, on DomainNotes.com (internet.com network). Reconstructed from the Internet Archive snapshot.

Setting Up DNS Servers by Bhavin Patel · DomainNotes.com · February 16, 2001

The Basics
#

The core of domain name system (DNS) is the invention of a hierarchical, domain-based naming scheme and a distributed database system for implementing this scheme. This allows local control of segments of the overall database, yet the data is available across the entire network through a client-server scheme. This database of domains is maintained by interNIC (Network Information Center). Robustness and adequate performance are achieved through replication and caching.

A program called name server constitutes the server half of DNS’s client-server mechanism. Name servers contain information about some segment of the database and make it available to clients called resolvers. Resolvers are just library routines that create queries and send them across a network to a name server.

Conceptually, the Internet is divided into several hundred top-level domains where each domain covers many hosts. The top-level domains come in two flavors: generic and countries. The generic domains are com (commercial), edu (education), mil (military), int (international), org (organization), net (network providers). The country domains include one entry for each country.

The whole database is pictured as an inverted tree with root node at the top. Each node is a basic top-level domain and each top-level domain has many nodes. For example the com node may have child nodes as abc and abc may have a child node bhavin (a sub domain of abc.com) and so on. Thus we can say that each node is also a root of a new sub tree of the overall tree. Thus when we want to access bhavin we type http://bhavin.abc.com in our browsers.


Need of DNS File
#

Originally, all domain name resolution occurred on one computer, which contained a text file called HOSTS.TXT. However, as time went on, the HOSTS.TXT file required update after update. The computer containing this file was also being overrun with name resolution requests. Managing millions of constantly changing sets of names became a serious problem, so each domain that is registered now has its own DNS file.


DNS Resolution Process — Interactive
#

How DNS Resolution Works
Click each step to see what happens — exactly as described in the original 2001 article
💻 Browser http://bhavin.abc.com
calls
🔍 Resolver Library routine
UDP packet
🌐 Local DNS named daemon
queries
🌳 Root Server named.ca → 198.41.0.4
referral
📌 .com TLD Top-level domain
answer
abc.com NS A: 143.23.25.9
💻 Step 1:  You type http://bhavin.abc.com in your browser. It needs an IP address to connect.

Resource Records (RR)
#

Each domain, whether it is a single host or a top-level domain, can have a set of resource records associated with it. For a single host, the most common record is just its IP address, but many other kinds of resource records also exist. When a resolver gives a domain name to DNS, what it gets back are resource records associated with that name. So the real function of DNS is to map domain names onto the resource records.

#CodeNameFunction
1ANetwork AddressStores host name and IP address. Used to translate host names to IP addresses.
2NSAuthoritative Name ServerIdentifies the name servers in the domain.
3MDMail DestinationNow replaced by MX.
4MFMail ForwarderNow replaced by MX.
5CNAMECanonical NameStores aliases for hosts in the domain.
6SOAStart Of AuthorityRequired for every domain. Stores DNS information for the domain.
7MBMailbox Domain Name
8MGMailbox Member
9MRMail Rename Domain
10NULLNull Resource Record
11WKSWell-known ServiceStores information about network services from hosts in the domain.
12PTRPointer to a Domain NameUsed to translate IP addresses into host names.
13HINFOHost InformationStores hardware information for specific hosts.
14MINFOMailbox Information
15MXMail ExchangeStores information about where mail for the domain should be delivered.
16TXTText StringStores up to 256 characters of text per line.
17RPResponsible PersonStores information about the person responsible for the domain.
18AFSDBAFS-type Services
19X.25X.25 Address
20ISDNISDN Address
21RTRoute Through

Configuring a UNIX DNS Server
#

Configuring a DNS server requires several files and databases to be modified or created. The process is time-consuming, but luckily has to be done only once for each server. If you intend on using the package called BIND (the Berkeley Internet Name Domain), then you should be sure that you get version 4.9.x.


Animated Terminal — Watch the Config Build
#

bhavin@abc ~ BIND 4.9.x
$ cat /usr/lib/named/named.boot
; named.boot — the file that starts everything
directory /usr/lib/named
primary abc.com named.hosts
primary 25.143.in-addr.arpa named.rev
primary 0.0.127.in-addr.arpa named.local
cache . named.ca
 
$ cat named.hosts | head -12
; Start of Authority RR
abc.com. IN SOA bhavin.abc.com. root.bhavin.abc.com. (
2 ; Serial number
7200 ; Refresh (2 hrs)
3600 ; Retry (1 hr)
151200 ; Expire (1 week)
86400 ) ; Min TTL
 
$ nslookup bhavin.abc.com
Server: bhavin.abc.com
Address: 143.23.25.9
 
$ # DNS server is live. February 16, 2001.
$

The 5 BIND Configuration Files — Interactive Tabs
#

Click each file tab to explore the configuration that powered DNS in 2001.

named.boot — The boot file. Tells the named daemon where to find everything. If this file exists, DNS starts. This is the entry point for the entire server.
; named.boot
directory   /usr/lib/named
primary     abc.com                     named.hosts
primary     25.143.in-addr.arpa         named.rev
primary     0.0.127.in-addr.arpa        named.local
cache       .                           named.ca
named.hosts — The forward zone file. Maps hostnames to IP addresses. Contains the SOA (Start of Authority), NS (Name Server), and A (Address) records. The heart of your DNS configuration.
; named.hosts file
; Start of Authority RR
abc.com.    IN SOA  bhavin.abc.com.  root.bhavin.abc.com. (
                    2          ; Serial number
                    7200       ; Refresh (2 hrs)
                    3600       ; Retry (1 hr)
                    151200     ; Expire (1 week)
                    86400 )    ; Min TTL

; Name Service RRs abc.com IN NS bhavin.abc.com subnet1.abc.com IN NS jack.subnet1.abc.com

; Address RRs sumi IN A 143.23.25.7 bhavin IN A 143.23.25.9 mary IN A 143.23.25.12 jay IN A 143.23.25.23 solly IN A 143.23.25.43 pepper IN A 143.23.25.72

named.rev — The reverse zone file. Maps IP addresses back to hostnames using in-addr.arpa. Critical for mail servers — reverse DNS was already becoming an anti-spam check in 2001.
; named.rev file
23.143.in-addr.arpa  IN SOA  bhavin.abc.com.  root.bhavin.abc.com. (
                             2        ; Serial number
                             7200     ; Refresh (2 hrs)
                             3600     ; Retry (1 hr)
                             151200   ; Expire (1 week)
                             86400 )  ; Min TTL

; Name Service RRs 23.143.in-addr.arpa IN NS bhavin.abc.com 100.23.143.in-addr.arpa IN NS jack.subnet1.abc.com

; Address RRs 7.25.23.143.in-addr.arpa IN PTR sumi 9.25.23.143.in-addr.arpa IN PTR bhavin 12.25.23.143.in-addr.arpa IN PTR mary 23.25.23.143.in-addr.arpa IN PTR jay 43.25.23.143.in-addr.arpa IN PTR solly 72.25.23.143.in-addr.arpa IN PTR pepper

named.local — Resolves the loopback address (127.0.0.1). Every DNS server needs this so localhost resolves correctly. Short and essential.
; named.local
0.0.127.in-addr.arpa  IN SOA  bhavin.abc.com.  root.bhavin.abc.com. (
                              2        ; Serial
                              7200     ; Refresh
                              3600     ; Retry
                              151200   ; Expire
                              86400 )  ; Min TTL

1.0.0.127.in-addr.arpa IN PTR localhost.

named.ca — The root hints file. Lists the root name servers — the top of the DNS tree. In 2001, ns.internic.net at 198.41.0.4 was the starting point for resolving any domain on Earth.
; named.ca
; servers for root domain
.                 99999999  IN NS   ns.internic.net

; servers by address ns.internic.net 99999999 IN A 198.41.0.4


Deep Dive — Expandable Sections
#

Click each section to expand the original 2001 explanation.

Understanding the SOA Record The 5 Magic Numbers

The SOA record is the Start Of Authority record. It has 5 magic numbers:

  • Serial Number — Change this every time you modify the file, or other name servers will not update.
  • Refresh — Time between refreshing information about the SOA.
  • Retry — Frequency of retrying if an authority server cannot be contacted.
  • Expire — How long a secondary name server keeps information without successfully updating it.
  • Minimum (TTL) — Default time to live for all records in the zone.

NOTE: You use dots and not ‘@’ for the email address. root@bhavin.abc.com becomes root.bhavin.abc.com in the DNS file.

Forward Mapping (named.hosts) Hostname → IP Address

The named.hosts file defines the domain with host name to IP mapping. When someone looks up bhavin.abc.com, the DNS server reads this file and returns 143.23.25.9.

The file contains three types of records:

  • SOA — Declares authority over the zone and sets caching parameters
  • NS — Identifies the name servers for the domain
  • A — The actual hostname-to-IP mappings that make the internet work

All entries must begin in the first character position of each line. The domain name abc.com. ends with a dot — this is the FQDN (Fully Qualified Domain Name) notation that tells BIND the name is absolute, not relative.

Reverse Mapping (named.rev) IP Address → Hostname

The named.rev file provides the reverse mapping of IP address to machine name using the special in-addr.arpa domain. The IP octets are reversed: 143.23.25.7 becomes 7.25.23.143.in-addr.arpa.

Why does this matter? In 2001, reverse DNS was already becoming a trust signal. Mail servers would check if the sending IP had a valid PTR record. If 143.23.25.9 didn’t resolve back to bhavin.abc.com, your email might be rejected as spam.

This is still true in 2026. The fundamentals haven’t changed — only the tooling around them has.

Root Servers (named.ca) The Top of the DNS Tree

The named.ca file specifies root name servers that the system can resort to when it doesn’t know where to find a domain. In 2001, ns.internic.net at 198.41.0.4 was one of 13 root servers — physical machines that anchored the entire DNS hierarchy.

Today, those same 13 root server identities still exist (a.root-servers.net through m.root-servers.net), but they’re backed by over 1,700 anycast instances distributed globally. The IP 198.41.0.4 is still active — it’s now a.root-servers.net, operated by Verisign.

The TTL of 99999999 (about 3.17 years) tells BIND to cache this essentially forever. Root servers don’t change often.

From HOSTS.TXT to DNS The Origin Story

Originally, all domain name resolution occurred on one computer, which contained a text file called HOSTS.TXT. However, as time went on, the HOSTS.TXT file required update after update. The computer containing this file was also being overrun with name resolution requests.

Managing millions of constantly changing sets of names became a serious problem, so each domain that is registered now has its own DNS file. This transition — from a single flat file to a distributed hierarchical database — is one of the most important architectural decisions in the history of the internet.

The DNS system we use today is fundamentally the same design described in RFC 1035 (1987). My article in 2001 was documenting a system that was already 14 years old — and 25 years later, it’s still the backbone of every internet connection.

Once these files are configured you have set up your own DNS server.


DNS Then and Now: What Changed
#

Aspect2001 (This Article)2026 (Today)
DNS SoftwareBIND 4.9.x on bare-metal UNIXBIND 9, CoreDNS, Knot, PowerDNS, cloud-managed
ConfigurationHand-edited text files (named.boot, named.hosts)APIs, Terraform, web dashboards
HostingYour own physical serverAWS Route 53, Cloudflare, Google Cloud DNS
SecurityNone (DNS was implicitly trusted)DNSSEC, DoH, DoT, DNS-over-QUIC
Record Types21 (documented in this article)80+ (AAAA, SRV, DNSKEY, TLSA, CAA, SVCB, HTTPS...)
Root Servers13 physical machines13 identities, 1,700+ anycast instances
LearningScarce tutorials, O'Reilly books, tribal knowledgeStack Overflow, DigitalOcean, YouTube, AI assistants
TLDs~250 (generic + country)~1,500+ (including .dev, .app, .ai...)
What Hasn't Changed

The fundamentals in this 2001 article are still correct. DNS is still a hierarchical, distributed database. The inverted tree still describes the namespace. SOA records still have the same five fields. Reverse DNS still uses in-addr.arpa. The resolver still sends UDP packets to a name server. Twenty-five years of evolution in tooling, security, and scale — but the architecture I described in 2001 remains the foundation of every domain name lookup on Earth.


The 25-Year Arc
#

2001

"Setting Up DNS Servers" — DomainNotes.com / internet.com

First published article. Archived by UKCERT, held in the British Library, referenced by Texas A&M University. Written on a dial-up era network, published before Stack Overflow, Wikipedia, or cloud computing existed.

2010

Drupal 6 Panels Cookbook — Packt Publishing

First published book. Reviewed on Slashdot, announced on Drupal.org, listed on Google Books, Amazon.com, and Amazon.co.uk. From tutorials to technical books.

2024

The AI Advantage — Co-authored

Enterprise AI strategy. From DNS plumbing to AI transformation — the throughline is making complex technology accessible and actionable.

2026

bhagavad.net, AEORank, vinpatel.com

Open-source AI projects, technical writing, and 25 years of building in public. The discipline of writing clearly about a technical topic — established in that first DNS article — has never changed.


Why I’m Sharing This Now
#

"Every expert was once a beginner. This is the article that made me one."

Authenticity matters more than ever in an age of AI-generated content. This article exists. It was written by a human. It was validated by institutions. The Wayback Machine timestamp does not lie.

Show your early work. The technology industry has a short memory. We celebrate the new and forget the foundational. This article was written before most of today’s AI tools, cloud platforms, or modern frameworks existed. It was written with a text editor and published on a dial-up era network.

If you are a young professional reading this — write what you know. Publish it. You have no idea where it will end up. A tutorial I wrote as a young professional in India ended up in the British Library. Not because I submitted it, but because someone else decided it was worth keeping.

That is the standard I have tried to hold myself to ever since.


Verification & Sources
#

All archival claims in this post are independently verifiable:

InstitutionEvidenceLink
Internet ArchiveArticle archived June 27, 2003View archive
UKCERTListed in tutorial repositoryukcert.org.uk
British LibraryHeld in national collectionbl.uk
Packt PublishingDrupal 6 Panels Cookbook (2010)Amazon

Bhavin “Vin” Patel has been writing about technology since 2001. From DNS servers to AI pipelines — the throughline is making the complex accessible. Find him at vinpatel.com.