Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Configure BIND as a Private Network DNS Server

Build a private BIND 9 DNS server by restricting listeners and recursion to trusted networks, adding internal forward and reverse zones, and validating every change before reload.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure BIND as a private DNS service by binding it to the server’s internal address, allowing queries and recursion only from approved subnets, and defining any internal forward and reverse zones locally. Validate the configuration and zone files before reloading, then verify both an allowed client and a rejected outside client.

The examples below use BIND 9, an internal IPv4 network of 192.168.50.0/24, the DNS host at 192.168.50.10, and an IPv6 documentation prefix. Replace every example address with addresses from your own network.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decide what the server must do

BIND can provide recursive resolution, authoritative answers for private names, or both. Decide this before writing configuration because the access policy and zone layout depend on the role.

Design Who may query Who may recurse Authoritative data Forwarding Views
Resolver only Approved internal clients The same approved clients None beyond local configuration Usually required for names not answered locally Needed only when different client groups need different answers
Resolver plus private zones Approved internal clients Approved recursive clients Internal forward and, when needed, reverse zones Used for names outside the private zones Optional
Split DNS Separate ACLs select each view Configured independently per view Trusted clients can receive full internal data while other clients receive restricted data Configured globally, per view, or per zone Required

Plan the network boundary

  • Give the DNS host a fixed address, such as 192.168.50.10, so clients and firewall rules always target the same endpoint.
  • List every IPv4 and IPv6 subnet that is allowed to query. A home or laboratory network might use 192.168.50.0/24 and an IPv6 ULA prefix.
  • Choose a namespace controlled by the local network. home.arpa is intended for home networks; an internal subdomain delegated to your organization is appropriate in a managed environment.
  • Decide whether reverse lookups are useful. They are required by some logging, monitoring, and access-control tools but are not needed for ordinary forward lookups.
  • Do not expose an unrestricted recursive listener on a public-facing interface. Private recursion belongs on internal interfaces and behind a firewall.

Install and start BIND 9

Use the BIND package supported by the operating system. Package names, configuration paths, and service names differ between distributions, so confirm the layout after installation.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Red Hat-family systems

On Red Hat Enterprise Linux and closely related distributions, the service is normally named; a chroot installation uses named-chroot. A typical package installation is:

sudo dnf install bind bind-utils
sudo systemctl enable --now named

The main configuration is commonly /etc/named.conf, with zone files under /var/named. If you selected a chroot package, the effective paths are under the chroot directory and the service must be managed as named-chroot.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Debian-family systems

Debian and Ubuntu commonly use the bind9 service and place configuration under /etc/bind. The equivalent installation pattern is:

sudo apt update
sudo apt install bind9 bind9utils dnsutils
sudo systemctl enable --now bind9

Use the paths supplied by the installed package rather than copying Red Hat paths into a Debian configuration. The examples that follow show the BIND syntax; adapt filenames and service commands to your distribution.

Define a trusted ACL and resolver options

BIND ACLs are ordered address-match lists. The first applicable match determines the result, so put narrow exceptions before broad networks. A broad match placed first can grant access you intended to deny.

Add a named ACL near the top of the main configuration:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
acl "trusted" {
    127.0.0.1;
    192.168.50.0/24;
    2001:db8:50::/64;
};

2001:db8::/32 is an IPv6 documentation range. Replace it with your actual ULA or routed internal prefix. If the server has no IPv6 service, omit the IPv6 network and explicitly disable IPv6 listening as shown below.

Define resolver behavior in the options block:

options {
    directory "/var/named";
    listen-on { 192.168.50.10; };
    listen-on-v6 { none; };
    recursion yes;
    allow-query { trusted; };
    allow-recursion { trusted; };
    forwarders {
        192.0.2.53;
        2001:db8::53;
    };
    // forward only;
};

The example forwarder addresses are documentation values and must be replaced with resolvers reachable from your network and acceptable under its privacy policy. You can configure forwarders globally, inside a view, or for a particular zone.

Understand the access controls

  • listen-on limits the IPv4 interfaces and addresses on which BIND accepts DNS traffic. Binding only to the internal address prevents accidental service on another interface.
  • listen-on-v6 performs the same job for IPv6. Use an internal IPv6 address or prefix when IPv6 clients are part of the design; none disables IPv6 listening.
  • allow-query controls which clients may ask this server questions, including questions for authoritative private zones.
  • allow-recursion controls which clients may use the server to resolve names it is not authoritative for. Set it explicitly instead of relying on defaults.
  • recursion yes enables recursive service. A server that is authoritative-only should disable recursion and omit recursive client access.
  • forwarders lists upstream resolver addresses for names that BIND cannot answer locally. Add forward only; only when policy requires BIND to use those forwarders exclusively; otherwise normal resolution fallback remains available.

