找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 108444|回复: 600

[12.18 关于MOSDNS]主路ROS+旁路OP 流量分流+DNS分流 最佳方案教程

 火... [复制链接]
发表于 2021-6-6 22:57 | 显示全部楼层 |阅读模式
本帖最后由 tstar 于 2021-12-18 06:12 编辑

【12.18】因为论坛不能用qq密码登录 手机又不想装qq  所以很长一段时间没来了,这次主要是修改一下教程中没有必要的步骤 顺便回答问题。   第四步 op防火墙的自定义可以不用做了,本身s.s.r.p会重新封包。


【7.16】由于china-dns不支持DOH,并且早已停止更新,替代产品china-dns-NG也不支持DOH,所以转投一款更为优秀的DNS工具MOSDNS,经过试用,效果非常满意,功能强大,支持DOCKER,只是配置稍微复杂,如果大家有需要,后期继续更新。



MOSDNS支持 UDP, TCP, DoT, DoH(RFC 8484) 以及 HTTP (没有 TLS 的 DoH, 用于配合反向代理)。
GITHUB可找到相关项目


---------------------------------------------------------------------------------------------------------------------------
PS:原帖为 ROS+OPENWRT的用户看过来 教你ROS流量分流  有很多不完善以及错误的地方 遂废弃。
---------------------------------------------------------------------------------------------------------------------------
最近忙于恶补网络知识,看到原帖有很多网友提出很多问题,很多也很久远,懒于回复,重开新帖,一并解答了。
首先说明一下网络结构以及OP固件版本。
  • ROS作为主路由 ip设为 192.168.2.1 (DHCP服务+DNS缓存服务)
  • OP作为旁路由 IP设为 192.168.2.2  (打倒美帝服务)
  • ADG为自建DNS服务器 IP为 192.168.2.8  (负责国内dns解析 去广告)

请分清楚这三个IP 根据自己实际情况替换。

OP固件为自己云编译的精简版本,科学工具为 S.S.R.P

-----------------------------------------------------------------

首先讲分流,先导入china-IP列表(此列表6.6日生成共8600多条 包含3个局域网段)



ROS创建一条router规则:如下图:


第二步:创建一条防火墙规则 如下图:







以上规则让局域网内所有出国海淘海淘海淘海淘海淘海淘海淘海淘海淘海淘海淘海淘海淘淘海淘海淘...流量路由到OP。
第三步:放行所有OP流量。





其中第五条是指把放行规则放在路由规则之上
第四步:在OP防火墙中添加规则,启用源地址转换,让上面的放行规则生效

  1. #源地址转换,让ROS放行
  2.   iptables -t nat -I POSTROUTING -o eth0  -j SNAT
复制代码

没有删除线 就引用一下 此步骤不再需要 违禁软件本身会重新封包 源地址转换多此一举了

至此,流量分流全部完成。

测试结果:

--------------------------------------------------------------------------

下面讲讲DNS分流,打倒美帝主要两种方式,一种是GFWLIST模式,一种是绕过大陆模式。

如果你是第一种,恭喜你不用继续折腾了。S.S.R.P完美支持。

如果你是第二种,请继续。

先讲讲原因,S.S.R.P的绕过大陆模式,在解析域名的时候,还是会通过GFWLIST列表来判断,哪些域名通过隧道解析,
这就导致有些不在列表内域名只能通过国内解析,必然存在污染的情况。我们只能通过第三方工具来解决了。
更重要的一点是,在CDN服务流行的今天,即使能正确解析,对于你的VPS来讲也不是最优的地址。

---------------------------------------------------------------------------------------------------------

ROS中DHCP服务和DNS服务设置如图所示:





第5步DNS设为OP是因为OP能够获得无污染解析,第6步是使用ROS的DNS缓存服务。
-----------------------------------------------------------------
以上ROS设置完毕,下面我们来到OP的设置。

OP安装china-dns插件,下面是离线安装包,自行安装即可。





开启后如图所示。

先普及一下china-DNS的原理,两个上游服务器,第一个填写国内DNS,第二个是国外DNS(可信DNS),
当收到解析请求时,china-dns会同时向这两个发送请求,
当解析结果在国内时,会选择国内DNS的结果,直接丢弃可信DNS的结果。
当解析结果在国外时,选择可信DNS的结果,而丢弃国内DNS的结果。

