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,我会说)你可以做到)