爱快 & OpenWrt 分流网络拓扑(单出口版) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
putaosi
V2EX    奇思妙想

爱快 & OpenWrt 分流网络拓扑(单出口版)

  •  2
     
  •   putaosi 2022-09-04 21:24:38 +08:00 12375 次点击
    这是一个创建于 1135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    爱快 & OpenWrt 分流网络(单出口版)

    路由追踪效果

    这个方法适合单线接入的用户,用路由或者光猫拨号均可。

    本文约定:

    1.用 ESXi

    2.要有爱快,OpenWrt 。

    10.0.7.1/24 做内网,各位具体实施的时候根据自家网络情况修改。

    3.内网设备 IP

    爱快 lan1 地址10.0.7.1

    OpenWrtWAN 10.0.7.100

    OpenWrtLAN 192.168.77.1

    拓扑图

    好了,开始操作。

    A.在爱快建立运营商

    爱快设置约定:

    1.wan1 接入光猫

    2.wan2 用来接 OpenWrt

    在爱快上加载中国 IP 表用于国内外分流。中国IP 表下载地址为 https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt

    这里用到爱快的流控分流功能。需要在爱快里面自建一个运营商。在运营商里面绑定中国 IP 段,以便筛选国内的流量走国内线路,国外流量走OpenWrt。

    操作流程:流控分流>多线负载>自定义运营商

    点击 添加

    由于目前 IP 表有 6000 多行,需要前 5000 条和后面 1000 多条分 2 次添加。

    回到流控分流>多线负载,点添加

    负载模式:源 IP+目的 IP+目的端口

    运营商:国内

    负载比例:wan1 1 启用

    保存,然后点启用。

    接下来:

    网络设置>内外网设置

    点击 wan1 ,勾上掉线自动切换。

    网络设置>内外网设置

    点击 wan2 ,勾上设此条线路为默认网关 和掉线自动切换。

    线路检测 PING

    检测地址 192.168.77.1 ,这个地址是 OpenWrt的 lan 地址,检查它的存在与否,用来确定是不是要将流量切换到 wan1 。

    当然你也可以设置为:

    线路检测 HTTP

    检测地址 google.com

    这样当 OpenWrt 不能正常访问国外网,流量会切换到 wan1 。

    B. OpenWrtWAN 和 LAN 设置

    OpenWrt 的 WAN 口接在爱快的 LAN 下面。

    爱快 wan2 口接的是 OpenWrt 的 lan 口下面,本例中爱快 wan2 的 IP 设置为 192.168.77.2 。

    OpenWrt 上可以跑各种我们需要的留学服务。

    OpenWrt网络环路避免

    把OpenWrt自身访问网络出口固定设置为 wan1 。

    爱快流控分流>分流设置>端口分流

    添加OpenWrt WAN 口的 IP 以 wan1 口为流量出口。

    启用。

    此拓扑优势:

    1. 可以接受 OpenWrt死机 /故障。
    2. 爱快分流。
    3. 爱快下内网设备同一个网络内,没有跨三层问题。
    4. 可以在爱快上设置某个或者某些设备走 OpenWrt 出站。
    5. 内网流量仅经过一个网关,没有网关损耗问题。

    需要的维护

    国内的 IP表会缓慢地更新,所以建议每半年更新一次 IP 表。

    F & Q

    如果 OpenWrt死机会怎样?

    国内外流量会走爱快 wan1 请求。

    如果爱快死掉会怎么样?

    爱快都死了还上什么网?

    我不使用 ESXi 怎么办?

    本架构可以非常方便地部署到 PVE/hyper-v 等架构。

    我不喜欢使用爱快怎么办?

    本架构可以推广到任何双路由架构。

    上面设置中的 wan2 为什么设置为默认网关?

    爱快会加载我们自定的运营商 IP 表,所有的请求会按照流控分流>分流设置>多线负载 里面的设定去走出口。国内的请求会固定走 wan1 ,表里没有覆盖到的 IP 默认走 wan2 。因为海外 IP 表很大,这算是取巧的操作。这个设置的妙处请自行体会。(当然了,你也可以反向操作。加载一张海外的 IP 表绑定在 wan2 上,不设国内 IP 表。让所有的流量默认走 wan1 。由于海外的 IP 表很大,所以我认为这个操作会占用更多的 IP 比对的时间可能会降低效率。)

    第 1 条附言    2024-05-21 13:30:00 +08:00
    视频教程已出,欢迎各位关注
    ?si=0ZRa_AVIFbbAGJEi
    35 条回复    2023-06-28 05:02:18 +08:00
    Xusually
        1
    Xusually  
       2022-09-04 23:05:09 +08:00
    很巧啊,我也用的 GEN8 + ESXi + 爱快 + OpenWrt ,不过我是 GEN8 的 2 个物理网卡做了聚合到 2000M ,虚拟机和 ESXi 的管理全部用的虚拟网卡,WAN/LAN/MGT 的流量都走一起,不同的 vlan id ,用 vlan 隔离,往上交换机里几个不同的 vlan 接不同的设备,4 个千兆 WAN 都接光猫:宽带北京联通千兆 3 拨,北京移动千兆 1 拨。

    不过我爱快和 OpenWrt 的接入和分流是传统模式,并没有指定所有的设备使用 OpenWrt 作为网关,只是很少的设备比如 AppleTV ,OpenWrt 挂了的话,我 AppleTV 确实是不能上网了,其实影响不大。
    putaosi
        2
    putaosi  
    OP
       2022-09-05 00:42:52 +08:00 via iPhone
    @Xusually 你可以改成我这种架构
    hcwhan
        3
    hcwhan  
       2022-09-05 02:55:34 +08:00 via Android
    既然 openwrt 的 wan 流量到爱快之后 全都走爱快的 wan1 那为啥不直接把 openwrt 的 wan 接到第一个虚拟交换机
    putaosi
        4
    putaosi  
    OP
       2022-09-05 03:03:52 +08:00 via iPhone
    @hcwhan 如果是光猫拨号,两个路由的 wan 就都接光猫下。如果爱快拨号就照这个拓扑图接
    scyuns
        5
    scyuns  
       2022-09-05 08:34:16 +08:00
    这就是传说中的单臂路由器吗
    missdeer
        6
    missdeer  
       2022-09-05 09:14:27 +08:00
    没看明白,这个解决了什么问题?
    lqzhgood
        7
    lqzhgood  
       2022-09-05 09:28:32 +08:00
    不能自动更新国内 IP 段 是个问题呀。
    lqzhgood
        8
    lqzhgood  
       2022-09-05 09:31:06 +08:00
    而且 DNS 也是个问题,例如 请求 Google ,回来的是污染的 DNS (例如某国内 IP ),这时候就不会被分流到 openwrt 了
    2kCS5c0b0ITXE5k2
        9
    2kCS5c0b0ITXE5k2  
       2022-09-05 09:32:30 +08:00
    不如改用 asn 分流. 基本上国内的 asn 都是在国内运营的.
    putaosi
        10
    putaosi  
    OP
       2022-09-05 10:11:43 +08:00
    @lqzhgood 所以这个架构有带自建 DNS 版 /双出口等补完版本
    putaosi
        11
    putaosi  
    OP
       2022-09-05 10:12:25 +08:00
    @emeab 可以的,一样的
    tcpdump
        12
    tcpdump  
       2022-09-05 11:09:10 +08:00
    @Xusually ESXi 做聚合,是不是要 vCenter ? 在 ESXi 里面做聚合的话,只会起到一个链路备份的作用,带宽不会叠加。
    lqzhgood
        13
    lqzhgood  
       2022-09-05 11:12:40 +08:00
    @putaosi 我觉得 DNS 这里有点死循环~

    可靠的 DNS 一定是要套 FQ 去境外解析的(这样也能享受境外的 CDN ),问题是 openwrt 在下一级。

    分流给 openwrt 的前提是解析出 DNS 在海外,解析 DNS 的前提是 DNS 流量经过 openwrt 获取解析结果

    所以我想问问 DNS 这一块 LZ 是如何考虑的呢?
    Xusually
        14
    Xusually  
       2022-09-05 11:19:13 +08:00
    @tcpdump 不需要吧,我就是 ESXi 里做的,开启基于 IP 哈希的路由,交换机里配置 LAG 为静态 LACP 汇聚,不过暂时手头没有 2.5G 设备或者万兆设备测试。

    这么做的初衷是因为目前我 GEN8 的 PCI-E 槽被 Raid 卡占用了,暂时没有办法接多网卡,网络接口就剩下机器自带的 2 个千兆了,物理网卡划分一个 WAN 一个 LAN 使用的话总吞吐还是瓶颈,毕竟我有 4 个千兆 WAN ,弄成 WAN/LAN 混着来资源分配动态一些,虽然也是不够,不过比单独拆成 2 个 GE 强。
    acrisliu
        15
    acrisliu  
       2022-09-05 11:27:38 +08:00 via iPhone
    感觉 DNS 解析是个问题,目前自用的方案,DNS 是通过代理去境外解析的,如果代理出问题甚至会影响国内网站访问。
    chenghj87
        16
    chenghj87  
       2022-09-05 11:35:52 +08:00
    我感觉 openwrt 上一些 FQ 插件分流也蛮好啊,为什么要用爱快多一层呢?
    goodryb
        17
    goodryb  
       2022-09-05 11:51:52 +08:00
    虽然用 IP 分流能解决很多域名代理的问题,但这个逻辑上太复杂了
    putaosi
        18
    putaosi  
    OP
       2022-09-05 12:31:56 +08:00 via iPhone
    @lqzhgood 完整的拓扑请进群讨论 https://t.me/putaosi
    renothing
        19
    renothing  
       2022-09-05 13:42:14 +08:00
    搞这么复杂,其实一个策略路由就能解决的事情。一个 openwrt 足以
    putaosi
        20
    putaosi  
    OP
       2022-09-05 14:32:22 +08:00
    @renothing 你说的对,确实是这样
    putaosi
        21
    putaosi  
    OP
       2022-09-05 14:42:24 +08:00
    @renothing 这个是用来取代网络上大量使用旁路由模式,单路由的忽略此文
    mrwheat
        22
    mrwheat  
       2022-09-08 10:42:07 +08:00 via iPhone
    这个好处就在于有电信和移动双线路都话 出国线路会更高效。
    phpfpm
        23
    phpfpm  
       2022-09-14 15:48:32 +08:00
    爱快是物理机么。。。
    putaosi
        24
    putaosi  
    OP
       2022-09-14 19:05:59 +08:00 via iPhone
    @phpfpm 可以是物理机也可以是虚拟机
    tcpdump
        25
    tcpdump  
       2022-09-20 15:57:24 +08:00
    战术标记一下
    dcty
        26
    dcty  
       2022-09-21 19:42:06 +08:00
    我目前用的是另外一种方案,不如 OP 这种好。
    ========
    iKuai 添加一条端口分流,下一跳网关指向 clash 网关(可以是 openclash ,shellclash ,也可以自己手撸的)
    clash 使用 fakeip 模式,开启嗅探,以便在 clash 内部可以继续使用域名分流。
    源地址选择你需要翻墙的 IP ,目标地址选择 fakeip 198.18.0.1/16 和
    telegram
    91.105.192.0/23
    91.108.4.0/22
    91.108.8.0/21
    91.108.16.0/21
    91.108.56.0/22
    95.161.64.0/20
    149.154.160.0/20
    185.76.151.0/24
    =============

    接着就是在 dns 上进行分流了,修改 ttl 为 10s ,开启乐观缓存
    geosite:cn,apple-cn,microsoft-cn , 用运营商 dns 解析
    其他的域名用 fallback 策略解析
    默认用 clashdns 解析,得到 fakeip ,以便端口分流的时候可以走下一跳到 clash
    回落方案:clashdns 10 毫秒内无响应使用 doh 解析
    一旦 clash 挂了,dns 解析拿不到 fakeip 就会正常走默认网关 [iKuai]
    putaosi
        27
    putaosi  
    OP
       2022-09-23 02:45:06 +08:00 via iPhone
    @dcty 可试试我这个架构
    ingnoscemihi
        28
    ingnoscemihi  
       2022-10-13 16:52:18 +08:00
    是不是有点麻烦了,我感觉就纯一个 dns 服务器,然后 op 里分流也非常快
    TwoBall
        29
    TwoBall  
       2023-02-11 15:24:47 +08:00
    请问从左到右 第一个第二个 单进单出的虚拟交换机起什么作用?
    768952693
        30
    768952693  
       2023-02-14 04:26:05 +08:00 via iPhone
    大佬,我从恩山看到这里来的。
    有个疑问,爱快 dhcp 列表怎么设置,网关怎么设置。
    如果默认填爱快的网关和 dns ,肯定只能国内。
    如果填 op 的网关和 dns ,op 挂了,就全挂了。
    putaosi
        31
    putaosi  
    OP
       2023-02-14 10:11:02 +08:00 via iPhone
    @TwoBall
    交换机就是交换的功能
    putaosi
        32
    putaosi  
    OP
       2023-02-14 10:13:57 +08:00 via iPhone
    @768952693
    不必特殊设置。爱快正常起 DHCP 服务就是了
    phpfpm
        33
    phpfpm  
       2023-02-19 17:03:48 +08:00
    问楼主一个问题:
    你的其他网络设备都在 10.0.7.0/24 这个网段,如何访问 op 呢?
    1. via WAN 进去访问
    2. 给 op 配置另外一个静态 ip 的 lan 口在这个网段访问
    3. 设置一个路由规则什么的?
    putaosi
        34
    putaosi  
    OP
       2023-03-03 15:13:48 +08:00 via iPhone
    网内直接访问 op 的 lan 地址即可
    JackieWuu
        35
    JackieWuu  
       2023-06-28 05:02:18 +08:00
    @putaosi 请问 “自建 DNS 版 /双出口等补完版本” 在哪可以看到呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3685 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 10:29 PVG 18:29 LAX 03:29 JFK 06:29
    Do have faith in what you're doing.
    ubao 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