Problem:
- When --accept-dns=true is used, MagicDNS (100.100.100.100) becomes
the only DNS resolver for systemd-resolved
- If MagicDNS fails to forward external queries, domains like
google.com become unreachable
- This commonly occurs due to network latency or connectivity issues
Solution:
- Add configure_dns_fallback() function to quick-install.sh
- Create /etc/systemd/resolved.conf.d/headscale-fallback.conf
- Set FallbackDNS to 1.1.1.1, 8.8.8.8, 168.126.63.1 (Korea DNS)
- Add external DNS verification test in verify_connection()
- Support non-systemd systems via /etc/resolv.conf modification
Result:
- MagicDNS continues to work for *.headscale.local internal domains
- External domains resolve via fallback DNS when MagicDNS fails
- Installation script verifies DNS resolution before completion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>