xiaoun001
2017-11-17 17:05:02 +08:00
潜水好久了,第一次在 V2EX 回答问题。 自己是虚拟化网络平台的忠实拥护者与实践者,因此,斗胆在 V2EX 冒个泡。
首先:
1.带宽合并的原理其实是负载均衡,一般在同一个运营商上面同一条物理线路上的多条逻辑线路有奇效(多拨),这个可以用 routeros 的 pcc 负载均衡实现,也可以用 linux 实现,一般电信可以拨 3 回。移动只能一回,联通不详。
2.不同运营商,做负载均衡实现宽带合并的效果实在不明显,这个涉及到一个很复杂不同运营商的返程路由问题。因此,基本不可行。那么,是不是两条线没用呢?很有用。不同运营商之间,网间访问延迟极大,最悲催的就是移动访问电信。两条线,我们做什么呢?用路由策略,让联通的目标地址走联通,让电信地址走电信。这里需要精确的全球路由表,有很多地方可以获取。当然数量也不少,所以,我们的虚拟路由器(主机)要强劲。这个,用原生 linux 可以实现。
3.关于硬件选择,建议用 Intel NUC + HUAWEI 5700 交换机基于 VLAN 拓展。网口可成倍提升。 后续极为灵活。
4.底层软件,用 ESXi 或者 Linux KVM 做虚拟化环境都很不错,具体看你熟悉什么。
5.关于区分日本,美国,联通,电信流量,我想常规的路由,真的很困难,高配虚拟 Mikrotik ROS 也许能够适应,但建议直接 Debian 来做,一来省资源,二来效率高。普通的路由根本无法承受上万条路由表。
具体路由策略如下: (用户端路由第一级路由)1,匹配国内路由表,走国内路由(7900 多条)。2.匹配日本路由表,走日本虚口。3,默认路由,走美国虚口。
第二级虚拟路由,接运营商线路(基于 Linux),实现国内相同运营商带宽合并,不同国内运营商分流,以及 NAT 转化思路和第一级一致。1.联通路由走联通口,2.其它走电信。利用脚本实现 dnspod 更新。
将一二级路由分开,主要为了缩小路由表。减少转发查询时间。
按照此法,路由表可以最小。因为 IPv4 地址已经分配完毕,可以认为在 CNNIC 上获取的路由表就是最终结果。因此,只要弄好,以后也不用动了。
我的方案是经过我近十年折腾,不断升级,演进的最终架构。在我家用的一直很好,我是移动,电信双线,电信多拨,外加 vpn 翻墙,自建服务器,dnspod 动态域名解析。建议楼主一步投资到位,省的今后升级扩展又采购机器,费钱,起不到效果。
建议直接全 linux,自己做,一来能提高,二来效果极好,节约资源。三来不涉及版权,四来和各种翻墙方式均能很好搭配。