找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31102|回复: 97

【2023年最新版】OpenWrt使用小猫咪103版本+Mosdns v5进行分流组网详细教程

 火.. [复制链接]
前言
之前本人一直使用 https://www.right.com.cn/forum/thread-4050290-1-1.html 这个帖子里的方案,使用了几年,有点腻了,再加上mosdns的兴起,于是便有了此篇帖子,希望大家玩的开心。

一、插件版本介绍及安装方法
首先,本教程基于openwrt x86版本上进行演示,在arm版本上也测试通过,固件内需要安装luci-app-open克拉什,luci-app-mosdns,mosdns-v5。
不知道自己的openwrt内有没有这几个的,可以去【系统-软件包】里查看一下,如果你的固件内没有内置,你可以去自行下载,然后在【系统-文件传输】内上传上去,直接点击安装即可(在openwrt联网状态下安装,这样会自动安装所需依赖)
这里给一个实时更新插件的网站:https://op.supes.top/packages/

二、小猫咪+Mosdns完整配置
1、Mosdns配置
下载我准备的压缩包,将解压后的rules文件夹完整放到插件的配置文件夹即可,路径是/etc/mosdns/
然后登录openwrt后台,按下图设置即可

打开mosdns,在自定义设置里面,将压缩包里的config.yaml里的内容复制过来,点击保存
【2023年8月25日更新】
近期我给另一个机器配置oopenwrt时发现其自带的mosdns已经与之前的不同,多了一个api用来检测mosdns是否运行,这应该也是导致下面评论很多人说不能运行的问题。
改进方法为:将我这个自定义配置文件前两行替换为以下代码即可
  1. log:
  2.   level: info
  3.   file: "/tmp/mosdns.log"

  4. api:
  5.   http: "0.0.0.0:9091"

  6. include: []
复制代码

在启动自定义配置即可,设置完之后mosdns的端口为9953

测试mosdns是否成功启动的方法:在openwrt的命令行里面输出
  1. opkg update && opkg install bind-dig bind-libs  #安装dig
  2. dig baidu.com @127.0.0.1 -p 9953  #测试mosdns
复制代码
如果最后输出ip,就说明成功,如果输出error或者connection refused,就说明失败。

我的压缩包里配置了很多东西,包括国内外分流,去广告,等等,可以自己看看

2、小猫咪设置

小猫咪设置较为复杂,务必一步步跟着操作。【多图预警】
首先需要更新好内核,然后准备好一个订阅或者配置文件,保证插件能正常运行,状态如下:

在此基础上,可以进行详细配置。

2.1、插件配置
打开【模式设置】,根据自己喜好任选一种模式,我推荐tun混合模式

打开【流量控制】,路由本机代理 打开,实验性:绕过 IP 打开,禁用 QUIC仅允许常用端口流量 根据自己需要打开

打开【DNS设置】,本地 DNS 劫持 优先选择使用Dnsmasq转发,如果后续使用中不满意,再换另一个,禁止 Dnsmasq 缓存 DNS 打开

打开【IPV6设置】,如果你需要ipv6,就全开,如果你不需要,就全不开

其他没提到的可以自己决定用不用,设置完成记得保存,刷新网页,再看看有没有没保存成功的。

2.2、覆写设置
打开【DNS设置】,自定义上游 DNS 服务器 一定要选中,然后下面的dns列表,要把其他所有的勾全部去掉,再给每个里面添加一条自定义的dns(来自于上面设置的mosdns。即让mosdns做open克拉什的上游),如图
nameserver

fallback

default-nameserver

记得端口一定是9953,不然等于没用到mosdns。

其他没提到的可以自己决定用不用,设置完成记得保存,刷新网页,再看看有没有没保存成功的。

三、防火墙设置
和上一篇教程一样,设置完上述插件之后,如果你是旁路由,需要在防火墙内加一行代码,防止回环。

  1. iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE
复制代码
注意:如果你的lan口不是br-lan,需要自己改一下上面的代码,一般为eth0。


记得设置lan口的dns为127.0.0.1,仅此一个。

四、旁路由设置
如果你的设备是旁路由,而且你需要给旁路由增加IPV6的功能,可以按下面操作。
打开网络-接口-添加新接口
然后按图设置

然后点防火墙设置,与lan口一起就行

然后保存并应用,即可。

五、总结
本人在玩了很长的dns链路之后已经索然无味,于是目前只用了这一套很简单的,够用,稳定即可。
本教程为个人总结而来,也许有些不合理的地方,欢迎大家讨论。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
17858*** + 1 大佬好
j24*** + 1 写的不错!

查看全部评分

感谢分享,思考中。。。
回复

使用道具 举报

谢谢楼主分享
回复

使用道具 举报

感谢大神的教程
回复

使用道具 举报

好东西
回复

使用道具 举报

按照你的步骤弄了之后上不了网。。
日志里全是这种:
2023-04-07T12:24:38.636+0800        WARN        forward_remote        upstream error        {"uqid": 301, "qname": "test.steampowered.com.", "qtype": 1, "qclass": 1, "upstream": "tls://8.8.8.8", "error": "failed to dial, read tcp 192.168.1.2:34392->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:38.636+0800        WARN        udp_server        entry err        {"query": {"uqid": 301, "client": "::ffff:127.0.0.1", "qname": "test.steampowered.com.", "qtype": 1, "qclass": 1, "elapsed": "5.372432ms"}, "error": "upstream tls://8.8.8.8: failed to dial, read tcp 192.168.1.2:34392->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:38.643+0800        WARN        forward_remote        upstream error        {"uqid": 302, "qname": "test.steampowered.com.", "qtype": 1, "qclass": 1, "upstream": "tls://8.8.8.8", "error": "failed to dial, read tcp 192.168.1.2:34430->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:38.643+0800        WARN        udp_server        entry err        {"query": {"uqid": 302, "client": "::ffff:127.0.0.1", "qname": "test.steampowered.com.", "qtype": 1, "qclass": 1, "elapsed": "6.402289ms"}, "error": "upstream tls://8.8.8.8: failed to dial, read tcp 192.168.1.2:34430->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:39.062+0800        WARN        forward_remote        upstream error        {"uqid": 303, "qname": "dns.google.com.", "qtype": 1, "qclass": 1, "upstream": "tls://8.8.8.8", "error": "failed to dial, read tcp 192.168.1.2:34484->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:39.062+0800        WARN        udp_server        entry err        {"query": {"uqid": 303, "client": "::ffff:127.0.0.1", "qname": "dns.google.com.", "qtype": 1, "qclass": 1, "elapsed": "10.076ms"}, "error": "upstream tls://8.8.8.8: failed to dial, read tcp 192.168.1.2:34484->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:39.071+0800        WARN        forward_remote        upstream error        {"uqid": 304, "qname": "dns.google.com.", "qtype": 1, "qclass": 1, "upstream": "tls://8.8.8.8", "error": "failed to dial, read tcp 192.168.1.2:34526->8.8.8.8:853: read: connection reset by peer"}
2023-04-07T12:24:39.072+080
回复

使用道具 举报

 楼主| | 显示全部楼层
nmj1994 发表于 2023-4-7 12:30
按照你的步骤弄了之后上不了网。。
日志里全是这种:
2023-04-07T12:24:38.636+0800        WARN        forward_remote         ...

你是哪步有问题?国内也没网吗?可以试下修改mosdns配置文件
回复

使用道具 举报

OEONE 发表于 2023-4-7 14:13
你是哪步有问题?国内也没网吗?可以试下修改mosdns配置文件

我是按照步骤配置的,弄完之后国内的网也没了
回复

使用道具 举报

 楼主| | 显示全部楼层
nmj1994 发表于 2023-4-7 14:22
我是按照步骤配置的,弄完之后国内的网也没了

我还是不知道你哪步出现的问题,你可以尝试将2.1步骤中本地dns劫持关闭,这样会恢复网络,然后排查下是哪里的故障
回复

使用道具 举报

OEONE 发表于 2023-4-7 14:30
我还是不知道你哪步出现的问题,你可以尝试将2.1步骤中本地dns劫持关闭,这样会恢复网络,然后排查下是哪 ...

好像是端口问题,我把端口改成5335就能上网了,你脚本里写的也是5335
回复

使用道具 举报

 楼主| | 显示全部楼层
nmj1994 发表于 2023-4-7 14:47
好像是端口问题,我把端口改成5335就能上网了,你脚本里写的也是5335

我的mosdns里是9953,你用其他的等于放弃了mosdns,也就没有任何效果
回复

使用道具 举报

绑定 不错
回复

使用道具 举报

服务器类型都是UDP吗?看不清啊
回复

使用道具 举报

nmj1994 发表于 2023-4-7 12:30
按照你的步骤弄了之后上不了网。。
日志里全是这种:
2023-04-07T12:24:38.636+0800        WARN        forward_remote         ...

你还真信啊 哈哈哈哈哈我们只是看看
回复

使用道具 举报

来了来了 支持楼主 试试效果
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-21 11:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表