Developed and maintained by MyNOC.ID
SmartDNS is an automated DNS Resolver Platform designed for ISP, Enterprise, VPS, and Self-Hosted environments.
Built around Unbound and dnsdist, SmartDNS automatically detects server hardware, calculates optimal performance settings, deploys a production-ready recursive DNS resolver, and configures supporting services with minimal user interaction.
Starting from v1.0.0, SmartDNS also includes built-in telemetry and heartbeat monitoring to help manage installations and software versions.
- 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 Health Check
- Automatic Timezone Configuration
- Automatic Hostname Configuration
- Smart Scheduler (Cron)
- Interactive Installation Wizard
- Automatic Heartbeat (Every 5 Minutes)
- Built-in Telemetry
- Monitoring Dashboard
- Node Inventory
- Statistics Dashboard
| Component | Minimum |
|---|---|
| CPU | 2 Core |
| RAM | 2 GB |
| Storage | 10 GB SSD |
| Network | Public IPv4 |
| Root Access | Required |
| Component | Recommended |
|---|---|
| CPU | 4 Core or Higher |
| RAM | 4 GB or Higher |
| Storage | 15 GB SSD or Higher |
| Network | IPv4 + IPv6 |
| OS | Ubuntu 22.04 LTS / Debian 12 |
- ✅ Ubuntu 22.04 LTS
- ✅ Debian 12
- ⚠ Ubuntu 24.04 LTS (Experimental)
git clone https://github.com/ichandkusuma/SmartDNS.git
cd SmartDNS
bash install.shUpdating uses the same installer.
cd SmartDNS
git pull
bash install.shExisting installations are automatically upgraded while preserving:
- UUID
- Telemetry Data
- Runtime Information
- Existing Configuration
- Scheduler
The installer automatically configures:
- 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
- UUID
- Heartbeat Registration
| Service | Port |
|---|---|
| DNS Resolver | 53 |
| Recursive Resolver | 5300 |
| DNSDist Web UI | 8083 |
- DNSSEC Validation
- Recursive Resolver
- DNS Cache
- IPv4 & IPv6 Support
- DNS Blocklist
- Domain Whitelist
- Domain Insecure
- DNSDist Web UI
| Task | Schedule |
|---|---|
| Heartbeat | Every 5 Minutes |
| Blocklist Update | Daily |
During installation SmartDNS automatically generates:
- UUID
- DNSDist Secret Key
- DNSDist API Key
- DNSDist Web Password
- Optimized Cache Size
- Optimized Thread Count
- Resolver ACL
- Installation Metadata
SmartDNS/
├── cache/
├── data/
├── docs/
├── engine/
├── lib/
├── output/
├── scripts/
├── templates/
├── VERSION
├── install.sh
└── README.md
Restart services
systemctl restart unbound
systemctl restart dnsdistCheck status
systemctl status unbound
systemctl status dnsdistTest DNS
dig @127.0.0.1 google.com
dig @::1 google.comCheck configuration
unbound-checkconf
dnsdist --check-configManual Heartbeat
/usr/local/bin/smartdns-heartbeatView Installation Metadata
cat /var/lib/smartdns/install.jsonView Installation Path
cat /var/lib/smartdns/install.envView Dnsdist Web Password
cat cache/secret.envView Cron
cat /etc/cron.d/smartdns
cat /etc/cron.d/smartdns-heartbeatSmartDNS automatically sends a heartbeat every 5 minutes.
Collected information:
- Version
- UUID
- Operating System
- CPU
- Memory
- DNSSEC Status
- IPv6 Status
- Query Log Status
- Smart Tuning
- First Seen
- Last Seen
SmartDNS does not collect DNS queries, customer traffic, resolver cache, or personal information.
See CHANGELOG.md
MIT License
Presented by MyNOC.ID
SmartDNS is intended for educational, laboratory, enterprise, ISP, and self-hosted DNS environments.
Always validate configurations in your own environment before deploying to production.
Made with ❤️ in Indonesia by MyNOC.ID