恩山无线论坛

标题: [12.18 关于MOSDNS]主路ROS+旁路OP 流量分流+DNS分流 最佳方案教程 [打印本页]

作者: tstar    时间: 2021-6-6 22:57
标题: [12.18 关于MOSDNS]主路ROS+旁路OP 流量分流+DNS分流 最佳方案教程
本帖最后由 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固件版本。

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

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

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

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


ROS创建一条router规则:如下图:
[attach]479019[/attach]

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

[attach]475780[/attach]

[attach]475781[/attach]

[attach]475782[/attach]

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

[attach]475785[/attach]

[attach]475786[/attach]

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

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

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

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

测试结果:
[attach]475811[/attach]
--------------------------------------------------------------------------

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

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

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

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

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

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

[attach]475792[/attach]

[attach]475793[/attach]

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

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

[attach]475794[/attach]

[attach]475795[/attach]

开启后如图所示。

先普及一下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转发

[attach]479557[/attach]

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



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

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

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

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

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























作者: zxy1733713379    时间: 2021-6-6 23:04
学习学习大佬
作者: 六七五    时间: 2021-6-7 01:40
学习演习学习
作者: liukm    时间: 2021-6-8 14:48
本帖最后由 liukm 于 2021-6-8 15:11 编辑

你好,我电信移动双线这样设置后访问网络异常的慢。电信用ros拨号,移动用lede拨号,按照你这样设置的,谷哥提示不是加密连接,访问国内网站很慢,tracert追踪路由显示国外是需要经过lede的网关的,国外网站提示不是加密连接也访问不了
作者: h476760789    时间: 2021-6-8 16:37
确实不错,向大佬学习。
作者: cdrw12    时间: 2021-6-8 17:00
这比之前的详细了很多
作者: mssongj    时间: 2021-6-8 19:37
从老方案过来的,看看有何不同?
作者: tstar    时间: 2021-6-8 21:28
本帖最后由 tstar 于 2021-6-8 21:57 编辑
liukm 发表于 2021-6-8 14:48
你好,我电信移动双线这样设置后访问网络异常的慢。电信用ros拨号,移动用lede拨号,按照你这样设置的,谷 ...

建议从单线测试开始,如果你由额外的防火墙规则 注意先后顺序 遵循FIFO原则
另外你LEDE还用来拨号已经不是旁路设备了,建议拨号全部转移到ROS主路。

作者: lmboy123    时间: 2021-6-8 21:37
感谢楼主分享
作者: yj520025    时间: 2021-6-8 22:04
学习一下,很强大啊

作者: hjs198629    时间: 2021-6-8 22:32
看看怎么样
作者: rastyu    时间: 2021-6-8 22:42
感谢分享感谢分享
作者: js_hzlz    时间: 2021-6-9 07:17
谢谢分享,学习学习
作者: oh_Jhon    时间: 2021-6-9 08:12
向大佬学习
作者: hzd88    时间: 2021-6-9 08:48
学习!!谢谢分享!!!
作者: 飞雪天堂    时间: 2021-6-9 09:27
学习标记一下。
作者: karl_null    时间: 2021-6-9 09:47
优秀,好文章
作者: karl_null    时间: 2021-6-9 09:48
,楼主专业,学习了
作者: nagravison    时间: 2021-6-9 09:54
看得一愣一愣的
作者: 雪夜流星    时间: 2021-6-9 09:58
不错  学习中
作者: haoquan    时间: 2021-6-9 10:15
学习一下,虽然感觉有点复杂。
作者: kankee    时间: 2021-6-9 11:54
这操作不错,学习
作者: an1860a    时间: 2021-6-9 11:56
想了解这个!!!!!!!!!!!!!!!
作者: liukm    时间: 2021-6-9 19:31
本帖最后由 liukm 于 2021-6-9 19:54 编辑
tstar 发表于 2021-6-8 21:28
建议从单线测试开始,如果你由额外的防火墙规则 注意先后顺序 遵循FIFO原则
另外你LEDE还用来拨号已经不 ...

