内网dns是什么
公司内网里那台DNS服务器,内网比你家路由器里的内网DNS重要得多。你家里断网了,内网大不了打运营商电话骂一顿。内网公司内网DNS挂了,内网整个办公区可能直接瘫痪——OA打不开、内网代码推不上去、内网连食堂刷卡系统都跟着遭殃。内网这不是内网夸张,我见过一次。内网
那次是内网下午两点,运维群里突然炸了。内网有人说Jenkins连不上,内网有人说GitLab页面转圈,内网还有人发现共享盘也消失了。内网排查了二十分钟,最后定位到内网DNS的解析记录被一次误操作覆盖了。恢复花了一刻钟,但整个研发部门那半天基本报废。这就是内网DNS的分量。
它到底在干什么
内网DNS,说白了就是一套只服务于内部网络的域名解析系统。你访问git.company.local、oa.intra、wiki.corp这些地址,公网DNS根本不知道它们是谁。内网DNS负责把这些内部域名翻译成对应的IP地址,让流量找到正确的机器。
和公网DNS最大的区别在于:它不对外。你没法从家里直接解析到公司的jira.internal,除非你连了VPN。这种隔离本身就是一层安全屏障——外部攻击者连你内部有哪些服务都摸不到。
另一个区别是,内网DNS通常还承担着服务发现的功能。微服务架构里,一个服务可能有几十个实例,IP随时在变。内网DNS配合注册中心,让服务之间通过域名互相调用,而不是硬编码IP。这对运维来说省了太多事。
为什么不能直接用公网DNS
有人会想,把内部域名也注册到公网不就行了?不行。原因很直接:安全。你的内部拓扑、服务命名、机器分布,这些信息暴露在公网DNS上,等于把家底摊给所有人看。而且公网DNS解析有延迟,内部服务调用走公网绕一圈,性能也说不过去。
还有个现实问题:很多公司内网用的是私有IP段,比如10.x.x.x、172.16.x.x,这些地址在公网DNS上根本无法解析。内网DNS是唯一能处理这些地址的解析器。
常见的坑
内网DNS最容易出问题的地方,是配置同步。大公司往往有多个DNS服务器做冗余,如果主从同步延迟或者配置不一致,就会出现“有的人能访问,有的人不能”的诡异现象。我遇到过一台机器死活解析不了内部Wiki,换台电脑就正常,最后发现是那台机器指向的DNS从节点没同步到最新记录。
另一个坑是缓存。TTL设得太长,改了记录半天不生效;设得太短,DNS查询压力又扛不住。这个平衡点得根据实际场景调,没有万能值。
还有一点,很多人忽略了内网DNS的监控。公网DNS有各种在线工具可以测,内网DNS出问题往往要等用户报障才发现。至少应该对核心域名的解析做定时探测,别等OA打不开了才去查。
怎么选
小团队用dnsmasq就够了,轻量、配置简单,跑在一台低配机器上都能撑住。中型公司可以考虑BIND或者CoreDNS,功能更全,支持动态更新和转发策略。再大一些的规模,可能就需要结合Consul、etcd这类服务发现工具来做动态DNS了。
选什么不是最重要的,重要的是有人管。内网DNS这东西,平时没人注意,出事就是大事。给它配个监控,定期检查同步状态,比什么都强。









