dns 防攻击

2015-03-09 00:34:18 +08:00
 holinhot

http://i.imgur.com/S1MKO5L.png

这是我目前运行的dns方案,namaserver用的是powerdns ,如果遭到大量的查询攻击可能一下就死了所以想在nameserver上加一个cache server 由cache server对外提供服务,nameserver只向cache server提供查询服务是否可行。这样对查询攻击只用在cache server做限制就行了

另外nameserver用Bind-DLZ Nameserver PowerDNS Nameserver
和 DNS DynDNS 哪个比较好
我域名量比较大所以nameserver必须上数据库

5065 次点击
所在节点    DNS
32 条回复
zhicheng
2015-03-09 18:56:30 +08:00
@invite 有C10M 的,还要 C500K 的干嘛啊。。。
对于 zone file 不经常修改的,我还有一个办法提高性能,把 zone file 转换成 C struct ,生成 Perfect Hash Function ,C1M 应该不是问题。
holinhot
2015-03-10 09:04:18 +08:00
@bobopu 你是读文件?
holinhot
2015-03-10 09:08:01 +08:00
@zhicheng 这么大的查询量肯定分布式节点了吧。哪有放一个点的
holinhot
2015-03-10 09:10:15 +08:00
@bobopu bind的用file存储域名 几十万个域名就几个万个小文件不玩死才怪
bobopu
2015-03-10 09:31:50 +08:00
@louishothot 是读,写极少。
holinhot
2015-03-10 09:37:48 +08:00
@bobopu 备份方便吗
holinhot
2015-03-10 09:40:56 +08:00
@futursolo 如果最后几分钟的数据掉了也没关系吧。他应该可以向主数据库同步吧。
futursolo
2015-03-10 09:43:13 +08:00
@louishothot
对啊,偶的意思是,你不能将Redis作为主数据库来用,把它当缓存来用。
bobopu
2015-03-10 09:55:41 +08:00
@louishothot 我是将zone记录全写在一个文件里,每个域指向到每个host里,.host存在按照字母排序建立文件夹里,平时新增的域不多,可能应用场景与你不同吧,所以管理起来还算方便。
millken
2015-03-11 10:35:45 +08:00
哥这几天正好在写dns服务器,基于Go,还在写配置部分。https://github.com/millken/mkdns

dns抗查询攻击,以前写过一个linux内核版的,根据请求阀值将UDP转TCP。
https://github.com/millken/kdev/tree/master/kddns
zhicheng
2015-03-12 13:58:39 +08:00
@bobopu
@invite
@sopato
https://github.com/zhicheng/libloop
https://github.com/zhicheng/db
这里有关于那个 DNS 项目的两个关键子项目已经开源,事件循环和存储引擎。

@millken
我也把 Server 写到过内核里,但一般情况下,不太建议这么做。在用户态,服务挂了自动重启就好了。在内核态服务挂了,可能整个系统会宕掉,或者网络栈宕掉。
bobopu
2015-03-13 01:18:29 +08:00
@zhicheng 感谢。

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

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

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

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

© 2021 V2EX