BackendSide DNS Manager
User Guide — a complete, screen-by-screen walkthrough of the dashboard
This guide covers what you see, what you can click, and how to get common jobs done. It does not cover installation, the REST API, or anything you'd type into a terminal — those live in the product page and the API documentation.
Contents
1. First-Time Setup
The very first time you open the dashboard, you land on the Setup Wizard instead of the login screen. The wizard has four steps and a progress bar along the top.
Step 1 — Storage
Pick the folder where your zone files will live. The default is /data/zones. Click Check path to confirm the folder is writable; the wizard shows free disk space and a green tick when the path is OK. Click Continue to move on.
Step 2 — SSL (optional)
Tick Generate self-signed HTTPS certificate if you want the dashboard reachable over HTTPS straight away. Enter a hostname or IP in the Common name field. You can skip this step and turn HTTPS on later from the Settings page.
Step 3 — Install
Click Start installation. The wizard installs BIND9 and shows live progress in a black log panel. This usually takes 30–60 seconds. If the install needs to fix your machine's DNS resolver to reach the package servers, it does that automatically and restores your original setting afterwards. When you see the green Installation complete banner, click Continue.
Step 4 — Admin account
Create the first administrator. The username must be at least 3 characters and the password at least 8. Click Create account. The wizard then redirects you to the login screen.
2. Signing In
The sign-in page is split-screen: a brief product description on the left, the form on the right. Enter your username and password and click Sign in.
- Wrong credentials show Incorrect username or password under the form.
- Successful sign-in takes you to the Dashboard.
- Your session lasts 24 hours. If it expires, you'll be bounced back here.
3. Getting Around the Dashboard
Once you're signed in, every page shares the same layout.
Left sidebar
Grouped navigation with a coloured-coral highlight for the page you're on.
At the very bottom of the sidebar there's a small BIND status pill — green when the name server is running, grey when it's not, with the version number.
Top bar
- A breadcrumb showing where you are
- The BIND status badge again (handy if you've scrolled down)
- A bell icon for notifications
- Your username and avatar in the top-right — click it for Settings and Sign out
4. Dashboard
The home screen. It gives you an at-a-glance health view.
Top row — four stat cards
- Total zones
- DNS records (across all zones)
- Queries / 24h
- BIND service — green if running, red if stopped
Charts
- Query volume — an area chart of DNS queries over the last 24 hours, bucketed.
- Records by type — a bar chart showing how many of each record type (A, AAAA, MX, TXT, etc.) you have in total.
Lists
- Your zones — the first eight zones. Click any row to jump straight to that zone.
- Live queries — a streaming feed of DNS queries as they happen.
- Activity — recent service events (starts, reloads, errors).
Top-right buttons
- Refresh — reload everything on the page
- Add zone — shortcut to create a new zone
5. Zones
The main "list of all my domains" page.
Page header
- Refresh and Add zone buttons on the right
- A search box that filters as you type
- Total count, e.g. "Showing 12 of 47"
Zones table
| Column | Meaning |
|---|---|
| Name | The domain. |
| Type | Master or slave. |
| Status | Active (green) or Inactive (grey). |
| DNSSEC | Signed chip if signed; a dash if not. |
| Records | Count of records in the zone. |
Whole row is clickable — opens Zone Detail. Pagination appears under the table once you have more than 50 zones — just Prev / Next with the current page number.
Adding a zone
- Zone name — the FQDN, lower-case, no trailing dot (e.g.
example.com). - Use default nameservers — tick this if you've set up zone defaults on the Configuration page. The dashboard will fill in your standard NS records and SOA email automatically.
- Primary nameserver and Admin email — if you didn't tick the defaults box, fill these in manually.
- Default TTL — usually
3600. - Template (optional) — pick from a dropdown to pre-fill a set of records (see Templates).
6. Zone Detail
Click any zone to open its detail page. This is where you'll spend most of your time.
Page header
- The zone name in large mono type, with Active and Signed chips
- Refresh, Export, and Add record buttons
- Below the header: a row of summary stats — record count, nameserver, admin email, default TTL
Six tabs: Records · DNSSEC · Analytics · Recently deleted · Zone settings · Raw.
6.1 Records tab
The default view. Lists every record in the zone.
Toolbar
- Search — filter by record name or value
- Type pills —
ALL, then one pill per record type present (A,AAAA,CNAME,MX,TXT,NS,SRV,CAA,PTR). Click a pill to filter; click again to clear.
Table
- Tick-box column for bulk selection
- Type badge (colour-coded)
- Name —
@means the apex of the zone - TTL
- Value — long values are truncated; hover to see the full text
- Actions — Copy value, Edit (pencil), DNS Lookup (search icon)
When you tick rows, a Delete N selected button appears in the toolbar.
Adding or editing a record
Click Add record (or the pencil icon on a row). A side drawer slides in from the right.
- Type — dropdown
- Name — leave blank or use
@for the apex - TTL
- Value — the form adjusts to the type (an IP for A, a target for CNAME, a
priority hostpair for MX, and so on)
Buttons in the drawer footer:
- Save changes — writes the record and reloads BIND
- Cancel — close the drawer; if you've typed unsaved changes, you'll be asked to confirm
- Delete (only when editing an existing record) — soft-deletes the record (you can restore it within 48 hours from the Recently deleted tab)
6.2 DNSSEC tab
Sign or unsign the zone.
- If the zone is not signed, you see an Enable DNSSEC button. Click it; the dashboard sets up signing on the BIND side and starts polling for the keys to be generated (usually a few seconds).
- Once signed, you see:
- Keys table — Key tag, Algorithm, Role (
CSK,KSK, orZSK), Created date, Published date - DS records — copy-paste ready strings for your domain registrar. Every record has a one-click Copy button.
- Live signing status — the output of
rndc dnssec -status, refreshed every few seconds - Disable DNSSEC button
- Keys table — Key tag, Algorithm, Role (
6.3 Analytics tab
A zone-specific Query volume area chart (same shape as the dashboard's global one, but filtered to just this zone).
6.4 Recently deleted tab
A list of records you've deleted in the last 48 hours (up to the most recent 50). Each row has a Restore button — one click puts the record back and reloads BIND.
6.5 Zone settings tab
Change the zone's metadata.
- Type — master or slave (read-only)
- Primary nameserver
- Admin email — entered in normal
[email protected]form - Default TTL
Click Save zone settings to apply.
This tab also has a red Delete zone button at the bottom. You'll be asked to type the zone name to confirm.
6.6 Raw tab
The full zone file shown in a dark, syntax-highlighted code block. Two buttons above it:
- Copy — copies the whole thing to your clipboard
- Download — saves a
.zonefile
Useful for sharing with support, taking ad-hoc backups, or just reading what you've built.
7. Records (All Zones)
Sometimes you want to see every record everywhere — for example, to find "which zone has that old IP?". The Records page does that.
Toolbar
- Search — matches name, value, or zone
- Zone dropdown — All zones, or a specific zone
- Type pills — same as Zone Detail
Table
- Type, Zone, Name, TTL, Value
- Rows are clickable — they jump to the corresponding Zone Detail page
The page is purely a viewer — to add or edit a record, open its zone.
8. Templates
A zone template is a saved bundle of records you can apply when creating a zone. Great for "every new customer site needs the same five records".
Page layout
- Built-in templates — collapsed cards with a small lock icon. Expand any card to see the records it contains. You can use them but not delete them. The shipped templates are
empty,basic-web,mail-services, andfull-stack. - Custom templates — cards for the templates you've created, each with a Delete button.
Creating a template
- Name — short identifier (e.g.
customer-baseline) - Description — optional
- Records — add a row per record (Type, Name, TTL, Value). Add and remove rows as needed.
Your template will then appear in the Template dropdown of the Add Zone modal.
9. Import Zones
Bring existing BIND zone files into the dashboard. Two tabs at the top: From directory and Paste zone file.
From directory
/var/named/backup) and click Scan..zone file, and shows a results table:
- Zone name
- Status — New (green), Conflict (yellow — zone already exists), or Invalid (red — fails validation)
- Record count, SOA serial, and any notes
Paste zone file
SOA line if present).Invalid zone files are rejected with the validator's error message, so you can fix and re-paste without leaving the page.
10. DNS Lookup
A built-in dig so you can verify what your DNS is actually returning without leaving the dashboard.
- Name — the FQDN to query (e.g.
www.example.com) - Type — dropdown (
A,AAAA,MX,TXT,NS,CNAME,SOA,PTR,CAA,SRV,ANY) - Server — defaults to
127.0.0.1(your own BIND); you can point it at any public resolver such as8.8.8.8 - Lookup button
Results appear underneath in a terminal-style block, exactly as dig would print them.
11. BIND Service
The control panel for the underlying name server.
Service status card
- A coloured dot — green for running, grey for stopped, red for failed
- Service name, status badge, version, number of zones loaded
- Three control buttons:
- Reload — fastest. Picks up zone file changes without a service restart.
- Restart — full restart. Brief DNS downtime (a second or two).
- Restart manager — restarts the dashboard process itself (handy if the UI is misbehaving). The dashboard shows a "reconnecting" overlay and reloads automatically.
Recent service events
A feed of service-level events (starts, reloads, errors) pulled from the system journal.
12. Configuration
The dashboard's own paths and listen address.
- Zone mount point — the folder where zone files live (you set this in the Setup Wizard; you can move it here later).
- BIND config directory — where BIND's own config lives (auto-detected per OS).
- Listen address — the dashboard's HTTP listener, e.g.
:8084. - Zone defaults — your standard set of nameservers, admin email, default TTL, and primary server IP. Anything you set here can be auto-applied to new zones via the Use default nameservers tick-box in the Add Zone modal. The Detect button next to the IP field auto-fills the host's outbound IPv4.
Click Save configuration to apply. Changes that move data or change the listen port require a manager restart (see the BIND Service page) to take effect.
13. BIND Configuration
For tuning BIND's own behaviour. Most installations never need to touch this page.
- Hide version — when on, BIND answers version queries with
hiddeninstead of its real version string. - Zone name checking —
warn/fail/ignore - DNSSEC validation — turn DNSSEC checking of upstream answers on or off
- Recursion — allow this server to recurse, or only answer for the zones it's authoritative for
- Allow recursion from — the trusted IPs / CIDRs that may use recursion (one per line)
- Query log — verbose query logging
- Custom options — a free-form text box for raw BIND directives
Click Save BIND options. The dashboard validates the resulting config before applying it; if validation fails, you'll see the validator's error output and your previous config is left in place. On success, BIND reloads automatically.
14. Settings
Per-account and HTTPS controls.
HTTPS
- A toggle to turn HTTPS on or off (requires a certificate to be installed)
- Current certificate details — common name, issuer, validity dates, installed / missing badge
Generate certificate
- Common name — your hostname or IP
- Validity period — in years, default 10
- Generate self-signed certificate button
Change password
- Current password
- New password (8+ characters)
- Confirm password
- Change password button
Session
Sign out button — ends your session in this browser.
15. Security
Lock the dashboard down to your network. Four sections.
Rate limiting
- Enable rate limiting toggle
- Login limit — requests per minute per IP (e.g. 10)
- API limit — requests per minute per IP (e.g. 60)
Access restrictions
- Admin login whitelist — IP addresses or CIDRs allowed to reach the login page (one per line; empty means anyone)
- API key whitelist — same idea, but for API requests
Port firewall
- Enable port firewall toggle
- Allowed IPs / CIDRs text area
- A live view of the current firewall rules
- Self-lockout guard — if your current IP isn't in the allow-list, the page warns you before applying so you don't lock yourself out.
API Tokens
A summary card here mirrors the dedicated API Tokens page — you can create and delete tokens from either location.
Click Save security settings at the bottom of each section to apply.
16. API Tokens
Manage long-lived tokens for scripts, monitoring tools, and CI pipelines.
Table columns: Name, Created, Last used, Status, Delete
Creating a token
deploy-script, monitoring-prometheus).Revoking a token
Click the Delete button next to the token, confirm in the modal. The token stops working immediately.
API_KEY printed by the installer still works as a fallback even if you delete every token here.
17. Webhooks
Get a POST to your URL whenever something changes in DNS.
Table columns: Name, URL, Secret (yes / no), Events, Created, Last triggered, Test, Delete
Creating a webhook
- Name — your label (e.g.
slack-notifier) - URL — the endpoint to POST to
- Secret — optional; if set, every delivery includes an
X-Webhook-Signature: sha256=<hex>header so your receiver can verify authenticity. - Events — tick the events you want to subscribe to. Leave them all unchecked to subscribe to everything. The available events are
zone.created,zone.deleted,record.created,record.updated,record.deleted.
Testing a webhook
Each row has a Test button. Click it to send a sample payload right now; the row turns green on success or red on failure, with the response status code shown inline.
Deleting a webhook
Click Delete, confirm. Future events will not be sent to that URL.
18. Audit Log
A read-only trail of everything that's changed, who did it, and when.
- A Show last dropdown lets you load the last 50 / 100 / 200 / 500 / 1000 entries
- A Refresh button pulls the latest
Columns: Timestamp, User, IP, Action, Target, Detail
Examples of what shows up:
- Login attempts (success and failure)
- Zone create / update / delete
- Record create / update / delete
- DNSSEC enable / disable
- Password change
- Token create / revoke
- Security settings change
- BIND options change
- Webhook create / delete
- Imports
The log is append-only — there is no way to edit or remove entries from the dashboard. Useful for compliance and "who broke prod" investigations.
19. Common Tasks — Step by Step
Create your first zone and a few records
basic-web template if you want @, www, and a couple of common defaults filled in automatically.A, leave the name empty (the apex), enter your server IP, Save changes.CNAME, name www, value @, Save changes.Move a zone from another DNS server
Sign a zone with DNSSEC and notify your registrar
DS, server 8.8.8.8, name = your zone. The DS should be visible within a few minutes.Lock the dashboard down to your office IP
203.0.113.0/24).Get notified in Slack whenever a record changes
slack-record-changes, URL = your Slack incoming webhook.record.created, record.updated, record.deleted.Restore a record you just deleted by mistake
Take a backup of a zone
.zone file.(For a full-system backup including all zones plus the BIND config, use the backup endpoint documented in the API guide.)
20. Tips & Shortcuts
- The BIND status pill at the bottom of the sidebar (and again in the topbar) is the fastest way to see if the name server is up.
- Click any zone row to open it. Click any record row in the all-records table to jump to its zone.
- The search-code icon next to a record runs a live DNS lookup against that record with one click.
- The Refresh button on every page pulls fresh data — useful after somebody else has been making changes.
- The bulk-delete checkbox in Zone Detail's record list saves a lot of clicks when you're cleaning house.
- The Raw tab is the quickest way to take an ad-hoc backup or share a full zone with somebody over chat.
- Templates save real time when you onboard new customer zones — set up one custom template and you can stand up a new zone in two clicks.
- API Tokens are the right answer when you want to automate something. Don't bake the original install-time key into a script; create a named token so you can revoke it later without taking down everything else.
- Audit Log answers most "who did that?" questions in under a minute.