github pymumu/smartdns Release37.1
Release 37.1

latest releases: Release43, Release42, Release41...
2 years ago

配置建议:
smartdns的默认配置,适合作为主DNS使用,已经支持大部分场景的DNS查询体验改善,一般情况只需要增加上游服务器,无需做配置修改
如有配置修改,请务必了解其用途,避免修改后起到反作用。

更新内容:

  1. 解决接收到异常数据包导致的crash问题。
  2. 解决server group组配置在cache启用时不生效的问题。
  3. 增加local-ttl参数,指定address返回的TTL。
  4. 解决二次转发时,查询DNS服务器IP地址返回127.0.0.1的问题。

最近更新历史:

功能:

  1. 支持返回多IP地址,优化下载、视频播放体验。
    第一个IP地址仍然为最快,保证大部分软件体验,并支持设置返回IP个数,参数:max-reply-ip-num(此功能需要开启cache)
  2. 支持读取dnsmasq dhcp文件,解析局域网主机功能,参数:dnsmasq-lease-file [/path/to/lease-file]。
  3. 支持设置首次请求响应模式,参数:response-mode, 值:
    • first-ping:最快ping响应地址模式,DNS上游最快查询时延+ping时延最短,查询等待与链接体验最佳。(当前默认)
    • fastest-ip: 最快IP地址模式,查询到的所有IP地址中ping最短的IP。DNS查询时间最长,IP链接最短。(之前模式)
    • fastest-response: 最快响应的DNS结果,DNS查询等待时间最短。
  4. 支持设置ECS。
  5. speed-mode支持设置三种测速模式,之前版本为两种。
  6. 优化docker镜像大小为3MB。
  7. 双栈优选支持主动优选IPV6地址避免链接V4地址:参数:dualstack-ip-allow-force-AAAA yes。(实验性功能)
  8. 双栈优选支持设置预取周期,参数:serve-expired-prefetch-time [second]
  9. 支持非root模式运行,提升服务安全性,参数:user [username]
  10. 支持缓存除A,AAAA类型的其他结果,如SRV,TXT,NXDOMAIN等。提升查询性能。
  11. 优化并行查询性能,合并同类型查询。
  12. 支持查询smartdns服务的IP地址,用于检测smartdns服务是否正常。如:dig smartdns返回路由IP。
  13. 支持自动检测IPV6运行环境,自动开启/关闭IPV6相关功能。
  14. Auditlog支持记录多IP地址。
  15. 支持无PID文件启动smartdns多实例,-pid -进程启动参数。
  16. 优化smartdns日志打印,避免无效打印,和收到无效数据包的打印,以及优化配置错误的提示。

BUG修复:

  1. 解决TTL某些场景下不变化的BUG。
  2. 解决IPSET在某些场景下丢失问题。
  3. 解决日志打印引发的进程死锁和IP冲突问题
  4. 解决其他若干crash问题。
  5. 解决华硕路由器中,cache无法持久化的BUG。
  6. 解决openwrt中,提示端口冲突的BUG。
  7. 解决smartdns github版本和debian版本冲突的问题。
  8. 解决双栈优选的一些BUG。
  9. 解决其他crash问题。
  10. 清理代码中潜在的问题。
  11. 避免查询风暴。

注意:

  1. 此版本默认情况下,会启用多IP能力,会出现第一次查询返回一个IP,后面再次查询返回多个IP的情况,属于正常的功能。注意和之前版本区分。
  2. cache建议开启,并保证持久化功能开启,这样才能获得多IP查询能力。
  3. smartdns是否正常,可用dig smartdnsping smartdns.检查(注意,windows下后面的.是必须)
  4. 如需小体积smartdns,请自行编译,或从openwrt官方opkg install smartdns安装。
  5. 阿里云公共DNS 223.5.5.5/223.6.6.6不建议使用tcp/tls模式,阿里云公共dns不支持tcp的pipeline模式,会导致查询异常。
  6. 如家里有苹果设备,请增加force-qtype-SOA 65参数,阻止iOS设备查询HTTPS相关的信息,避免使smartdns对iOS设备失效。

如有问题请在github提交issue或改进代码。

Don't miss a new smartdns release

NewReleases is sending notifications on new releases.