BindCaptain

Containerized BIND DNS Server with Smart Management

View the Project on GitHub randyoyarzabal/bindcaptain

Quick Start Guide

Get BindCaptain up and running in minutes with this step-by-step guide.

Prerequisites

Step 1: Clone BindCaptain

git clone https://github.com/yourusername/bindcaptain.git
cd bindcaptain

Step 2: System Setup

Run the automated system setup script:

sudo ./tools/system-setup.sh

This script will:

Step 3: Configure DNS Zones

Set up your DNS configuration:

sudo ./tools/config-setup.sh wizard

Follow the interactive wizard to:

Step 4: Build and Run Container

Build the BindCaptain container:

sudo ./bindcaptain.sh build

Start the DNS service:

sudo ./bindcaptain.sh run

Step 5: Verify Installation

Check that everything is running:

# Check container status
sudo ./bindcaptain.sh status

# Test DNS resolution
dig @localhost example.com
nslookup example.com localhost

Step 6: Manage DNS Records

Load the management functions:

source ./tools/bindcaptain_manager.sh

Create your first DNS record:

bind.create_record webserver example.com 192.168.1.100

Next Steps

Quick Commands Reference

# Container management
sudo ./bindcaptain.sh build    # Build container
sudo ./bindcaptain.sh run      # Start service
sudo ./bindcaptain.sh stop     # Stop service
sudo ./bindcaptain.sh status   # Check status

# DNS management
source ./tools/bindcaptain_manager.sh
bind.create_record host domain.com 192.168.1.100
bind.list_records domain.com
bind.delete_record host domain.com

Troubleshooting

Container won’t start

# Check logs
sudo podman logs bindcaptain

# Check configuration
sudo ./bindcaptain.sh validate

DNS not resolving

# Check BIND status
sudo ./bindcaptain.sh status

# Test configuration
sudo named-checkconf /path/to/your/named.conf

Permission issues

# Ensure proper ownership
sudo chown -R root:root /opt/bindcaptain
sudo chmod +x /opt/bindcaptain/tools/*.sh

Need help? Check the Troubleshooting Guide or Manual Setup for unsupported distributions.