由于某些原因,DNS解析到的部分域名会不正确。
该项目使用GOLANG开发的DNS服务器后台,并支持内存进行结果缓存。
FDNS项目以实现以下功能:
1.可识别域名所属国家,国内归属的域名走国内解析,国外的域名归属走国外解析。
2.可对结果进行缓存并回复给客户端,完成正确的域名解析。
3.作为插件形式运行在ROS的X86版本里。
更新版本:2.1
时间:2025.03.14
更新内容:支持FDNS在docker内运行,已经实测在ros和linux里用docker运行良好,并且支持arm和x86平台。在正式环境已稳定运行半年以上。
更新版本:2.0
时间:2024.07.15
更新内容:修复了WEBGUI里重新加载黑名单,自定义解析等操作后,没有调用清空缓存。导致需要等到缓存超时后才会生效的BUG。优化了调用逻辑,增加稳定性。
更新版本:1.9
时间:2023.12.02
更新内容:新增自定义解析名单,可以在配置文件里写正则规则,匹配的域名将仅前往指定DNS服务器解析。
更新版本:1.8
时间:2023.10.24
更新内容:新增WEBUI状态页面,可以方便在WEB里查看FDNS运行状况。WEB状态页面里包含了每小时的解析请求数量,缓存命中状态,上游DNS回复延时及失败情况,境内境外缓存比例等数据。方便进行排错和优化。
更新版本:1.7
时间:2023.09.30
更新内容:修复了缓存模块在高并发下数据溢出的BUG。优化了解析判断逻辑,提升效率。可以自定义域名归属地内存缓存时间,范围为1-365天。优化保存域名归属地到硬盘的流程,调整写入硬盘间隔为120分钟。
更新版本:1.6
时间:2023.09.03
更新内容:增加域名屏蔽模块,可使用正则式对域名进行屏蔽,屏蔽后将无法解析匹配的域名。支持使用配置文件调度正则式,支持热更新。
更新版本:1.5
时间:2023.08.23
更新内容:当解析域名时,将该域名归属地判断结果记录到内存数据库。下次直接调用归属地结果,提高解析效率,降低误判概率。每10分钟保存该数据库到硬盘,方便下次重启后载入。该缓存最大允许缓存80W条。每7天清空一次缓存。经过测试整体解析性能提升25%以上。支持动态在线更新归属地特征,避免造成更新时业务中断。
更新版本:1.4
时间:2023.07.22
更新内容:修改参数文件调度为相对路径,兼容多开环境。
更新版本:1.3
时间:2023.04.20
更新内容:提高IPV6解析的缓存效率。
更新版本:1.2
时间:2023.04.15
更新内容:修正了部分云主机平台兼容性问题,当无法获取到MAC时可手动指定MAC来作为网络授权验证。
更新版本:1.1
时间:2023.02.26
更新内容:可按境内境外域名区分是否返回AAAA记录,如果是境内域名则同时返回A/AAAA记录,如果是境外域名则仅返回A记录。
更新版本:1.0
时间:2023.01.04
更新内容:修正快速TTL同步功能对CNAME类型不生效的问题。修复收到DNSSEC解析内容后,返回客户端造成MACOS系统响应迟钝的BUG。
更新版本:0.9
时间:2021.09.15
更新内容:在上游DNS服务器返回DNS回复为空时不进行缓存。避免因为出现特殊的网络情况,导致解析部分域名出现异常。
更新版本:0.8
时间:2021.03.31
更新内容:添加网络认证模块,可以授权外部非信任机器运行,周期循环进行网络认证,认证失败核心模块将暂停工作,等待认证成功才会继续工作。
更新版本:0.7
时间:2021.03.01
更新内容:添加配置文件判断是否开启快速TTL同步。不开启快速TTL同步则所有解析结果都统一缓存固定的时长,开启快速TTL同步则TTL小于600秒的解析结果按实际TTL剩余时长缓存,大于600秒的按600秒缓存。
更新版本:0.6
时间:2021.02.16
更新内容:添加配置文件判断是否返回IPV6结果。可以通过过滤IPV6结果来提高效率,还可防止处于V4V6双栈网络里的终端调用V6结果导致选路优化失败。
更新版本:0.5
时间:2021.01.28
更新内容:优化解析代码,停用PTR解析,处理在极端环境下由于缓存不到PTR记录存在阻塞的问题。
更新版本:0.4
时间:2020.06.08
更新内容:优化解析代码,提高效率。在超过500台终端的环境测试提供DNS服务,性能及效果良好。
更新版本:0.3
时间:2020.5.23
更新内容:修复碰个别域名出现特殊情况无法解析的BUG。
更新版本:0.2
时间:2019.11.06
更新内容:优化性能,修复作为插件在ROS里运行时出现解错误的BUG。