Mosdns + adguardhome +passwall ,实现 dns 国内外分流、bt 下载直连和 ipv6 正常使用

16 天前
 maxus
用了一段时间,速度很快,分享一下

系统环境:
openwrt 主路由,安装 MosDNS v5.3.1 ,adguardhome 核心版本:0.107.52 ,passwall 4.69-4

逻辑:
1 ,mosdns 国内外分流、DNS 缓存、防 DNS 泄漏,由 mosdns 包揽 openwrt 所有解析
2 ,adguardhome 屏蔽网站,可跟踪全屋访问的网站,上游 dns 设置为 mosdns
3 ,passwall 翻墙,bt 直连,上游 DNS 设置为 adguardhome

Mosdns 设置:
1 ,监听端口:5335
2 ,DNS 转发,不勾选
3 ,勾选,远程 DNS 首选 IPv4 、自定义国内 DNS 、Apple 域名解析优化
4 ,其他选项随意

adguardhome 设置:
1 ,后台设置:6060 重定向:选择 用 53 端口替换 dnsmasq

2 ,打开 AdGuardHome 进入安装向导,
点击 “开始配置”
a,网页管理界面,监听接口:选择 所有接口,端口:3000
b,DNS 服务器,监听接口:选择 所有接口,端口:5388
c,其他选项随意

3,管理页面设置:
a,上游 DNS 服务器 127.0.0.1:5335 (即 mosdns ),选择负载均衡
b,其他都不选不填,拦截模式选空 ip
c,DNS 缓存配置,全部留空不选(因为 DNS 缓存由 Mosdns 负责)
d,其他选项随意

passwall 设置:
1,DNS
a,选择 过滤代理域名 IPv6
b,过滤模式:选择,通过 UDP 请求 DNS
c,远程 DNS:自定义 127.0.0.1:5388 (即 adguardhome)
d,当使用中国列表外时的默认 DNS:选择 直连 DNS

2,高级设置
a,TCP 不转发端口:填写 BT 端口/ UDP 不转发端口:填写 BT 端口
b,TCP 转发屏蔽端口:不使用
c,UDP 转发屏蔽端口:QUIC
d,TCP 转发端口:常用的
e,UDP 转发端口:DNS
f,TCP 代理方式:Tproxy
g,其他不填不选

3 ,访问控制,点击添加
a,源地址,选择 bt 客户端的 ip 地址
b,前四项选择默认
c,TCP 转发端口:填写 BT 端口/UDP 转发端口:填写 BT 端口
d,TCP 代理模式:不代理/UDP 代理模式:不代理
e,TCP 节点:默认/UDP 节点:默认

Openwrt 的 DHCP/DNS 设置
1 ,服务器设置——常规设置:DNS 转发留空,其他默认
2 ,服务器设置——高级设置:DNS 服务器端口:5388 ,,其他默认

Openwrt 防火墙——自定义规则
```
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
[ -n "$(command -v ip6tables)" ] && ip6tables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
[ -n "$(command -v ip6tables)" ] && ip6tables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
```

ios adguardhome 管理 app https://apps.apple.com/us/app/adguard-home/id1667119601?l=zh-Hans-CN
2926 次点击
所在节点    DNS
44 条回复
xbin
16 天前
感觉有点乱,5388 端口到底谁在用? 是 adguardhome 还是 dnsmasq?
maxus
16 天前
@xbin 不会乱的,已经用几个月了,adguardhome 自己的 dns 端口是 5388 ,他的上游交给 mosdns,dnsmasq 交给 adguardhome
52acca
16 天前
mosdns 还是用配置文件更灵活
GoldenLeez
16 天前
有点懵,adguardhome “选择 用 53 端口替换 dnsmasq”,后面又设置 dns 监听端口 5388 。那么 adguardhome 监听的到底是 53 还是 5388 ,还有 dnsmasq 监听的端口被替换成什么了?
maxus
16 天前
@GoldenLeez 懵不懵,想用,自己配置完,自己测试就行了,不想用,可以直接无视。
我觉得好用只拿出来分享,不负责解释
maxus
16 天前
按照上面配置完,全屋的网关和 dns 设置为 openwrt 的 ip 地址即可,不需要添加任何端口。打开 adguardhome, 可以看到全屋设备的网址访问历史, 打开 mosdns 日志可以看到 lazy_cache 缓存数量。

如果有人不理解配置内容,本人不做解释,只负责分享
showgood163
16 天前
想问一下 LZ mosdns 的分流方案来源是?
maxus
16 天前
@showgood163 内置预设,手动配置
国内 https://1.12.12.12/dns-query https://223.5.5.5/dns-query
国外 1.1.1.1 和 8.8.4.4

GeoIP & GeoSite 数据库 自动更新
864766428
16 天前
以前也折腾过各种方案,包括但不限于 passwall 、bypass 、v2ray 、passwall2 、openclash 、shellclash 、mosdns 、smartdns 、adguardhome 等,最后还是 dae ,配置文件写好,放着不用管了,ipv6 正常,bt 直连,不看查询记录也习惯了,不会强迫症一样时不时看一下记录,机器只要不断电就和不存在一样
maxus
16 天前
@864766428 不知道 DAE 是什么,反正这个 DNS 分流和缓存方案,实现国内外网页快速打开,又能屏蔽几十万条垃圾网站和跟踪网站,如果有个人域名,可以设置成自己的私人 dns ,在外面使用
864766428
16 天前
@maxus 搜 GitHub dae 就有了,imm 的软件包里直接可以下载,采用 eBPF 技术,自带分流,国内直通,无泄漏,你折腾的所有功能都有
maxus
16 天前
@864766428 不要,我要 adguardhome 的订阅屏蔽网站功能,自动更新。
mosdns 的国内外域名,自动更新。
yuchenr
16 天前
对,我现在也是 dae,啥也不用管。
jqtmviyu
16 天前
反感在上级路由使用 dns 过滤广告, 误伤了排查和设置太麻烦.
同理也不在路由上装翻墙软件. 一挂全挂.
Kale
16 天前
DNS 广告拦截基本没用,还是需要浏览器插件。
TimeStudy
16 天前
很折腾 不如直接 mosdns + singbox 来的直接
HalloCQ
15 天前
adguardhome 就能分流,mosdns 多此一举
Kale
15 天前
@HalloCQ 不能。除非你搞两个 ADH
maxus
15 天前
评论五花八门,还有说反感在路由器安装翻墙的,你不用不代表别人不用。
还有什么 dae 的,你的一劳永逸,别的的也一样一劳永逸。
还有说路由器去广告没效果的,路由器是屏蔽跟踪网站的,肯定无法隐藏网页元素,当然需要配合浏览器插件使用。
Earsum
15 天前
@Kale adgh 其实有分流功能,可以指定某个域名用哪个 dns 服务器解析,不过整理起来有点麻烦

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

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

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

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

© 2021 V2EX