国内网速慢的原因我找到了,试用版的问题,我是电信用ros拨号,lede移动播号,我现在遇到的问题是路由非china的指向lede后,只要通过lede的网站都访问不了,防火墙规则都是默认的。我在lede里面看国内国外的链接状态都是ok的。如果ros也用来播移动的号,那具体该怎么设置呢?
作者: tstar    时间: 2021-6-9 19:59
liukm 发表于 2021-6-9 19:31
国内网速慢的原因我找到了,试用版的问题,我是电信用ros拨号,lede移动播号,我现在遇到的问题是路由非c ...

LEDE拨号的话 应该WAN口直接连了移动的光猫吧
作者: liukm    时间: 2021-6-9 20:09
tstar 发表于 2021-6-9 19:59
LEDE拨号的话 应该WAN口直接连了移动的光猫吧

是的,移动光猫直接插在lede的直通口上拨号的,能帮我分析下什么原因吗
作者: tstar    时间: 2021-6-9 20:22
liukm 发表于 2021-6-9 20:09
是的,移动光猫直接插在lede的直通口上拨号的,能帮我分析下什么原因吗

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

而且会很混乱,问题应该在DNS这一环,DNS走了一个,而流量走了另一个。本身移动 电信的接口带宽就不行。
作者: liukm    时间: 2021-6-9 20:46
本帖最后由 liukm 于 2021-6-9 20:50 编辑
tstar 发表于 2021-6-9 20:22
你这已不是主路旁路的问题了,只是想把外网流量走移动而已。这样的话教程很多设置中就没必要了。

而且 ...

是的,ros的dns我指向的是运营商的dns,lede是正常出去应该不用怎么设置,我只需要把非china路由表的流量指向lede就行,但是不知道怎么弄
作者: tstar    时间: 2021-6-9 21:28
liukm 发表于 2021-6-9 20:46
是的,ros的dns我指向的是运营商的dns,lede是正常出去应该不用怎么设置,我只需要把非china路由表的流量 ...

这里的问题主要是DNS分流。你需要自建一个独立的DNS服务器,出口网关用电信。用ADG就行了。
作者: liukm    时间: 2021-6-9 21:45
本帖最后由 liukm 于 2021-6-9 21:46 编辑
tstar 发表于 2021-6-9 21:28
这里的问题主要是DNS分流。你需要自建一个独立的DNS服务器,出口网关用电信。用ADG就行了。

明白了,还是要靠dns来分配,adg全名是AdGuardHome吗
作者: tstar    时间: 2021-6-9 21:53
liukm 发表于 2021-6-9 21:45
明白了,还是要靠dns来分配,adg全名是AdGuardHome吗

是的,其实流量分流是基于DNS解析的IP,自建DNS服务器走电信网关保证国内地址拿到的全部是电信IP,这样你国内流量走电信,再把出国海淘流量路由到LEDE走移动就行了。
作者: sdgu    时间: 2021-6-9 21:54
感谢楼主分享
作者: mayfa    时间: 2021-6-9 22:03
学习!感谢分享感谢分享.
作者: liukm    时间: 2021-6-9 22:27
本帖最后由 liukm 于 2021-6-9 22:29 编辑
tstar 发表于 2021-6-9 21:53
是的,其实流量分流是基于DNS解析的IP,自建DNS服务器走电信网关保证国内地址拿到的全部是电信IP,这样你 ...

明白了,非常感谢
作者: tstar    时间: 2021-6-9 22:29
liukm 发表于 2021-6-9 22:27
明白了,非常感谢,那你这个国内地址的路由表我导入了要不要删除掉

你将来还是要做分流的 不用删
作者: liukm    时间: 2021-6-9 22:30
tstar 发表于 2021-6-9 22:29
你将来还是要做分流的 不用删

好的,非常感谢!
作者: virusav    时间: 2021-6-9 23:28
正好学习一下
作者: qdflove    时间: 2021-6-9 23:44

