多宿主 OpenBSD 系統:基於策略的路由與 mpath 預設路由
TL;DR OpenBSD 基於策略的路由對多宿主伺服器/網關的情況有幫助嗎?如果是這樣,我該如何配置它?
長表
我正在管理一個帶有兩個 ISP 連結和通往遠端路由節點的 VPN 隧道的 OpenBSD。
最初,我們使用了多個具有不同指標的預設路由——首選路由通過靜態 IP 地址和 NAT 路由器,而 NAT 路由器又具有動態分配的地址(它基本上是一個電纜調製解調器)。
在實踐中,這並不理想,但效果很好。從網關建立的新連接(以下簡稱“gw”)如果啟動,將選擇速度更快、延遲更低的路由;如果鏈路斷開,則通過電纜調製解調器出去。入站連接只能通過更好的路由,因為其他 IP 地址位於 NAT 之後(無法從外部路由。
現在,我們需要通過額外的代理/VPN 路由器節點將流量路由到“雲端”,以降低靜態 IP 地址上的 DDoS 風險。
那些通過隧道連接到網關。
第一的。然後我們發現我們的管理員訪問權限會偶爾下降。
更複雜的是,此網關具有到特定 VLAN 的附加活動介面。他們與這個問題無關,但不能被打擾。
可能的解決方案
我的印像是我們應該使用基於策略的路由rdomains。我想這意味著我為三個涉及的介面中的每一個創建路由表,並且任何這些介面(包括tun0隧道介面)上的任何連接都應該通過該域的表路由(因此每個介面都可以有自己的預設路由)。
我在正確的軌道上嗎?
這是一個圖表和一個經過清理的列表(如果介面設置):
________ | 隧道| _______ ~+~~~~ | GW |======++ | ~+~+~+~ || | _________ | | | || + ----- | prefISP | ------------- + | | __ || ____ ......... ~~~~~~~w~ | +-----| 開關 |-----( 集群 ) | ~~~~~~~~ ^^^^^^^^^ _________ .....|...... || | fallISP |----------( LAN / WiFi )===++ ~~~~~~~~~ ^^^^^^^^^^^^ 圖:通過隧道、首選 ISP 以及訪問 GW 或集群(通過 GW 或從 LAN)訪問 GW 時,我想避免非對稱路由。 清理界面資訊: em3:inet 123.45.67.118 網路遮罩 0xfffffff8 廣播 123.45.67.119 描述:prefISP em0:inet 10.1.1.100 網路遮罩 0xffffff00 廣播 10.1.1.255 描述:fallISP tun0:inet 192.168.2.2 --> 192.168.2.1 網路遮罩 0xffffff00 描述:隧道 em1: VLAN_TRUNK vlan1000:inet 172.29.1.1 網路遮罩 0xffffff00 廣播
如前所述:em3是我們到首選(更快)ISP 的連結;tun0通過它;em0與辦公室 LAN/Wifi 位於同一網段,作為我們的備份 ISP;並且 GW 具有到集群和交換機的附加連結。
歡迎來到負載均衡的夢想。
這是可能的,但您最好的路由和無痛模式是使用 BGP 路由協議並使用策略管理下游和上游流量。
為了成功,您必須與兩個 ISP 協商,將您作為內部 iBGP 節點包括在內,以便您可以將路由路徑推送到 Internet。
正確的方法是讓您請求自己的自治系統編號。並管理您擁有的所有 IP。由於要求,這有點複雜。
http://teamarin.net/2014/01/31/how-to-request-an-asn-from-arin/
如果您符合多宿主政策的條件,則需要提供要使用的外部網關協議、網路上目前使用的 IP 地址、每個上游提供商和/或同行的 AS 編號和名稱以及契約驗證至少與其中兩個服務。
如果您符合唯一路由策略的條件,則必須證明 AS 的路由策略將不同於其邊界對等點的路由策略。
無論您符合哪種政策,如果這不是您第一次申請 ASN,您還需要向我們展示您申請 ASN 的網路是如何獨立於您網路中所有現有 AS 的。
這是一篇關於使用 BGP 的多宿主的好論文:http: //aspath.net/BGP-MHing-HOWTO-whitepaper.pdf
如果您不願意,無法與您的 ISP 創建 BGP 會話,那麼另一種解決方案是購買基於硬體的負載均衡器。(從技術上講,大多數硬體都執行一些經過修改的 BSD 來實現產品功能。因此,如果您有知識,您可以將其設置在執行 BSD 的伺服器上。但是您永遠不會獲得具有專用硬體用於網路處理的硬體設備的 trhoguput ,但是如果您的負載不大(我會說超過 50 Mbps),您可以做到)