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

2024-03-18 10:27:18 +08:00
 Tsunayoshi

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

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

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

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

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

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

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

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

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

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

https://yangjunhui.monster/t/1024613

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

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

© 2021 V2EX