学习!!谢谢分享!!!
作者: rao350144193    时间: 2021-6-9 23:46
看看脚本能不能用
作者: 唯有重装    时间: 2021-6-9 23:56
好好学习,完善分流,谢谢分享
作者: dannishoo    时间: 2021-6-10 01:24
好东西  谢谢分享
作者: hekang    时间: 2021-6-10 02:33
学习了。。。。
作者: SkyTiger    时间: 2021-6-10 08:21
这个方案比较牛逼,感谢楼主分享经验。
作者: virus1999    时间: 2021-6-10 10:07
感谢分享!
作者: dwaq    时间: 2021-6-10 12:18
法國結盟很快玫瑰花,玫瑰花,環境,環境,h
作者: whxwlg    时间: 2021-6-10 14:39
不错,向大佬学习。
作者: liukm    时间: 2021-6-10 15:01
本帖最后由 liukm 于 2021-6-10 15:09 编辑
tstar 发表于 2021-6-9 22:29
你将来还是要做分流的 不用删

我弄了adg,路由表我还是用你的国内ip路由表。但是我发现个问题,adg上游dns我填的是电信的dns和谷-哥的dns,adg会随机分配其中一个上游dns服务器,如果adg选的是电信的dns,国内可以解析到电信的ip。但是adg如果用的8.8.8.8,他会从移动lede出去,8.8.8.8的dns认为我是节-点ip比如淘宝,就给解析个深圳旁边的淘宝服务器。或者认为我是移动的宽带,就解析个移动的ip服务器给我。我这边出去走电信,后面通过路由就给跳移动服务器上了。
如果adg上游dns我只添电信dns,他谷-歌就给污染了。解析不到了,怎么办呢。

作者: jy00022158    时间: 2021-6-10 16:10
不错求脚本了
作者: tstar    时间: 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。
作者: 2003871    时间: 2021-6-10 20:16
支持一下!
作者: songj_hm    时间: 2021-6-10 20:23
非常好的帖子,学习
作者: ngwk1984    时间: 2021-6-10 20:30
学习学习大佬
作者: deeyi990    时间: 2021-6-11 00:13
11111111111111111111111111
作者: chackc    时间: 2021-6-11 04:15
感谢分享!
作者: bb8820    时间: 2021-6-11 14:40
谢谢分享!!!!
作者: Ricardo33    时间: 2021-6-11 15:27
ros这么强大的啊  ~~  是不是要折腾折腾呢 ~
作者: 浮梦    时间: 2021-6-11 15:35
感谢分享 谢谢
作者: 绮恸我心@爱绮命    时间: 2021-6-11 15:37
学习学习大佬。。。
作者: 何伟强    时间: 2021-6-11 16:57

学习学习大佬
作者: zkcgukou    时间: 2021-6-11 17:29
前来学习经验
作者: fengye7059    时间: 2021-6-11 18:24
学习演习学习
作者: langzu    时间: 2021-6-11 21:07
这个不错啊,谢谢
作者: tony-brooky    时间: 2021-6-11 22:27
可以可以的,不错

作者: thomasmarshal    时间: 2021-6-11 22:48
谢谢分享!
作者: HF86    时间: 2021-6-12 07:32
看看帖子里藏了啥好东西~~~
作者: lsdoc    时间: 2021-6-12 07:39
一看就是好东西,不顶起来对不起楼主。谢谢分享
作者: lsdoc    时间: 2021-6-12 07:46
如果这个主路由是padavan又怎么设置??
作者: zyhw    时间: 2021-6-12 10:05
ros小白,也是用的op,看看使用楼主的方法能提升多少
作者: guitengyue    时间: 2021-6-12 10:07
看看脚本功能,太牛逼了
作者: 川宁成    时间: 2021-6-12 10:45

学习学习大佬
作者: nnygl    时间: 2021-6-12 23:17
感谢分享。学习。
作者: 莫尼卡    时间: 2021-6-13 01:30
确实不错,向大佬学习。

作者: jacktyq    时间: 2021-6-13 10:18
关键ROS主路去哪里搞
作者: force_lyg    时间: 2021-6-13 12:27
楼主真威武!!谢谢
作者: 科莫多龙    时间: 2021-6-13 12:38

从老方案过来的,看看有何不同?
作者: 寒气冰天    时间: 2021-6-13 14:22
学习了  很复杂啊
作者: 安在萧    时间: 2021-6-13 15:56
单线多播,速度很慢,看看大佬的效果怎么样
作者: a1693994915    时间: 2021-6-13 16:51
为啥要用2.1  光猫是1.1的话  用2.1是不是又多了一层nat?求解答
作者: liuyuan2    时间: 2021-6-13 16:58
好像不错!看看如何
作者: 莫奇    时间: 2021-6-13 18:40
看得有点懵
作者: tstar    时间: 2021-6-13 19:50
a1693994915 发表于 2021-6-13 16:51
为啥要用2.1  光猫是1.1的话  用2.1是不是又多了一层nat?求解答

