Setting Up Bind As a Private DNS Server on RHEL 8

BIND (Berkeley Internet Name Domain) is a widely-used DNS server software that can be configured as a private DNS server on RHEL 8. This setup allows organizations to manage internal domain name resolution, providing faster lookups and better control over DNS queries within their network infrastructure.

Methods Used

  • Manual Configuration Direct editing of configuration files for precise control

  • Web-based Administration Tools Graphical interface management using tools like Webmin

Manual Configuration

Manual configuration involves directly editing BIND configuration files to set up the DNS server. This method provides administrators with complete control over server behavior and allows customization to meet specific organizational requirements.

Step-by-Step Setup Process

Step 1: Install BIND Package

sudo yum install bind bind-utils -y

Step 2: Configure named.conf

Edit the main configuration file to define server parameters

sudo vi /etc/named.conf

Add the following configuration

options {
    listen-on port 53 { 127.0.0.1; 192.168.1.10; };
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query { localhost; 192.168.1.0/24; };
    forwarders { 8.8.8.8; 8.8.4.4; };
    recursion yes;
};

Step 3: Create Zone Files

Create a forward lookup zone file for your domain

sudo vi /var/named/example.com.zone

Add the DNS records

$TTL 86400
@   IN   SOA   ns1.example.com.   admin.example.com. (
                       2024010101   ; Serial
                       3600         ; Refresh
                       1800         ; Retry
                       604800       ; Expire
                       86400        ; Minimum TTL
)
@       IN   NS    ns1.example.com.
@       IN   A     192.168.1.10
ns1     IN   A     192.168.1.10
www     IN   A     192.168.1.20
mail    IN   A     192.168.1.30
ftp     IN   CNAME www

Step 4: Add Zone Declaration

Include the zone declaration in named.conf

zone "example.com" IN {
    type master;
    file "/var/named/example.com.zone";
    allow-update { none; };
};

Step 5: Configure Firewall

sudo firewall-cmd --zone=public --add-service=dns --permanent
sudo firewall-cmd --reload

Step 6: Start and Enable BIND Service

sudo systemctl start named
sudo systemctl enable named
sudo systemctl status named

Step 7: Test DNS Configuration

dig @localhost example.com
nslookup www.example.com localhost

Web-based Administration Tools

Web-based tools like Webmin and ISPConfig provide graphical interfaces for BIND management. These tools simplify DNS administration by offering intuitive web interfaces for zone management, record editing, and server configuration without requiring direct file manipulation.

Using Webmin for BIND Management

Installation and Setup

# Install Webmin repository
sudo wget -O /etc/yum.repos.d/webmin.repo http://download.webmin.com/download/yum/webmin.repo
sudo yum install webmin -y
sudo systemctl start webmin
sudo systemctl enable webmin

Access Webmin through https://your-server-ip:10000 and navigate to the BIND DNS Server module to configure zones and records through the web interface.

Comparison of Configuration Methods

Aspect Manual Configuration Web-based Tools
Learning Curve Steep, requires BIND syntax knowledge User-friendly, intuitive interface
Control Level Complete control over all settings Limited to interface capabilities
Error Handling Manual syntax validation required Built-in validation and error checking
Scalability Suitable for complex configurations Better for small to medium deployments

Key Configuration Parameters

  • listen-on Defines IP addresses and ports for DNS queries

  • allow-query Specifies which clients can query the server

  • forwarders External DNS servers for recursive queries

  • recursion Enables/disables recursive query processing

  • zone declarations Define managed DNS zones and their properties

Conclusion

Setting up BIND as a private DNS server on RHEL 8 can be accomplished through manual configuration or web-based administration tools. Manual configuration offers complete control and flexibility, while web-based tools provide user-friendly interfaces that simplify management tasks. Both approaches enable organizations to establish reliable internal DNS infrastructure for improved network performance and security.

Updated on: 2026-03-17T09:01:39+05:30

827 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements