Loading... ## 摘要 灵感来自YouTube博主不良林的分享:https://www.youtube.com/watch?v=BAfbkLizFGc&t=1272s 但其中用到的“HomeProxy”这个代理插件在旁路由模式下,设备端连接插件的socks5服务器,会出现idm无法调用socks5代理的情况,表现为一些被墙的网站资源无法下载;但其实这个插件已经很强大了,若是以主路由模式运行openwrt,建议可以跟着不良林的分享进行配置,相比open clash解决dns泄露来说要简单很多。 软路由系统:openwrt by ImmortalWrt | https://firmware-selector.immortalwrt.org 所需插件: * mosdns | https://github.com/sbwml/luci-app-mosdns * open clash | 在系统的软件仓库搜索安装 ### Tip mosdns插件安装方式: ``` opkg update # 更新软件源 opkg install curl # 安装curl sh -c "$(curl -ksS https://raw.githubusercontent.com/sbwml/luci-app-mosdns/v5/install.sh)" # 安装mosdns ``` ~~截至目前最新版本是5.3.1-1,演示用的openwrt是安装在x86虚拟机中,需要下载以下4个ipk软件包,按照下方顺序安装~~ * ~~安装图形界面依赖:v2dat_2022-12-15-47b8ee51-1_x86_64.ipk~~ * ~~安装图形界面【会自动安装mosdns】:luci-app-mosdns_1.5.20_all.ipk~~ * ~~安装汉化包:luci-i18n-mosdns-zh-cn_git-23.319.54348-e79a991_all.ipk~~ ### mosdns配置 基础配置参考图示 其中国内dns为阿里DOH:`https://dns.alidns.com/dns-query` | 可以在下拉菜单选择“阿里云公共 DNS(DNS over HTTPS)”或填入地址后也会自动识别 远程dns为Google DOH:`https://dns.google/dns-query` | 需要下拉到末尾选项,在手动输入框填写后回车保存 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/2015584793.webp) 高级选项设置,其余设置可以自己看心情调整,并发最大支持4 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/3619271544.webp) 最后勾选更新数据库并且手动更新一次,做完这步可以运行mosdns并且点击“保存和应用”按钮 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/51409788.webp) ### DHCP 设置dns转发,端口填mosdns的端口,默认是5335 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/794525916.webp) 关闭本地解析,做完这步可以运行mosdns并且点击“保存和应用”按钮 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/491062163.webp) ### 接口设置 修改接口dns为路由器IP ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/572620582.webp) ### openclash 参考图示设置 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/1246158138.webp) 禁用dns劫持和缓存 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/2667821583.webp) dns设置方面,参考图示,其中nameserver和fallback第一位dns服务器都设置为127.0.0.1,端口是mosdns的5335端口,udp协议,其余的dns服务器全部取消勾选,注意default-nameserver里有默认勾选的dns服务器也要全部取消勾选,做完以上,可以运行open clash ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/316807720.webp) ## 旁路由 确定客户端以什么方式上网,若是直接修改固定IP+dns的模式,那么dns需要设置为旁路由IP,若是使用路由提供的socks5代理,例如在Google浏览器中使用“SwitchyOmega”插件单独设置socks5代理,那么需要在主路由中设置dns为旁路由IP,否则socks5方式连接旁路由依旧会造成dns泄露 防止dns泄露的核心原理还是在于将dns交给配置好mosdns的设备进行代理 ## 测试 打开测试网址:https://ipcheck.ing/#/pingtest,查看dns泄露测试,例如站长用的是美国的服务器,那么出口地区显示美国 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/1735014726.webp) 另一个dns泄露测试地址:https://browserleaks.com/dns,出口也同样是美国由Google解析 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/350104436.webp) ## 写在最后 在决定用mosdns前是尝试过在open clash内部配置相对完善的规则进行分流,但还是无法避免dns泄露的问题,目前的解决办法还是稍微麻烦了一些,给出已经格式化好的规则文件,感兴趣可以自行研究,数据截至文章发布最新,来自https://github.com/MetaCubeX/meta-rules-dat/tree/sing/geo-lite open clash格式化数据下载[共11137条规则]:[open clash格式化规则集](https://apoptoxin4869.com/download/file?cid=87) ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/07/1477674916.webp) 最后修改:2024 年 08 月 23 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏
4 条评论
你的文章内容非常专业,让人佩服。 http://www.55baobei.com/TEgTH3nufb.html
你的文章内容非常用心,让人感动。 http://www.55baobei.com/EVHaUthy1T.html
up用clash的话,ipv6是不是彻底关了?
对,因为服务器只有ipv4地址