多宿主OpenBSD系统:基于策略的路由与mpath默认路由

TL; DR OpenBSD基于策略的路由是否有助于多宿主服务器/网关的情况? 如果是的话,我该如何configuration?

长表

我正在pipe理一个OpenBSD,有两个ISP链路和VPN隧道到远程路由节点。

最初,我们使用了多个具有不同度量的默认路由 – 通过静态IP地址的首选路由NAT路由器,而NAT路由器又具有dynamic分配地址(基本上是电缆调制解调器)。

在实践中,这并不理想,但是效果不错。 从网关build立的新的连接(以下简称为“gw”)将select更高速度,更低延迟的路由, 如果链路断开,通过电缆调制解调器出去。 入站连接只能通过更好的路由,因为其他IP地址在NAT之后(不能从外部路由。

现在我们需要通过额外的代理/ VPN路由器将stream量路由到“云中”,以减轻我们静态IP地址上的DDoS风险。

那些通过隧道连接到网关。

第一。 然后我们发现我们的pipe理访问会偶尔下降。

使事情进一步复杂化,这个网关有额外的活动接口到特定的VLAN。 他们与这个问题无关,但不能被打扰。

可能的scheme

这是我的印象,我们应该使用基于策略的路由, rdomains 。 我想这意味着我为我的三个涉及的接口中的每一个创build路由表,并且任何连接(包括tun0隧道接口)都应该通过该表的路由(因此每个都可以有它自己的默认路由)。

我在正确的轨道上?

下面是一个图表和一个清理列表,如果界面设置:

  ________
 | 隧道|  _______
  ~~~ + ~~~~ |  GW | ====== ++
     |  〜+〜+〜+〜||                   
     |  _________ |  |  |  ||                                        
     + ----- |  prefISP | ------------- + |  |  __ || ____ .........               
            ~~~~~~~~  + ----- |  Switch | -----(Cluster)                           
                                     |  ~~~~~~~~ ^^^^^^^^^           
            _________ ..... | ...... ||                              
           |  fallISP | ---------(LAN / WiFi)=== ++
            ~~~~~~~~~

    图:我想通过隧道,通过首选ISP,以及访问GW或集群(通过GW或LAN)访问GW时避免非对称路由。


 消毒的界面信息:

     em3:inet 123.45.67.118networking掩码0xfffffff8广播123.45.67.119描述:prefISP
     em0:inet 10.1.1.100 netmask 0xffffff00广播10.1.1.255描述:fallISP
     tun0:inet 192.168.2.2  - > 192.168.2.1 netmask 0xffffff00描述:隧道
     em1:VLAN_TRUNK
           vlan1000:inet 172.29.1.1networking掩码0xffffff00广播

如上所述: em3是我们与首选(更快)ISP的链接; tun0通过它; em0与局域网/ Wifi处于同一网段,并作为我们的备用ISP; 并且GW具有到集群和交换机的附加链路。

欢迎来到负载平衡的梦想。

这是可行的,但是你最好的路由和无痛的模式是使用BGP路由协议并且使用策略来pipe理下游和上游stream量。

为了成功,您必须与两个ISP进行协商,将它们包括在内部iBGP节点中,以便将路由path推送到Internet。

正确的方法将是你要求你自己的自治系统号码。 并pipe理您拥有的所有IP。 由于要求,这有点复杂。

http://teamarin.net/2014/01/31/how-to-request-an-asn-from-arin/

如果您符合多归属策略的要求,则需要提供要使用的外部网关协议,networking中当前正在使用的IP地址,每个上游提供商和/或对等设备的AS号和名称以及合同validation的服务至less有两个。

如果您符合独特的路由策略,您必须certificateAS的路由策略将与其边界对等体的路由策略不同。

无论您符合哪种策略,如果这不是您第一次请求ASN,您还需要向我们展示您请求ASN的networking是否与您networking中的所有现有AS无关。

这里是一个关于使用BGP多宿主的好文章: http : //aspath.net/BGP-MHing-HOWTO-whitepaper.pdf

如果您不愿意,无法与您的ISP创buildBGP会话,那么另一种解决scheme是购买基于硬件的负载均衡器。 (从技术上讲,大多数硬件运行一些改进的BSD来实现产品特性,所以如果你有这方面的知识,你可以在运行BSD的服务器上进行设置,但是你永远不会得到硬件设备的专用硬件的trhoguput来进行networking处理,但如果你的负载不是很大(超过50 Mbps,我会说)你可以做到)