DNS 分流防污染软件 mos-chinadns 踩坑分享

2020-07-11 09:53:40 +08:00
 Rilimu
很好用的软件。配置起来算是最简单的了。可惜是新软件详细教程很少。默认配置文件直接拿来用还有坑。之前 openwrt 摸爬滚打终于成功配置上了。在这里给 v 友分享一下踩过的坑。

虽然“开箱即用”,但配置文件里:
local 默认是 223.5.5.5 udp,不能防运营商劫持。要换 doh 。
remote 默认是 1.0.0.1 dot 。丢包超严重,基本上不能用。由于没有能稳定直连的服务器,最后选择了通过 socks5 走代理。

openwrt 的坑:
默认监听地址会和 dnsmasq 冲突,要改。
必须要装 ca-bundle 包。否则 doh 和 dot 都会报错不能连接。(太坑了,找了很久原因,最后从隔壁 smartdns 看到了....

windows:
除了配置文件默认服务器要改,目前没有遇到其他坑。用作者的脚本一键安装就行了。👍

最后,Windows 上运行一个,防止出门连其他 WiFi 的时候被劫持。路由器上和 smartdns 一起用。国内 CDN 友好而且还能分流防污染。

太香了,完全不后悔折腾。感谢开源大佬们的无私奉献。

现在就是还不知道有什么办法能自动更新大陆 IP 和域名表。每次都是隔一周手动更新然后重启。
3733 次点击
所在节点    DNS
45 条回复
shikkoku
2020-07-11 10:06:18 +08:00
默认监听端口 53 被占用的问题,要把 dnsmaq 的端口改成 0 禁用。
shikkoku
2020-07-11 10:08:12 +08:00
local 我记得默认配置是同时配置了 dot 和 doh 的。
terrytw
2020-07-11 11:16:06 +08:00
能详细介绍一下和 smartdns 怎么一起用么
Rilimu
2020-07-11 11:30:50 +08:00
@shikkoku 没。虽然默认 dot 和 doh 参数都填好了。但 protocol 是`udp`....极具迷惑性....

@terrytw smartdns 不要设置分流,只用国内 dns 服务器。然后设置成 mos-chinadns 的 local 服务器。就可以了。
terrytw
2020-07-11 11:47:00 +08:00
@Rilimu 原来如此,谢谢分享
之前试过 openwrt 自带的 https-dns-proxy,总有些奇怪的问题
现在试试这个看看
zro
2020-07-11 12:49:48 +08:00
@terrytw #5 hdp 我都弃用了,还是 stubby 好用,不知 mos-chinadns 跟开启 add-subnet 的 dnsmasq 比,会好在哪?🤔
看起来好像差别不大,而且空间占用得还大。。
shikkoku
2020-07-11 16:47:24 +08:00
我装了 ca-bundle 都不行,阿里的连接改成 dot 或者 doh 都解析不了。

用 wiki 的命令测试会这样提示

root@OpenWrt:~# mos-chinadns -c config.yaml -dir2exe
INFO[0000] main: mos-chinadns ver: v1.2.0-0-g5e173f3
INFO[0000] main: arch: amd64 os: linux
INFO[0000] main: current working directory: /usr/bin
FATA[0000] main: can not load config file, open config.yaml: no such file or directory

配置文件路径是
/etc/mos-chinadns/config.yaml
/etc/mos-chinadns/chn.list
/etc/mos-chinadns/chn_domain.list
AoTmmy
2020-07-11 16:57:51 +08:00
smartdns 也能防污染,用 blacklist
shikkoku
2020-07-11 17:34:50 +08:00
确实有点坑踩的,我试着 DOH 工作不太正常去问作者,作者才告诉我,addr: "223.5.5.5:53"上的端口号要随 dns 类型改,例如 DoT 是 853,DoH 是 443 。虽然我应该留意到下面的 remote 配置里 1.0.0.1 的端口号默认是用了 853 的并且类型是 DoT 的。
Rilimu
2020-07-11 18:22:28 +08:00
我主要是分流用。

真的比我之前用的 overture 和 dnsmasq 分流方案都高效的多。在我小路由上,overture ip+域名分流最卡,有请求时 30%CPU 占用。dnsmasq 只能域名分流,占 20%。前两者请求多了容易直接 100%。mos-chinadns 最多只见到 2%占用(怪不得作者的介绍页 20%都在强调高性能,虽然看不懂...

@zro 感觉性能上确实有点区别。

而且到目前为止分流还没出错过。dnsmasq 经常出错。

也试过 chinadns-ng,但要编译太难了放弃了。

就是作者的教程什么都没写,全是坑啊啊啊啊啊。你这坑我也踩了过..... @shikkoku
shikkoku
2020-07-11 18:42:38 +08:00
@Rilimu #10

每个人的使用环境都不一样。Openwrt 的碎片化也很严重。全都写进 wiki 不现实。

相信对于已经开始折腾 dns 的玩家来说,这些都是小问题。——IrineSistiana

作者原话。
Rilimu
2020-07-11 18:48:58 +08:00
@zro #11

确实,最后发现踩到的坑都是常识问题。对小白可能不友好。

刨去踩的坑。配置完其实很快很简单。
zro
2020-07-11 19:07:25 +08:00
@Rilimu #10 我一直在用 dnsmasq,没发现会出什么错,开启 add-subnet 都不用考虑分流,上游是支持 EDNS 的 DNS 就可以,挂代理拿到的结果跟直连的结果可以是一样的~~
Rilimu
2020-07-11 19:19:55 +08:00
@zro 还有这种操作?

大佬,能详细说一下嘛。👀
zro
2020-07-11 19:37:48 +08:00
@Rilimu #14 在 /etc/dnsmasq.conf 添加“add-subnet=x.x.x.x/24,x.x.x.x/24”,x.x.x.x 换成你本省 ISP 的 IP,第二个 x.x.x.x/24 可以不要,也可以换成 X::Y:Z/64 之类的本省 IPv6,之后保存退出重启 dnsmasq~~

至于上游 DNS,我是首选 Google 的,其次是 NextDNS,因为 Google 的 EDNS 貌似支持的比较好。。
terrytw
2020-07-11 21:27:34 +08:00
同样遇到坑,分享一下
如果是配合 luci 的科学软件的话,卸载了 chinadns 之后原来的 chnroute.txt 也被一并删除了,所以绕过的列表要改
改成 chn.list 是可以的,但是要把 chn.list 里所有 ipv6 的地址删除,否则 ss-rules 一直报错
gesse
2020-07-12 01:54:44 +08:00
作者已经这两天被你们“气得删库跑路了” 😁

“This project is no longer maintained.”
evilvoy
2020-07-12 02:04:20 +08:00
看到楼上我笑喷了
natsji
2020-07-12 02:23:57 +08:00
ssplus 不是自带 dns 分流吗,非大陆的直接从服务器查询 dns
natsji
2020-07-12 02:26:15 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689092

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX