dnspod-sr简介

简介

dnspod-sr 是一个运行在 Linux 平台上的高性能的递归 DNS 服务器软件,具备高性能、高负载、易扩展的优势,非 BIND 等软件可以比拟。

特性

  • 高性能,比所有流行的开源 DNS 软件性能高出2倍以上
  • 安全,能抵御一般攻击
  • 稳定,有效降低解析失败率
  • 主动刷新缓存,响应速度更快
  • 易于扩展,非常容易部署
  • 防污染,能够正确解析被污染域名

问题

  • 不支持PTR反解析;
  • 增加配置参数文件,解决现在需要通过修改代码修改配置的问题,如- fetcher和quizzer线程数等,并可以通过动态加载部分参数实现不停机修改部分配置;
  • 在最近更新中因存在问题而去掉的A记录提前组包功能;
  • 红黑树如果自动刷新所有记录尚存在问题;
  • 代码整理、包括风格、函数调用和无用代码清理等;
  • 增加在程序崩溃时将缓存记录转储到磁盘的功能;
  • 较老版本内核和32位系统的兼容性测试等。

性能

dnspod-sr 依托于 DNSPod 多年运营和优化 DNS 服务的经验,针对国内复杂的网络情况,对递归 DNS 进行了一系列的优化,比较其他开源软件,性能得到大幅提升。

测试环境

千兆网卡,4核 CPU,4G 内存,Linux 64位系统。

性能测试

dnspod-sr: 15万 qps
BIND 9.9: 7万 qps
unbound 4.7: 8万 qps

Benchmark
在这里插入图片描述

解决方案

架设 dnspod-sr 集群,替换各大运营商目前基于 BIND 的陈旧方案,减少运营成本
公司、学校、政府等组织内部 DNS,解析外部不可见的私有域名,提高上网速度

快速开始

下载源码:

git clone https://github.com/DNSPod/dnspod-sr.git
cd dnspod-sr
或者下载压缩包:

https://github.com/DNSPod/dnspod-sr/zipball/master
编译源码:

cd src
make
运行
./dnspod-sr

后台启动运行 nohup ./dnspod-sr >/dev/null 2>&1 &
启动报如下错误:

# ./dnspod-sr 
set affinity fetcher failed,  may be the cpu cores num less than (FETCHER_NUM + QUIZZER_NUM + 1)
set affinity quizzer failed, may be the cpu cores num less than (FETCHER_NUM + QUIZZER_NUM + 1)
set affinity quizzer failed, may be the cpu cores num less than (FETCHER_NUM + QUIZZER_NUM + 1)
[DBG:] dnspod-sr is successful running now!!
[DBG:] max_ele_size is 1000000 - 1808
[DBG:] server may contain 332730 useful records
[DBG:] hash_table_size is 65536
[DBG:] we have 10 hash tables
[DBG:] we have 2 fetchers,2 quizzers
dnspod-sr: author.c:438: release_qoutinfo: Assertion `val == (void *)mbuf' failed.
CPU配置太低,换一台机器就可以了。

注意:root.z的最后一行一定要一个空行,否则最后一条记录解析不到。
若指定NS服务器,需要修改配置文件:sr.conf默认配置文件为当前目录下的 sr.conf,也可以在命令行参数中指定
./dnspod-sr /path/of/sr.conf
如果需要为特定域名指定DNS服务器,以 xfer 开头:

xfer:
googleusercontent.com.:8.8.8.8
google.com.:8.8.8.8
itil.com.:10.6.18.41
facebook.com.:8.8.8.8
twitter.com.:8.8.8.8
flickr.com.:8.8.8.8
akamaiedge.net.:202.106.0.20
edgekey.net.:202.106.0.20
youtube.com.:8.8.8.8
s-static.ak.facebook.com.edgekey.net.:8.8.8.8
:

最后一行以:结束。以上的几个域名解析请求都会中转到8.8.8.8上。
配置日志文件目录(可选)

log_path:
../log/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值