smartdns
smartdns copied to clipboard
A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
**问题现象** 返回的 TTL 会被强制修改成 rr-ttl-min address.c 里面的这几行。是不是有点问题 ``` case DNS_T_A: { memcpy(request->ip_addr, selected_addr_map->ip_addr, DNS_RR_A_LEN); request->ip_ttl = request->conf->dns_rr_ttl_min > 0 ? request->conf->dns_rr_ttl_min : DNS_SERVER_TMOUT_TTL; tlog(TLOG_DEBUG, "possible result: %s, rcode: %d, hitnum:...
现在,公共DNS的大哥 alidns 和 dnspod ,都开始了限速,每秒20Qps,你只能用付费,同时现在电诈太疯狂,普通的udp dns根本不敢用了,而用DoT或者DoH上面两家送的免费额度,特别是阿里的一下就用完了,像以前那种server添加一堆的太费钱了 这时候就诞生一个新的需求,即主server只用一个DoH或者DoT,然后一个bootstrap的dns用做DNS域名解析,再加一个fallback域名做备份 譬如,先用一个腾讯的DoT做主服务器,用Alidns的DoT做备份服务器 希望下个版本能看到这样的改进,感谢
需求功能: 域名匹配支持正则表达式 需求描述: 现在域名匹配规则根据文档描述,仅支持前缀匹配,不支持后缀或者其它位置,对于 `baidu[0-9]{1,2}` 类似批量域名,除非手动生成,否者非常麻烦。如果支持的话类似 `*.google.[com,jp,fr,sg]` 或者干脆 `.*google.*`一条规则就全部搞定 google 相关域名了。 > 域名通配 > ... > /domain/域名匹配规则符号。 > > // 通配 > *-a.example.com > // 仅匹配子域名 > *.example.com > //...
**需求应用场景** 在白名单DNS分流场景下,默认DNS采用国外可信DNS解析(gfw组),大陆域名采用多上游国内DNS解析(chn组),这需要一个足够好的域名白名单,目前很多采用这个项目的大陆域名的方案:[accelerated-domains.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/accelerated-domains.china.conf),但是这个项目没有强制规定解析出的ip一定在大陆区域,而是NS服务器在国内都算。  所以是实际测试下来这个域名列表里的很多域名实际解析到国外的IP地址,从图中(自己撸的一个smartdns audit日志分析器,随机测试了100个accelerated-domains.china.conf名单里的域名,有17个解析到国外地址)可以看出,这四个域名虽然在accelerated-domains.china.conf里,但是解析到了国外地址。并且解析耗时比较高(>250ms),解析到的ip,ping测速也比较大。 **建议的方案** 而我希望: 1. 这些由国内DNS服务器解析出的国外地址加入到一个单独的ipset中,这样我可以在iptables里决定这部分域名是走直连还是走代理,这可能就需要一个ipset-fliter功能,比如我将chnroute作为whitelist_ip,ipset-fliter可以通过chnroute判断将解析结果加入到哪个ipset里。大概这样:`-ipset /whitelist_ip/ #4:chnlist;gfwlist,#6:chnlist6;gfwlist6` 2. 同样的,测速的时候,我不希望测accelerated-domains.china.conf所有解析的ip,而是想测accelerated-domains.china.conf里解析出来,在白名单里的ip,所以需要speed-check-fliter功能测速前,看ip地址是否在白名单内,比如:`-speed-check-filter:whitelist_ip`
**回退后正常启动。** 
**问题现象** 简要描述问题出现的现象 **运行环境** 1. 固件型号 Kwrt 24.10-SNAPSHOT 06.01.2025 by Kiddin' / LuCI openwrt-24.10 branch 26.150.60207~e459c57 2. 运营商 3. smartdns来源以及版本 4. 涉及的配置(注意去除个人相关信息) **重现步骤** 1. 上游DNS配置。 2. 访问的域名。 **信息收集** 1. 将/var/log/smrtdns.log日志作为附件上传(注意去除个人相关信息)。 2....
# ======================== # DNS服务器组 (IPv4 Only) # ======================== # 国内组 - 主用 # 主用 server 223.5.5.5:53 -group cn -exclude-default-group server 119.29.29.29:53 -group cn -exclude-default-group server 114.114.114.114:53 -group cn -exclude-default-group #...
对 smartdns.service 进行加固,具体内容如下: 使用非特权用户运行服务 ``` DynamicUser=yes ``` ``` RuntimeDirectory=smartdns #创建可写的 `/run/smartdns` 目录,用于PIDFile LogsDirectory=smartdns #创建可写的 `/var/log/smartdns` 目录,用于日志 CacheDirectory=smartdns #创建可写的 `/var/cache/smartdns` 目录,用于持久化缓存 ``` 因为有了 `RuntimeDirectory`,这里不再需要 `@RUNSTATEDIR@` ``` PIDFile=/run/smartdns/smartdns.pid ``` 因为 /etc/smartdns/smartdns.conf [默认](https://github.com/pymumu/smartdns/blob/05e076602e759b5af732c42c364547a7d941790c/Makefile#L67)为...
当上游DNS服务器使用以域名形式指定的DoT(DNS over TLS)或DoH(DNS over HTTPS)协议时,如果域名过滤规则中包含了这些上游DNS服务器的域名,会导致域名解析失败。导致无上游可用。 例如,添加加密通道拦截列表:https://adguardteam.github.io/HostlistsRegistry/assets/filter_52.txt 时,就会出现这种现象。 PS:修改的不一定合适,因为不太了解那几个flag的用法,可能添加一个新的flag标记会更优雅些。