展示HN:VirtualDNS – 一种用于私有环境的可编程内部DNS

1作者: virtualdns5 天前原帖
嗨,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>- &#x2F;etc&#x2F;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&#x2F;CoreDNS<p>What it does: - Virtual domains resolvable only inside your project&#x2F;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&#x27;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:&#x2F;&#x2F;virtualdns.io" rel="nofollow">https:&#x2F;&#x2F;virtualdns.io</a><p>Happy to answer technical questions.