关于企业内部自建 DNS,来和大佬了们取取经

277 天前
 Tsunayoshi

最近在做企业内自建 DNS 的升级,我们要自己搭建一套 DNS 服务,借这个题和大家一起讨论讨论目前企业内的 DNS 大家都是怎么玩的。

目前看主流的其实有多种方案,比如 bind ,powerdns ,coredns ,当然也有用 dnsmasq 的。不过目前随着我们的发展,dnsmasq 基本已经不适用于我们了,性能太低。最终我们选择了 bind 进行的构建。

然后现在我们有大概 20 多个分公司吧,然后每个公司都需要做差异化的管理,配置不太一样,当然目前管理方式比较 lowb ,就是手动人工管理。管理成本比较高吧。然后现在想做一个简单的管理工具,想实现集中化的管理,不一定非得要做成平台,但是肯定是以那种工具化的方式纳管,我想用 mysql ,把所有的解析记录保存起来。之前了解过 bind-dlz ,但是我们需要差异化管理,又不能每个分公司都搞一套 mysql ,感觉这样维护压力更大了。

所以我想的是自己搞一套中心管控节点,然后设计一个表,能保存所有的解析记录,然后每次查询动态生成配置推送到对应分公司的主节点,实现变更,当然我不知道有没有这么干的哈。。。所以问问大佬们,你们一般都怎么维护。感觉互联网上这一类的资料比较少,要不就是直接用 WindowsDNS 的。

6256 次点击
所在节点    DNS
68 条回复
kkocdko
277 天前
没弄过这么大规模的,很好奇楼主的用途。我之前在实验室里弄的主要是为了劫持一些内网域名,省得每个人都改 hosts ,其他的就直接转发了。
imlonghao
277 天前
dnscontrol.orf
imlonghao
277 天前
s/orf/org/
testcaoy7
277 天前
首先搞清楚企业内自建 DNS 的目的:
1 、内部网络非常大,甚至需要内部自己使用自己的顶级域名,那么需要的就是 Authoritative DNS Server
解决方案:Bind ,另外捷克互联网中心开发的 Knot DNS 口碑也挺不错的( https://www.knot-dns.cz

2 、需要的是缓存( Caching )解析结果,降低公司外网压力
解决方案:Unbound
ho121
277 天前
要不试试 powerdns ?纯 api+数据库操作,没有配置文件
gksec
277 天前
谢邀,工作相关,有接触到国内大型的甲方。
互联网企业可以追新,喜欢弄一些些花里胡哨的新技术,也见过用 Bind 的
传统/体制内 大甲方基本都是直接用域环境 + WindowsDNS

如果你们那有域环境建议直接 WindowsDNS , 如果单纯只用 DNS 楼上说的可以
ho121
277 天前
@ho121 数据库也可以做主从同步,意味着在中心节点改记录,自动同步到边缘节点
Tsunayoshi
277 天前
@kkocdko 用途的话就是内网解析使用,我们有很多内部系统,所以会单独的维护一套办公网的 DNS 。
Tsunayoshi
277 天前
@testcaoy7 大佬,是的,目前我们最大的办公事务所内部员工不到领完人,这也是我们之前从 dnsmasq 换到 bind 的原因。
Tsunayoshi
277 天前
@ho121 powerdns 我们也简单调研过。用的话,我们就得引入两套,把 powerdns 以及对应的 powerdns-recursor 都给引入进来。所以目前我们是用的 binddns + unbound 作为自建递归 dns 的方式。但是没有太深入的使用,不知道是否支持不同职场进行差异化的管理。因为会有一些仅供办公网内部的权威域和一些特殊的劫持的策略。每个职场都不太一样
testcaoy7
277 天前
@Tsunayoshi 说真的,建议采购现成的解决方案,省心省事
Tsunayoshi
277 天前
@testcaoy7 话是那么说,不过贵呀,哈哈。其实我们之前最早的时候没想自己搞,因为自己搞不管是说配置管理还是说自建 DNS 都是挺麻烦的。我们之前联系过 bluecat 问过。他们家搞 dhcp 和 dns 挺好的。但是价格太贵了。大几百万
testcaoy7
277 天前
@Tsunayoshi 自建不光是麻烦,而且会有些幺蛾子问题,更何况你还要劫持

或者你试试 Sophos Firewall 的家庭版,免费的,就是别让 Sophos 知道你在商用……
Kaiyuan
277 天前
额,政府单位的操作是,发份文件下去叫他们自己改电脑 hosts 。没错,全省的都这样,有些有设备维护的单位就在路由器上设,乡镇下边会是改自己电脑。
mohumohu
277 天前
windows 的最简单好用,AD 域方案非常成熟。
mytsing520
277 天前
用 bind 写
一台 DNS 主控,主打管理
两到四台 DNS 是 slave ,主打服务,用一个 VIP 面向公司内部网络提供解析,开启递归

这是我的建议
hefish
277 天前
帮公司省下的钱,进个人账户吗?如果能进,哪怕十个点,那也是极好的。
lcy630409
277 天前
AdGuardHome
他不香么,图形化设置,每个分公司来一个 做解析和缓存, 上级 dns 指向当地或者总公司的地址
lcy630409
277 天前
而且 AdGuardHome 的解析配置文件可以自己写规则
fxxkgw
277 天前
我搞了个 dns 系统,管理公司内网十来万个域名和几十万主机正反解
用的 bind
web 负责配置
物理机做 bgp+Anycast ,部署 bind 服务和终端
另有专门 bind 负责校验配置是否正确,正确才下发
还有流量监控、转发配置、流量存储、禁封等等模块

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1024613

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX