v1.1.0
Release v1.1.0
New Features
- Relay DNS Support: Forward unmatched queries to upstream DNS servers
- Configure via
DNS_RELAY_SERVERS
environment variable - Support multiple upstream servers with failover
- Automatic server validation and error handling
- 5-second timeout per server
- Configure via
Improvements
-
Enhanced DNS resolution strategy:
- Check local records first
- Forward to relay servers if no local match found
- Try multiple relay servers in sequence
-
Better environment variable handling
- Improved validation of relay server addresses
- Better error messages and logging
- Support for comma-separated server lists
Configuration
New Environment Variables
# Single upstream server
DNS_RELAY_SERVERS=8.8.8.8
# Multiple servers with failover
DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1
Documentation
- Updated Kubernetes deployment guide
- Added relay DNS configuration examples
- Enhanced troubleshooting guide
- New testing examples for relay functionality
Bug Fixes
- Fixed environment variable parsing
- Improved error handling in DNS resolution
- Better validation of server addresses
Examples
Docker Run
docker run -d \
--name nanodns \
-p 5353:5353/udp \
-e DNS_PORT=5353 \
-e DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1 \
-e "A_REC1=app.local|192.168.1.10" \
ghcr.io/mguptahub/nanodns:latest
Docker Compose
services:
dns:
image: ghcr.io/mguptahub/nanodns:latest
environment:
- DNS_PORT=5353
- DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1
- A_REC1=app.local|192.168.1.10
Testing
# Test local records
dig @localhost -p 5353 app.local
# Test relay resolution
dig @localhost -p 5353 google.com
Contributors
@mguptahub and the NanoDNS community
Upgrading
No breaking changes from v1.0.0. Simply update to the new image version:
docker pull ghcr.io/mguptahub/nanodns:v1.1.0