BIND includes built-in ACL names such as none, any, localhost, and localnets. Do not use any for a private recursive service unless a separate, deliberate design protects it from untrusted networks.

Add an internal forward zone

A forward zone maps names to addresses and aliases. Declare the zone in the main configuration or in the appropriate view. The following example uses home.arpa and keeps the zone readable only to the trusted clients:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
zone "home.arpa" {
    type primary;
    file "/var/named/home.arpa.zone";
    allow-query { trusted; };
};

On a Debian-family system, place the file where the package expects local zone data and use that path in the declaration. The BIND service account must be able to read the file.

Create home.arpa.zone with an SOA record, an authoritative nameserver record, and the host records you need:

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
$TTL 300
@   IN SOA ns1.home.arpa. hostmaster.home.arpa. (
        2026101501 ; serial YYYYMMDDnn
        3600       ; refresh
        600        ; retry
        86400      ; expire
        300        ; negative cache TTL
    )
    IN NS  ns1.home.arpa.
ns1 IN A   192.168.50.10
nas IN A   192.168.50.20
files IN CNAME nas.home.arpa.

Maintain the zone correctly

  • The SOA serial is an unsigned version number. Increment it every time you change the zone; the displayed YYYYMMDDnn style uses the date followed by a change counter.
  • A trailing dot marks a fully qualified domain name. The dots in ns1.home.arpa., hostmaster.home.arpa., and the CNAME target prevent BIND from appending the zone origin a second time.
  • $TTL 300 gives ordinary records a five-minute cache lifetime. Use an explicit TTL on a record when it needs a different value.
  • Add AAAA records for internal IPv6 addresses when IPv6 clients should receive them. Keep private addresses in this internal zone rather than publishing them in a public zone.
  • The addresses in this example are illustrative. Substitute the actual addresses of your DNS host, storage server, and other internal systems.

Add a private reverse zone

Reverse DNS maps an address back to a name through a PTR record. For the 192.168.50.0/24 network, the reverse zone name is 50.168.192.in-addr.arpa:

zone "50.168.192.in-addr.arpa" {
    type primary;
    file "/var/named/50.168.192.rev";
    allow-query { trusted; };
};

A corresponding zone file can contain:

$TTL 300
@   IN SOA ns1.home.arpa. hostmaster.home.arpa. (
        2026101501 ; serial
        3600       ; refresh
        600        ; retry
        86400      ; expire
        300        ; negative cache TTL
    )
    IN NS  ns1.home.arpa.
10  IN PTR ns1.home.arpa.
20  IN PTR nas.home.arpa.

The owner names 10 and 20 represent the final octet of each address. For a network boundary other than a /24, construct the reverse-zone name and delegation according to that boundary. Keeping private reverse zones local prevents queries for private addresses from being sent unnecessarily to the public DNS hierarchy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use views for split DNS

Views make BIND answer differently according to the requesting client. They are useful when a trusted LAN should receive internal records while a guest or other untrusted network must not see those records or use the trusted recursive cache.

Define separate ACLs and place each zone declaration inside the view that should serve it:

acl "trusted" {
    127.0.0.1;
    192.168.50.0/24;
};

acl "guests" {
    192.168.60.0/24;
};

view "internal" {
    match-clients { trusted; };
    recursion yes;
    allow-query { trusted; };
    allow-recursion { trusted; };

    zone "home.arpa" {
        type primary;
        file "/var/named/home.arpa.zone";
    };

    zone "50.168.192.in-addr.arpa" {
        type primary;
        file "/var/named/50.168.192.rev";
    };
};

view "guest" {
    match-clients { guests; };
    recursion yes;
    allow-query { guests; };
    allow-recursion { guests; };

    zone "home.arpa" {
        type primary;
        file "/var/named/guest-home.arpa.zone";
    };
};

The guest zone file can contain only the names that guests are permitted to resolve, or a deliberately restricted answer set. If guests should not receive recursive service, set recursion no; and omit their recursive ACL. Every zone needed by a view, including any forwarding or root-hints arrangement required by that view, must be declared in that view. Do not define the same zone outside the views or accidentally create duplicate declarations. View order matters: the first matching client ACL selects the view.

Check the configuration before reloading