光猫桥接后 只有光电转换功能。
作者: luang4089    时间: 2021-6-13 21:17
看看这个不错哈
作者: 坦克总动员    时间: 2021-6-14 04:56
这个帖子很有看头啊,谢谢
作者: a1693994915    时间: 2021-6-14 06:50
tstar 发表于 2021-6-13 19:50
光猫桥接后 只有光电转换功能。

那个猫是1.1开头  是不是把他们放到1.1的同一个网段会更好些。
作者: huiman    时间: 2021-6-14 09:22
来学习一下,感谢楼主分享
作者: tstar    时间: 2021-6-14 15:34
a1693994915 发表于 2021-6-14 06:50
那个猫是1.1开头  是不是把他们放到1.1的同一个网段会更好些。

光猫桥接后,就只有广电转换的作用了,也就是说子网段是什么都无所谓。当然你如果用光猫拨号或者经常设置光猫,可以在一个子网下,看个人需求。
作者: zhengwuji    时间: 2021-6-14 20:21
感谢分享!
作者: liukm    时间: 2021-6-14 21:25
tstar 发表于 2021-6-10 16:27
按教程做DNS分流,ADG只做国内解析 不要填国外DNS。

你好,我遇到个问题,ros:192.168.1.6 openwrt:192.168.1.3  adg:192.168.1.7(5335端口)  ros的dns指向openwrt openwrt用china-dns:5335端口,但是openwrt的china-dns好像没有接管来自ros的dns请求,反而是让dnsmasq接管了ros的dns请求,我关闭dnsmasq就不能打开网页,adg的dns解析一直是0.附图是openwrt端口情况,麻烦你帮我看一下,谢谢

作者: zerm    时间: 2021-6-14 22:07
真的很不错,学了
作者: tstar    时间: 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
作者: liukm    时间: 2021-6-14 22:37
tstar 发表于 2021-6-14 22:11
ADG的端口应该是默认的53

哈哈,我以为china-dns设置的5335要把adg改成5335,冒失了,已经搞定了,非常感谢。还有个问题,我要不要向你教程那样设置放行在ros放行openwrt,和openwrt做nat转换设置。我这步没弄
作者: baosheng    时间: 2021-6-14 22:44
thanks..........................
作者: happydeer    时间: 2021-6-14 22:50
先收藏,回头来看
作者: tstar    时间: 2021-6-14 22:54
liukm 发表于 2021-6-14 22:37
哈哈,我以为china-dns设置的5335要把adg改成5335,冒失了,已经搞定了,非常感谢。还有个问题,我要不要 ...

很多问题都是没认真看教程啊
因为你的OP有WAN口 流量直接就出去了 不再经过ROS 就不用设置了
作者: liukm    时间: 2021-6-15 01:46
tstar 发表于 2021-6-14 22:54
很多问题都是没认真看教程啊
因为你的OP有WAN口 流量直接就出去了 不再经过ROS 就不用设置了

大佬,我设置好后,不知道为什么我访问淘宝等国内网站返回的还是移动的服务器,adg我还是上游dns设置的是电信的dns,ros指向openwrt,openwrt设置china-dns国内指向自建adg,adg上游电信公共dns,能帮我在看一下是那里的问题吗?[attach]477125[/attach]
作者: tstar    时间: 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.
作者: howellps    时间: 2021-6-15 07:08
感谢你的分享
作者: a1693994915    时间: 2021-6-15 07:48
tstar 发表于 2021-6-14 15:34
光猫桥接后,就只有广电转换的作用了,也就是说子网段是什么都无所谓。当然你如果用光猫拨号或者经常设置 ...

搜嘎搜嘎
作者: runking    时间: 2021-6-15 08:32
学习学习,谢谢。
作者: jusky    时间: 2021-6-15 09:10
xx谢谢学习学习




欢迎光临 恩山无线论坛 (https://www.right.com.cn/forum/) Powered by Discuz! X3.5