解析国内地址时不会等待国外DNS结果到来,会直接采用国内DNS的结果,不用担心时间问题。

具体设置说明:
1.双向过滤:当国外DNS服务器返回的查询结果是国内IP,或者当国内DNS服务器返回的查询结果是国外IP,
则过滤掉这个结果(较为严格的模式);去掉勾选的话只是过滤国内DNS的国外IP结果。
2.S.S.R.P默认端口
3.自带的chinaip列表 通过下面的命令更新:
  1. wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/china-dns_chnroute.txt
复制代码
4.第一个填国内DNS,第二个填国外DNS
OP中开启DNS转发



接下来我们要设置S.S.R.P,把我们使用的国外DNS强制代理。




如果你使用GFWLIST模式,需要关闭DNS转发。

至此,教程结束,后期会分享更多小技巧,感谢捧场。

-----------------------------------------------------------------------------
很多人关心,OP作为旁路,一旦崩掉,会影响正常上网。

其实 ROS只把DNS指向了OP,我们完全可以可以填写一个备用的DNS,就能解决国内上网的问题。

但是ROS还有强大的脚本功能。以下是第二种方法 脚本
实现如下功能

  • 当OP旁路宕机时 自动关闭分流规则,并替换DNS
  • 当OP旁路上线后,自动恢复分流规则,并替换DNS

这里我们要用到ROS的NETWATCH工具 如下图所示:





DOWN脚本:

  1. :local dns "192.168.2.8"

  2. /ip dns set servers=$dns

  3. /ip firewall mangle disable number=1

  4. /ip firewall mangle disable number=2
复制代码


UP脚本

  1. :local dns "192.168.2.2"

  2. /ip dns set servers=$dns

  3. /ip firewall mangle enable number=1

  4. /ip firewall mangle enable number=2
复制代码
DNS 根据自己情况,自行替换。number也根据实际情况替换。

NETWATCH是通过PING来检测主机是否在线,这点要格外注意

此时,你可以填写一个不存在的主机看看脚本是否生效。



















本帖子中包含更多资源

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

×

评分

参与人数 23恩山币 +26 收起 理由
supercctv + 1 太赞了
tudi1909 + 1 你好,久仰卧龙大名,在下凤雏!
linuxunion + 1 你好,久仰卧龙大名,在下凤雏!
幸福搞活的 + 1 面对这种帖子,我内心复杂,真不知道说什么.
szoe + 1 强大的恩山!(以下重复1万次)
yihan01 + 1 虽然没看懂,但大受启发啊1
万虹 + 2 强大的恩山!(以下重复1万次)
放肆小恋人 + 1 niuP
animagi + 1 感谢分享
dvdrm + 1 楼主继续更新呀
yoursismine + 1 工匠精神!顶顶顶顶
appleshow + 1 生活不易,相遇也不易,既然这样,让我们成为朋友一起面朝大海、花开花落……
leoke888 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
lmboy123 + 1 不要怂、就是干!赶紧更新
petruzzi + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
kwz03 + 1 感谢分享,已经用上了
Gulx + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
todayfff + 2 太复杂了 不折腾了
坦克总动员 + 1 CHINA列表能否一个月更新一次或者一季度更新一次呢?
a1693994915 + 1 赢了会所嫩模,输了回家蒸馍!
chess01 + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!来,1分也是分!
virus1999 + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你 E 盘上还有啥一起给我吧
SkyTiger + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-6-8 21:28 | 显示全部楼层
本帖最后由 tstar 于 2021-6-8 21:57 编辑
liukm 发表于 2021-6-8 14:48
你好,我电信移动双线这样设置后访问网络异常的慢。电信用ros拨号,移动用lede拨号,按照你这样设置的,谷 ...

建议从单线测试开始,如果你由额外的防火墙规则 注意先后顺序 遵循FIFO原则
另外你LEDE还用来拨号已经不是旁路设备了,建议拨号全部转移到ROS主路。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-9 19:59 | 显示全部楼层
liukm 发表于 2021-6-9 19:31
国内网速慢的原因我找到了,试用版的问题,我是电信用ros拨号,lede移动播号,我现在遇到的问题是路由非c ...

