High Performance Recursive DNS Resolver built with Unbound and dnsdist for ISP, Enterprise, VPS and Self-Hosted environments.
SmartDNS Installer automatically detects your server hardware and generates an optimized DNS configuration with minimal user interaction.
- One Command Installation
- Automatic Hardware Detection
- Smart CPU & RAM Tuning
- Recursive DNS Resolver (Unbound)
- High Performance DNS Load Balancer (dnsdist)
- DNSSEC Validation
- DNS Packet Cache
- IPv4 & IPv6 Support
- DNS Blocklist (TrustPositif)
- Domain Whitelist
- Domain Insecure Support
- DNSDist Web Management
- Automatic Blocklist Update
- Automatic Root Hints Update
- Automatic Backup
- Automatic Health Check
- Automatic Timezone Configuration
- Automatic Hostname Configuration
- Smart Scheduler (Cron)
- Interactive Installation Wizard
| Component | Minimum |
|---|---|
| CPU | 2 Core |
| RAM | 3 GB |
| Storage | 10 GB |
| Network | Public IPv4 |
| Root Access | Required |
| Component | Recommended |
|---|---|
| CPU | 4 Core or Higher |
| RAM | 4 GB or Higher |
| Storage | 15GB SSD |
| Network | IPv4 + IPv6 |
| OS | Ubuntu 22.04 LTS |
- Ubuntu 22.04 LTS (Recommended)
Future Support
- Ubuntu 24.04 LTS
- Debian 12
Clone repository
git clone https://github.com/ichandkusuma/SmartDNS.gitEnter project directory
cd SmartDNSGrant execute permission
chmod +x install.shRun installer
./install.shThe installer will automatically configure:
- Hostname
- Timezone
- CPU Threads
- Cache Size
- DNSSEC
- IPv6
- Packet Cache
- DNSDist Web Password
- DNSDist API Key
- Recursive Port
- Frontend Port
- Spoof IPv4
- Spoof IPv6
- Resolver ACL
| Service | Port |
|---|---|
| DNS Resolver | 53 |
| Recursive Resolver | 5300 |
| DNSDist Web UI | 8083 |
Validate DNS responses using DNSSEC.
Uses Unbound as a full recursive DNS resolver.
Optimized packet cache and recursive cache.
Supports both IPv4 and IPv6.
Automatically blocks malicious and restricted domains.
Current source:
- TrustPositif Indonesia
Automatic update every day at Random Time (mirror available).
Domains can bypass blocklist.
Example:
- bri.co.id
- bca.co.id
- bankmandiri.co.id
Support for domains that have DNSSEC validation issues.
Manage DNSDist using a web browser.
Default URL
http://SERVER_IP:8083
| Task | Schedule |
|---|---|
| Blocklist Update | Daily |
| Root Hints Update | - |
During installation SmartDNS automatically generates:
- DNSDist Secret Key
- DNSDist API Key
- DNSDist Web Password
- Optimized Cache Size
- Optimized Thread Count
- Optimized Performance Configuration
- Resolver ACL
SmartDNS/
├── cache/
├── data/
├── engine/
├── output/
├── templates/
├── install.sh
├── uninstall.sh
└── README.md
systemctl restart unbound
systemctl restart dnsdistsystemctl status unbound
systemctl status dnsdistdig @127.0.0.1 google.comIPv6
dig @::1 google.comUnbound
unbound-checkconfDNSDist
dnsdist --check-configss -lntup | grep 53bash data/update-blocklist.shcat cache/secret.envcat /etc/cron.d/smartdnsMIT License
Presented by MyNOC.ID
This project is intended for educational, laboratory, enterprise, ISP and self-hosted DNS environments.
Please test configurations in your own environment before deploying to production.