19 年的时候推荐过 smartdns ( t/629205 ),今天再推荐一个,就是 mosdns ,说下原因:
smartdns 有个 bug ,关闭测速和带有 cname 的域名都会导致 TTL 不变,进而导致这个域名的缓存不刷新,带来的影响就是动态域名不更新或正常的域名 IP 变更也不会更新。
mosdns 拥有 smartdns 的几乎所有功能,正好可以拿来替换,就是配置稍复杂,特别注意 tab 产生的空格会导致配置文件无效。
目前也用了 2 个多月了,稳定性没有问题,有兴趣的可以尝试。
1
choutou 2022-02-06 18:00:49 +08:00 via iPhone
臭宝 你用什么 doh 啊 分享一下
|
2
MrCurly 2022-02-06 18:02:02 +08:00 via iPhone
mosdns 前几天在我的 openwrt 上折腾了下,忘了是啥问题,反正就不能用,最后还是回归 smartdns 了…
|
3
sky96111 2022-02-06 18:07:02 +08:00 via Android
AdGuardHome 关掉广告过滤拿来做 dnsmasq 上游也很不错
|
4
hzqim 2022-02-06 19:32:15 +08:00
#Dnsmasq 好像只能单线程查询,性能较弱,添加正则查询用于分流
#Adguard Home 是刚需,大缓存,可修改 TTL ,拦截广告追踪 #目前中国移动的 IPV6 已不错 我的方案: Client -> AdH(listen:127.0.0.1:53) -> Dnsmasq(listen:127.0.0.1:54,CN_Upstream:127.0.0.1:55,Other_Upstream:127.0.0.1:56) -> SmartDNS(listen:127.0.0.1:55,Ali_DOH_ipv4&6;listen:127.0.0.1:56,GOOGLE_DOH_ipv4_only) |
5
bitdepth 2022-02-06 19:40:23 +08:00
那給作者報 bug 啊
|
6
ZeroClover 2022-02-06 19:57:02 +08:00 1
@hzqim 都有 AdGuardHome 了,看不懂 dnsmasq 存在的意义是什么
|
7
hzqim 2022-02-06 22:55:15 +08:00
@ZeroClover 谢谢你的质疑。
本方案中的 Dnsmasq 打了正则补丁,能根据域名关键字(不局限于 example.com 的形式)匹配上游 DNS 服务器。非常方便定制自己的域名列表。 看了 AdGuardHome 的 wiki ,它也能分流。但不能匹配关键字,只能匹配合法的域名或泛域名。虽有现成的 list ,但体积都在 1MiB 左右。 |
8
sky96111 2022-02-06 23:41:21 +08:00 via Android
@ZeroClover OpenWrt 只有用内置的 dnsmasq 的时候,luci 主机名命名和本地主机名解析 IP 地址才有效。不然多一次查询开销谁乐意
|
9
yaott2020 2022-02-06 23:54:55 +08:00 via Android
这个不错,我一直在用。主要是支持 if ,复杂操作都可以胜任
|
10
zro 2022-02-07 00:13:47 +08:00
一直嫌这个配置有点复杂,没开始用。。有没有默认配置的模板啊?😁
|
11
carrionlee 2022-02-07 08:52:17 +08:00
我已经稳定使用半年多了~~
|
12
brMu OP @zro 这是我的配置,规则是 gfwlist 域名用远程 DNS 解析,其他域名用本地 DNS 解析,以本地为优先,确保不会将本地域名解析到国外,个别需要用远程 DNS 解析的放到 mylist 列表。
log: level: info file: '/tmp/mosdns.log' plugin: - tag: server type: server args: entry: - hosts - mem_cache - main_sequence server: - protocol: udp addr: 127.0.0.1:53 - protocol: udp addr: 192.168.2.1:53 - protocol: tcp addr: 127.0.0.1:53 - protocol: tcp addr: 192.168.2.1:53 - tag: 'mem_cache' type: 'cache' args: size: 65536 lazy_cache_ttl: 259200 lazy_cache_reply_ttl: 5 - tag: 'modify_ttl' type: 'ttl' args: minimal_ttl: 300 maximum_ttl: 3600 - tag: main_sequence type: sequence args: exec: - if: - gfwlist exec: - _prefer_ipv4 - forward_google - ipset - modify_ttl - _return - if: - '!gfwlist' exec: - _prefer_ipv4 - forward_cn - modify_ttl - _return - tag: forward_cn type: forward args: upstream: - addr: tls://dns.pub - addr: tls://223.5.5.5 bootstrap: - 119.29.29.29 - 223.5.5.5 - tag: forward_google type: fast_forward args: upstream: - addr: tcp://8.8.8.8 - addr: tcp://1.1.1.1 idle_timeout: 60 - tag: 'ipset' type: 'ipset' args: set_name4: 'gfwlist' set_name6: '' mask4: 0 mask6: 0 - tag: gfwlist type: query_matcher args: domain: - 'ext:./gfwlist.conf' - 'ext:./mylist.conf' - tag: 'hosts' type: 'hosts' args: hosts: - 'ext:./hosts' |
13
moxuanyuan 2022-02-07 10:01:19 +08:00
之前在軟路由 op 中折騰 smartdns ,過年前重裝了 op ,沒配置 smartdns ,只在 Turbo ACC 中開了 DNS 缓存,感覺沒什麼區別。。現在不明白當初爲什麼要折騰 dns 。。。
|
14
brMu OP |
15
wagsoft 2022-02-07 10:25:51 +08:00
捣鼓 DNS 的目的是啥?
难道能直连 GFW 不让连的? |
16
moxuanyuan 2022-02-07 10:43:34 +08:00
@brMu #14 op 中的出国软件都自带 dns 分流和缓存。。超长时间缓存,并发查询、修改 TTL 、DoT ,感觉都是伪需求。。
|
17
Rilimu 2022-02-07 12:43:15 +08:00 via Android
在用。神器。
if 很灵活。有需要直接 if 。一个程序解决,不用套娃其他 dns 。而且可以 IP 分流。 个人感觉单域名分流是大坑。域名是可以随便注册和改 IP 的,所有的域名表其实都是大佬们收集的。所以域名表理论上是不可能全的而且变动很大。所以可能有很多域名都被错误分流了。但人们只会感觉网慢了但不知道原因。IP 可是严格分配制的。域名顶多能白名单分流。只有 IP 才能地域分流。 用域名来地域分流,不在域名表里的域名能不能正确分流全靠运气。 曾经也是 adh yyds ,现在换了,就知道 ip 分流多有用了。 还有 redis 外部缓存也是神技,要多大有多大,重启路由都不怕。 |
19
Rilimu 2022-02-07 12:53:59 +08:00 via Android
配置确实难。但是作者还有个不用配置的 mosdns-cn 。以 cn 结尾没错就那个意思。我跟我朋友都推荐这个。自动安装开箱就用。不想折腾的可以去看看。
|
20
brMu OP |
21
Rilimu 2022-02-07 17:25:25 +08:00
@brMu 对。IP 分流误判也很烦。以前网易云什么的经常变国外。但自从加上域名后分流就再也没遇到过问题了。猜测误判的 ip 都是大公司的,然后大公司的域名都被大佬们收录了。两种分流一起用完美取长补短体验就很好。只是带这功能的软件不多。
|
22
brMu OP @Rilimu mosdns 的默认分流配置我也用过,也遇到过问题,支付宝里的网商银行打不开,后来干脆放弃了(不希望以后有什么打不开就怀疑到分流),直接白名单吧,国外要访问的网页也就那几个,主要还是国内,当然适合自己的才是最好的
|
23
dudulangjiao 2022-03-26 20:50:45 +08:00
我也发现了 某些网站的域名解析会报错,要多次刷新才可以
|
24
fcymk2 2022-05-15 22:16:28 +08:00
试了下, 真好用..从 coredns 转过来了.
|