LEDE拨号的话 应该WAN口直接连了移动的光猫吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-9 20:22 | 显示全部楼层
liukm 发表于 2021-6-9 20:09
是的,移动光猫直接插在lede的直通口上拨号的,能帮我分析下什么原因吗

你这已不是主路旁路的问题了,只是想把外网流量走移动而已。这样的话教程很多设置中就没必要了。

而且会很混乱,问题应该在DNS这一环,DNS走了一个,而流量走了另一个。本身移动 电信的接口带宽就不行。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-9 21:28 | 显示全部楼层
liukm 发表于 2021-6-9 20:46
是的,ros的dns我指向的是运营商的dns,lede是正常出去应该不用怎么设置,我只需要把非china路由表的流量 ...

这里的问题主要是DNS分流。你需要自建一个独立的DNS服务器,出口网关用电信。用ADG就行了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-9 21:53 | 显示全部楼层
liukm 发表于 2021-6-9 21:45
明白了,还是要靠dns来分配,adg全名是AdGuardHome吗

是的,其实流量分流是基于DNS解析的IP,自建DNS服务器走电信网关保证国内地址拿到的全部是电信IP,这样你国内流量走电信,再把出国海淘流量路由到LEDE走移动就行了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-9 22:29 | 显示全部楼层
liukm 发表于 2021-6-9 22:27
明白了,非常感谢,那你这个国内地址的路由表我导入了要不要删除掉

你将来还是要做分流的 不用删
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-10 16:27 | 显示全部楼层
本帖最后由 tstar 于 2021-6-10 17:05 编辑
liukm 发表于 2021-6-10 15:01
我弄了adg,路由表我还是用你的国内ip路由表。但是我发现个问题,adg上游dns我填的是电信的dns和谷-哥的d ...

按教程做DNS分流,ADG只做国内解析 不要填国外DNS。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-13 19:50 | 显示全部楼层
a1693994915 发表于 2021-6-13 16:51
为啥要用2.1  光猫是1.1的话  用2.1是不是又多了一层nat?求解答

光猫桥接后 只有光电转换功能。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-14 15:34 | 显示全部楼层
a1693994915 发表于 2021-6-14 06:50
那个猫是1.1开头  是不是把他们放到1.1的同一个网段会更好些。

光猫桥接后,就只有广电转换的作用了,也就是说子网段是什么都无所谓。当然你如果用光猫拨号或者经常设置光猫,可以在一个子网下,看个人需求。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-14 22:11 | 显示全部楼层
liukm 发表于 2021-6-14 21:25
你好,我遇到个问题,ros:192.168.1.6 openwrt:192.168.1.3  adg:192.168.1.7(5335端口)  ros的dns指 ...

ADG的端口应该是默认的53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-14 22:54 | 显示全部楼层
liukm 发表于 2021-6-14 22:37
哈哈,我以为china-dns设置的5335要把adg改成5335,冒失了,已经搞定了,非常感谢。还有个问题,我要不要 ...

很多问题都是没认真看教程啊
因为你的OP有WAN口 流量直接就出去了 不再经过ROS 就不用设置了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-15 02:32 | 显示全部楼层
本帖最后由 tstar 于 2021-6-15 02:37 编辑
liukm 发表于 2021-6-15 01:46
大佬,我设置好后,不知道为什么我访问淘宝等国内网站返回的还是移动的服务器,adg我还是上游dns设置的是 ...

ADG里看一下查询日志,看看里面解析的ip是电信还是移动。ROS指向OP是什么意思?DNS吗?你的ADG网关要设置成ROS.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-15 15:45 | 显示全部楼层
liukm 发表于 2021-6-15 12:50
adg里面解析的全是国外的dns访问,谷歌啊这些,不知道为什么没有解析国内的,adg网关设置是电信ros。


因为DNS全部由OP负责,你还要把OP的LAN接口 DNS设置成ADG
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-15 16:14 | 显示全部楼层
liukm 发表于 2021-6-15 16:00
这样设置后把谷0哥的解析也接管过来了

这是正常的 教程里已经说了 china-dns会向国内国外两个DNS发送请求,只是会抛弃国内的结果罢了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 13:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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