这个方法适合单线接入的用户,用路由或者光猫拨号均可。
本文约定:
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
好了,开始操作。
爱快设置约定:
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 。
OpenWrt 的 WAN 口接在爱快的 LAN 下面。
爱快 wan2 口接的是 OpenWrt 的 lan 口下面,本例中爱快 wan2 的 IP 设置为 192.168.77.2 。
OpenWrt 上可以跑各种我们需要的留学服务。
把OpenWrt自身访问网络出口固定设置为 wan1 。
爱快流控分流>分流设置>端口分流
添加OpenWrt WAN 口的 IP 以 wan1 口为流量出口。
启用。
国内的 IP表会缓慢地更新,所以建议每半年更新一次 IP 表。
如果 OpenWrt死机会怎样?
国内外流量会走爱快 wan1 请求。
如果爱快死掉会怎么样?
爱快都死了还上什么网?
我不使用 ESXi 怎么办?
本架构可以非常方便地部署到 PVE/hyper-v 等架构。
我不喜欢使用爱快怎么办?
本架构可以推广到任何双路由架构。
上面设置中的 wan2 为什么设置为默认网关?
爱快会加载我们自定的运营商 IP 表,所有的请求会按照流控分流>分流设置>多线负载 里面的设定去走出口。国内的请求会固定走 wan1 ,表里没有覆盖到的 IP 默认走 wan2 。因为海外 IP 表很大,这算是取巧的操作。这个设置的妙处请自行体会。(当然了,你也可以反向操作。加载一张海外的 IP 表绑定在 wan2 上,不设国内 IP 表。让所有的流量默认走 wan1 。由于海外的 IP 表很大,所以我认为这个操作会占用更多的 IP 比对的时间可能会降低效率。)
![]() | 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 确实是不能上网了,其实影响不大。 |
![]() | 3 hcwhan 2022-09-05 02:55:34 +08:00 via Android 既然 openwrt 的 wan 流量到爱快之后 全都走爱快的 wan1 那为啥不直接把 openwrt 的 wan 接到第一个虚拟交换机 |
![]() | 5 scyuns 2022-09-05 08:34:16 +08:00 这就是传说中的单臂路由器吗 |
6 missdeer 2022-09-05 09:14:27 +08:00 没看明白,这个解决了什么问题? |
![]() | 7 lqzhgood 2022-09-05 09:28:32 +08:00 不能自动更新国内 IP 段 是个问题呀。 |
![]() | 8 lqzhgood 2022-09-05 09:31:06 +08:00 而且 DNS 也是个问题,例如 请求 Google ,回来的是污染的 DNS (例如某国内 IP ),这时候就不会被分流到 openwrt 了 |
9 2kCS5c0b0ITXE5k2 2022-09-05 09:32:30 +08:00 不如改用 asn 分流. 基本上国内的 asn 都是在国内运营的. |
![]() | 12 tcpdump 2022-09-05 11:09:10 +08:00 @Xusually ESXi 做聚合,是不是要 vCenter ? 在 ESXi 里面做聚合的话,只会起到一个链路备份的作用,带宽不会叠加。 |
![]() | 13 lqzhgood 2022-09-05 11:12:40 +08:00 @putaosi 我觉得 DNS 这里有点死循环~ 可靠的 DNS 一定是要套 FQ 去境外解析的(这样也能享受境外的 CDN ),问题是 openwrt 在下一级。 分流给 openwrt 的前提是解析出 DNS 在海外,解析 DNS 的前提是 DNS 流量经过 openwrt 获取解析结果 所以我想问问 DNS 这一块 LZ 是如何考虑的呢? |
![]() | 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 强。 |
![]() | 15 acrisliu 2022-09-05 11:27:38 +08:00 via iPhone 感觉 DNS 解析是个问题,目前自用的方案,DNS 是通过代理去境外解析的,如果代理出问题甚至会影响国内网站访问。 |
16 chenghj87 2022-09-05 11:35:52 +08:00 我感觉 openwrt 上一些 FQ 插件分流也蛮好啊,为什么要用爱快多一层呢? |
![]() | 17 goodryb 2022-09-05 11:51:52 +08:00 虽然用 IP 分流能解决很多域名代理的问题,但这个逻辑上太复杂了 |
![]() | 18 putaosi OP @lqzhgood 完整的拓扑请进群讨论 https://t.me/putaosi |
![]() | 19 renothing 2022-09-05 13:42:14 +08:00 搞这么复杂,其实一个策略路由就能解决的事情。一个 openwrt 足以 |
22 mrwheat 2022-09-08 10:42:07 +08:00 via iPhone 这个好处就在于有电信和移动双线路都话 出国线路会更高效。 |
23 phpfpm 2022-09-14 15:48:32 +08:00 爱快是物理机么。。。 |
![]() | 25 tcpdump 2022-09-20 15:57:24 +08:00 战术标记一下 |
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] |
28 ingnoscemihi 2022-10-13 16:52:18 +08:00 是不是有点麻烦了,我感觉就纯一个 dns 服务器,然后 op 里分流也非常快 |
29 TwoBall 2023-02-11 15:24:47 +08:00 请问从左到右 第一个第二个 单进单出的虚拟交换机起什么作用? |
30 768952693 2023-02-14 04:26:05 +08:00 via iPhone 大佬,我从恩山看到这里来的。 有个疑问,爱快 dhcp 列表怎么设置,网关怎么设置。 如果默认填爱快的网关和 dns ,肯定只能国内。 如果填 op 的网关和 dns ,op 挂了,就全挂了。 |
33 phpfpm 2023-02-19 17:03:48 +08:00 问楼主一个问题: 你的其他网络设备都在 10.0.7.0/24 这个网段,如何访问 op 呢? 1. via WAN 进去访问 2. 给 op 配置另外一个静态 ip 的 lan 口在这个网段访问 3. 设置一个路由规则什么的? |
![]() | 34 putaosi OP 网内直接访问 op 的 lan 地址即可 |