Never test a major edit by restarting blindly. Check syntax and each zone file first.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
  1. Run the configuration checker against the active configuration path:
    sudo named-checkconf /etc/named.conf

    For a Debian-family installation, use its active path, commonly /etc/bind/named.conf. No output normally indicates that the syntax check passed.

  2. Check every zone file against its origin. For example:
    sudo named-checkzone home.arpa /var/named/home.arpa.zone
    sudo named-checkzone 50.168.192.in-addr.arpa /var/named/50.168.192.rev

    The command reports the parsed records and a final status. Fix an error before proceeding.

  3. Confirm ownership, permissions, and mandatory access-control labels where your operating system uses them. The named service account needs read access to zone files and directory traversal permission on their parent directories.
  4. Reload through the service manager or with rndc after the checks succeed:
    sudo systemctl reload named
    sudo rndc reload

    Use bind9 instead of named on systems whose service has that name. Choose one reload method; rndc reload is useful when the control channel is configured and protected.

  5. Inspect the service journal and BIND log after the reload:
    sudo systemctl status named
    sudo journalctl -u named --since "10 minutes ago"

    Substitute the distribution’s service name. Look for zone-load failures, permission errors, duplicate zones, or view-selection mistakes.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  6. From an allowed client, query the server explicitly rather than relying on the client’s default resolver:
    dig @192.168.50.10 nas.home.arpa A
    dig @192.168.50.10 -x 192.168.50.20
    dig @192.168.50.10 example.net A

    The first command tests the internal A record, the second tests the PTR record, and the third tests recursive or forwarded resolution.

  7. Repeat a query from a client outside the trusted ACL. It should receive REFUSED or a timeout, depending on whether the firewall drops the packet or BIND receives and rejects it.
  8. Verify that the host is listening only on intended interfaces and that the firewall permits both UDP and TCP DNS traffic only from approved networks. DNS normally uses UDP, but TCP is required for some larger responses and protocol operations.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the common failures

BIND will not start or reload

Run named-checkconf first. Missing semicolons, misspelled directives, duplicate zones, invalid view ordering, and a file path that does not exist are common causes. If syntax is valid, inspect the journal for permission failures or mandatory access-control denials. A zone file can be syntactically valid but still unreadable by the service account.

Allowed clients receive REFUSED

Check the client’s actual source address, not the address you expected it to use. Confirm that the address matches the ACL and that both allow-query and, for a recursive request, allow-recursion include that ACL. In a view configuration, verify that the client is selecting the intended view and that the zone is declared there.

Internal names return NXDOMAIN

Use dig @server name to ensure the client is asking this BIND instance rather than a router or public resolver. Confirm that the zone loaded successfully, that the record owner has the correct origin and trailing dot, and that you incremented the SOA serial before reloading. An NXDOMAIN response means the server has determined that the name does not exist; it is different from a timeout caused by transport or firewall problems.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reverse lookups fail

Verify that the reverse-zone name matches the network boundary and address octets. For 192.168.50.20 in a /24, the query belongs in 50.168.192.in-addr.arpa and the record owner is 20. Check that a PTR record exists, the zone is loaded, and the client is querying the private BIND server.

Public names fail while internal names work

Check that the configured forwarders are reachable on the required network path, that firewall egress permits DNS traffic, and that the addresses are correct for your environment. If forward only; is enabled, BIND will not use its normal fallback behavior when those forwarders fail; remove that setting unless exclusive forwarding is intentional.

Views return unexpected answers

Review ACL order and the order of the view blocks. A client that matches an earlier view will never reach a later one. Ensure every zone used by a view is declared inside that view and that no duplicate declaration outside the views competes with it. Test each network separately with an explicit server address.

Keep the private service secure

  • Keep recursion closed to trusted networks. An open recursive resolver can be abused for reflection attacks and can expose internal policy or cache data.
  • Bind DNS only to intended internal interfaces and enforce the same boundary with host and network firewalls.
  • Use explicit allow-query and allow-recursion settings. Do not substitute any for a carefully defined client ACL.
  • Protect administrative channels such as rndc; permit them only from management addresses and use the distribution’s secure key setup.
  • Do not publish private addresses in public authoritative zones. Keep internal forward and reverse data in private zones or in a trusted view.
  • Review logs for unexpected source addresses, repeated refused requests, failed forwarding, and zone-load errors.
  • When an internal subnet changes, update the ACL, firewall rules, view matching, and client resolver settings together. Leaving one layer unchanged can produce either outages or an unintended exposure.

Operate the server after deployment

Record the authoritative server address, approved client networks, zone filenames, and the procedure used to increment serials. Any change to a forward or reverse record should follow the same sequence: edit the file, increment its SOA serial, run the zone checker, run the configuration checker, reload, and test from an allowed client.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If you later add IPv6, give the server an internal IPv6 address, add that prefix to the trusted ACL, configure listen-on-v6, and create AAAA records where appropriate. Test IPv4 and IPv6 clients independently because an ACL or firewall rule can permit one protocol while blocking the other.

A correctly deployed private BIND server has a narrow listening surface, explicit client and recursion policies, locally authoritative internal data where needed, and an auditable validation and reload process. Outside clients cannot use it as an unrestricted resolver, while approved clients can resolve both internal names and permitted external names.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.