展示HN:VirtualDNS – 一种用于私有环境的可编程内部DNS
嗨,HN,
我创建了VirtualDNS,一个可编程的内部DNS,专为私有环境设计,因为每次我更改IP、添加服务或尝试保持多个环境一致时,总是会破坏自己的基础设施。
这不是公共DNS。它是一个用于内部连接、服务发现和基础设施自动化的私有多租户DNS层。
我为什么要构建它:
- /etc/hosts在不同机器间漂移
- 内部DNS设置没有审计日志
- 环境行为不一致,因为配置未对齐
- IP更改悄然破坏服务
- 团队各自构建“迷你DNS”脚本
- 仅为测试内部内容而使用公共域名
- 私有环境内部传播缓慢
- 希望实现服务发现而不增加Consul/CoreDNS的开销
它的功能:
- 仅在您的项目/组织内部可解析的虚拟域名
- 用于负载均衡、故障转移和高可用性的多IP记录
- 健康状态排序的IP响应
- 完整的解析和修改审计日志
- 版本化的变更和回滚
- 具有项目范围的细粒度令牌
- CLI、SDK和用于操作系统级解析的守护进程
- 没有公共DNS,没有TTL延迟,没有外部暴露
技术说明:
- 解析器从零开始实现,独立于操作系统DNS,除非使用守护进程
- 域名和记录作为版本化状态存储(类似提交)
- 每次解析都会记录请求者、令牌、时间戳和元数据
- 项目完全隔离,允许在不同组织中使用相同的域名
- 多IP响应支持基于服务健康的重新平衡
- 守护进程作为轻量级本地DNS转发器工作
我希望得到的反馈:
- 来自处理内部DNS或服务发现的人的反馈
- 我应该考虑的边缘案例
- 关于使用托管内部DNS的顾虑
- 集成点的建议(Terraform、WireGuard、Nomad等)
着陆页(非常早期): [https://virtualdns.io](https://virtualdns.io)
欢迎提出技术问题。
查看原文
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.