分享一下我的分流方案以及教程 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wei784
V2EX    宽带症候群

分享一下我的分流方案以及教程

  •  
  •   wei784 2024-07-05 04:36:36 +08:00 6129 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第一次发帖,如果节点有错还请管理大大帮忙移动下

    先大概介绍下我使用的方案:

    通过 RouterOS+Surge+SmartDNS 实现客户端无感知分流,ros 将指定客户端的 dns 请求劫持至 smardns ,smardns 对国内域名返回真实 ip ,分流域名返回 fakeip ,同时在 ros 上设置将 fakeip 段路由至 surge 网关,最终实现分流和代理。ros 上对 surge 网关进行监控,当服务异常时会自动关闭劫持。具体可以看我的折腾手记: https://dddafa.notion.site/RouterOS-Surge-SmartDNS-334831ae5792422796cca2f9d4f3ab8d

    为什么使用这个方案:

    我是使用 apple 生态,surge 各端基本通用的配置文件自然成为了我的首选,一开始我是采用 surge 网关作为 DHCP 服务器后面变成 ros 对指定客户端下发 surge 配置。但本质没有变化。在使用 surge 网关中有一点小问题:
    1 、测速跑不满带宽上限,会低 50Mbps 左右
    2 、上传测速会变成局域网速率(有可能是测速网的问题,我没有去深究)
    3 、考虑到 surge 网关挂掉的情况,虽然概率比较低但有发现过。
    所以就开始研究一个更适合我需求的方案,最终发现 dns 分流很适合我,遂开始搭建,后面查阅相关文档发现 surge 网关模式下对所有域名都返回 fakeip ,虽然有 always-real-ip 参数,但貌似官方没有给这个参数引用文件的权限。所以加入 smartdns 作为查询服务器,经过几天的实际使用下来,非常稳定,即使网关挂了 也能自动的切换回正常 dns 不影响国内网站访问。

    不知道诸位坛友们有没疑问或者有什么更加优秀的方案,欢迎探讨
    23 条回复    2024-11-13 16:12:08 +08:00
    feng542064
        1
    feng542064  
       2024-07-05 05:30:03 +08:00 via iPhone
    Ros 硬路由做好国内外的 ip 分流规则+软路由 PVE 安装本地 DNS 缓存服务+Clash MetaCube(XD),之前用的是 yacd 。目前这套方案用了一年多了,没有出过问题,还是很稳的,切换节点响应迅速。不想折腾了,搞得属实是有点累。
    wei784
        2
    wei784  
    OP
       2024-07-05 05:53:55 +08:00
    @feng542064 这么看你的 clash 应该用的是 Redir-host 模式,也是异曲同工之妙,但这个我有考虑过两点 1 、性能,我用的是 mikrotik 的硬路由,每次访问都要遍历一遍 ip ,如果是软路由性能自然是没有问题 2 、是先由本地去获取 dns 解析的,但可能获取到的 ip 结果不太适合你的代理服务器
    om2mo
        3
    om2mo  
       2024-07-05 06:16:51 +08:00
    smartdns 没有分流能力 你应该用的是 geosite 域名列表 不用 smartdns 也可以 进入 surge dns 通过解析 ip 分流
    wei784
        4
    wei784  
    OP
       2024-07-05 06:54:45 +08:00 via iPhone
    @om2mo 不是很理解你说的 smartdns 没有分流能力这点,有提到过 surge 增强模式下是使用 fakeip 并且所有域名都返回 fakeip ,所以需要通过 smartdns 指定特定域名上游服务器,把需要分流的域名请求交给 surge 的 dns 需要直连的域名请求交给公共 dns
    everfly
        5
    everfly  
       2024-07-05 06:58:28 +08:00 via iPhone
    为什么不直接用 ros 基于 ip 地址 mangle 分流呢?不需要旁路由。
    wei784
        6
    wei784  
    OP
       2024-07-05 07:09:39 +08:00 via iPhone
    @everfly 不需要旁路由 那是用啥进行代理,自带的 wg 还是用容器吗?
    yyysuo
        7
    yyysuo  
       2024-07-05 08:22:23 +08:00
    现在域名分流很流行了,一般就是国内 real ,国外 fakeip ,然后主路由上做静态路由( fakeip 段、电报 IP 、奈飞 IP ),这种体验毫无疑问是最好的。可以改进的地方是不在域名列表中的未知域名,一般就一刀切了,其实可以带本地 IP 的 ecs 去 8888 查询,如果有中国 IP 就采用,非 cnip 就返回 fakeip ,这样分流更精确,体验肯定更好。smartdns 可能无法实现这样的逻辑,mosdns 是可以的。
    GuryYu
        8
    GuryYu  
       2024-07-05 08:26:05 +08:00
    surge 网关是用什么设备部署的? MacBook / Mac Mini / Apple Tv ?
    noahzh
        9
    noahzh  
       2024-07-05 08:59:24 +08:00
    ros 直接配置一下对,对应设备进行 dns 劫持,然后网关挂了时候,配置一个 ros 监控,自动把规则禁用就完了.
    povsister
        10
    povsister  
       2024-07-05 09:11:02 +08:00 via iPhone
    全真 IP ,无 DNS 污染,geosite 按需分流,配置集中化管理,客户端 0 配置,可一键秒切任意内网 IP 科学/直连且无副作用。
    https://github.com/povsister/v2ray-core
    morphyhu
        11
    morphyhu  
       2024-07-05 09:21:11 +08:00   1
    网内的网络环境真的是太无语了,经济搞不起来也是有原因的.社会主义意识形态太可怕了.
    dford
        12
    dford  
       2024-07-05 09:23:51 +08:00
    全真 IP ,无 DNS 污染,geosite 按需分流,配置集中化管理,客户端 0 配置,可一键秒切任意内网 IP 科学/直连且无副作用。
    https://climbover.minidump.info/
    Sklinux
        13
    Sklinux  
       2024-07-05 09:43:34 +08:00
    分流有多种手段,要根据出海方式不同而不同
    有机场的,还有专线的

    分流方式就不一样

    楼主说的是机场分流
    CoderRunner
        14
    CoderRunner  
       2024-07-05 10:10:30 +08:00
    我的方案比较简单

    surge 放到一个特定 vlan 里做网关,需要科学上网的,连接这个 vlan 对应的 ssid

    通过 ssid+vlan 隔离不同的网络环境
    everfly
        15
    everfly  
       2024-07-05 11:32:48 +08:00 via iPhone
    @wei784 都可以
    wei784
        16
    wei784  
    OP
       2024-07-05 17:14:50 +08:00 via iPhone
    @yyysuo 你说的这个倒是弥补了一个缺点

    @GuryYu macmini 跑的设备不重要,原理上都是差不多的
    @noahzh 我的监控就是这个思路
    @dford 看起来不错,我研究下这个
    Tiger511
        17
    Tiger511  
       2024-07-07 01:05:00 +08:00
    @povsister 你这个好,不过 v2 的 DNS 没有反向查询,个人还是倾向于配置一个完善的 DNS 服务器用于分流和宣告路由,并且实际上分流是发生在路由上的,v2 里面的哪些策略,比如端口啊,ip 分流啊,其实都是要在路由上完成的,所以 v2ray 只负责代理流量就行了。
    povsister
        18
    povsister  
       2024-07-07 09:34:24 +08:00 via iPhone
    @Tiger511
    在我的设计里,DNS route 是一个整体,你也提到了,dns 负责分流和宣告路由。分流这个词就隐含了代理决策,所以 dns 和代理服务要写在一起,这也是我为什么坚持二开 v2ray 而不是 mosdns 的原因
    jionJack
        19
    jionJack  
       2024-07-09 09:20:32 +08:00
    我没用分流,直接用的 passwall+mosdns. ipleak 没有泄露,不过我开了 ipv6 , 我 ipleak 检查 会显示 ipv6 真实地址 但是 dns 检查没有,我估计是我在 passwall 里面选了过滤代理网站的 ipv6. 感觉已经达到了我的需求, 电视上开机广告也过滤了,不清楚是 mosdns 里过滤的效果还是 passwall 过滤的效果,不过 mosdns 广告过滤还是有点作用, 旁路由,老实说 以前用了两三年,后来还是换成了单路由,旁路由 有些方案太麻烦不说,还有可能出现奇怪的事,以前就出现过,用了几个月稳定,突然全部断网,也不知道啥原因,出现过两次,后来就换成了单路由,一直稳定了到现在,差不多也有两年多了,我觉得路由器稳定最重要,折腾最后还是追求稳定,以前研究这方面,折腾到最后才发现,最简单的才是最合适的
    scarleast
        20
    scarleast  
       2024-08-25 19:36:14 +08:00
    博客看不了啦
    viviwon
        21
    viviwon  
       2024-10-13 21:26:18 +08:00
    @jionJack 我是 clash+mosdns 感觉最近访问国内就很慢,比如京东加载图片很慢
    molicancer
        22
    molicancer  
       2024-11-11 11:32:27 +08:00
    Notion 链接失效了
    283324967
        23
    283324967  
       2024-11-13 16:12:07 +08:00
    可以使用 ros 里面的静态 dns ,匹配域名然后分流,我现在是这样的,感觉还不错。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2862 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:21 PVG 22:21 LAX 06:21 JFK 09:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86