Show HN: VirtualDNS – 可编程的私有环境内部 DNS
1 分•作者: virtualdns•24 天前
Hi HN,
我构建了 VirtualDNS,一个用于私有环境的可编程内部 DNS,因为我每次更改 IP、添加服务或尝试保持多个环境一致时,都会搞垮自己的基础设施。
这并非公共 DNS。它是一个用于内部连接、服务发现和基础设施自动化的私有、多租户 DNS 层。
我构建它的原因:
- /etc/hosts 在不同机器之间漂移
- 内部 DNS 设置没有审计日志
- 由于配置未对齐,导致环境表现不同
- IP 更改悄无声息地破坏服务
- 团队构建自己的“迷你 DNS”脚本
- 仅使用公共域名来测试内部内容
- 私有环境内部传播缓慢
- 希望进行服务发现,但又不想承担 Consul/CoreDNS 的开销
它的作用:
- 仅在您的项目/组织内部可解析的虚拟域名
- 用于负载均衡、故障转移和高可用性的多 IP 记录
- 健康状况排序的 IP 响应
- 完整的解析和修改审计日志
- 带回滚的版本控制更改
- 具有每个项目范围的细粒度令牌
- CLI、SDK 和用于 OS 级解析的守护程序
- 没有公共 DNS,没有 TTL 延迟,没有外部暴露
技术说明:
- 从头开始实现的解析器,独立于 OS DNS,除非使用守护程序
- 域名和记录存储为版本状态(类似提交)
- 每次解析都会记录请求者、令牌、时间戳和元数据
- 项目完全隔离,允许不同组织使用相同的域名
- 多 IP 响应支持基于服务健康状况的重新平衡
- 守护程序充当轻量级本地 DNS 转发器
我正在寻找:
- 处理内部 DNS 或服务发现的人的反馈
- 我应该考虑的边缘情况
- 关于使用托管内部 DNS 的担忧
- 关于集成点的建议(Terraform、WireGuard、Nomad 等)
登陆页面(非常早期):<a href="https://virtualdns.io" rel="nofollow">https://virtualdns.io</a>
乐于回答技术问题。
查看原文
Hi HN,<p>I built VirtualDNS, a programmable internal DNS for private environments, because I kept breaking my own infrastructure every time I changed an IP, added a service, or tried to keep multiple environments consistent.<p>This is not public DNS. It is a private, multi-tenant DNS layer for internal connectivity, service discovery, and infra automation.<p>Why I built it:<p>- /etc/hosts drift across machines<p>- Internal DNS setups with no audit logs<p>- Environments behaving differently because configs weren’t aligned<p>- IP changes silently breaking services<p>- Teams building their own “mini DNS” scripts<p>- Using public domains just to test internal stuff<p>- Slow propagation inside private environments<p>- Wanting service discovery without the overhead of Consul/CoreDNS<p>What it does:
- Virtual domains resolvable only inside your project/org<p>- Multi-IP records for load balancing, failover, and high availability<p>- Health-ordered IP responses<p>- Full audit logs for resolutions and modifications<p>- Versioned changes with rollback<p>- Granular tokens with per-project scopes<p>- CLI, SDKs, and a daemon for OS-level resolution<p>- No public DNS, no TTL delays, no external exposure<p>Technical notes:<p>- Resolver implemented from scratch, independent of OS DNS unless using the daemon<p>- Domains and records stored as versioned states (commit-like)<p>- Each resolution is logged with requester, token, timestamp, and metadata<p>- Projects are fully isolated, allowing identical domain names across orgs<p>- Multi-IP responses support rebalancing based on service health<p>- Daemon works as a lightweight local DNS forwarder<p>What I'm looking for:<p>- Feedback from people who handle internal DNS or service discovery<p>- Edge cases I should consider<p>- Concerns about using a managed internal DNS<p>- Suggestions for integration points (Terraform, WireGuard, Nomad, etc.)<p>Landing page (very early): <a href="https://virtualdns.io" rel="nofollow">https://virtualdns.io</a><p>Happy to answer technical questions.