web-dev-qa-db-ja.com

マルチホームOpenBSDシステム:ポリシーベースのルーティングとmpathのデフォルトルート

TL; DR OpenBSDポリシーベースのルーティングは、マルチホームサーバー/ゲートウェイの状況に役立ちますか?もしそうなら、どのように設定しますか?

長い形式

私は、2つのISPリンクとリモートルーティングノードへのVPNトンネルを備えたOpenBSDを管理しています。

最初は、さまざまなメトリックを持つ複数のデフォルトルートを使用しました。静的IPアドレスa NATルーターを経由する優先ルートで、動的にアドレスが割り当てられます(基本的にはケーブルモデムです)。

実際には、これは理想的ではありませんでしたが、十分に機能します。ゲートウェイから確立された新しい接続(以下、単に「gw」と呼びます)は、アップしている場合、より高速で遅延の少ないルートを選択します。リンクがダウンしている場合は、ケーブルモデムを経由します。他のIPアドレスがNAT(外部からルーティングできない)の背後にあるため、インバウンド接続はより良いルートを介してのみ到達できました。

次に、静的IPアドレスでのDDoSリスクを軽減するために、追加のプロキシ/ VPNルーターノードを介して「クラウド内」にトラフィックをルーティングする必要があります。

それらはトンネルを介してゲートウェイに接続しています。

最初。その後、管理者アクセスが散発的に低下することがわかりました。

さらに複雑なことに、このゲートウェイには特定のVLANへの追加のアクティブインターフェイスがあります。それらはこの問題とは無関係ですが、邪魔されることはありません。

考えられる解決策

ポリシーベースのルーティングを使用する必要があるというのが私の印象です rdomains 。つまり、関連する3つのインターフェイスごとにルーティングテーブルを作成し、それらのいずれかの接続(tun0トンネルインターフェイスを含む)は、そのドメインのテーブルを介してルーティングする必要があることを意味します。 (したがって、それぞれが独自のデフォルトルートを持つことができます)。

私は正しい方向に進んでいますか?

インターフェース設定の場合の図とサニタイズされたリストは次のとおりです。

 ________ 
 |トンネル| _______ 
 ~~~ + ~~~~ | GW | ====== ++ 
 | 〜+〜+〜+〜|| 
 | _________ | | | || 
 + ----- | prefISP | ------------- + | | __ || ____ ......... 
 ~~~~~~~ w〜 | + ----- |スイッチ| -----(クラスター)
 | ~~~~~~~~ ^^^^^^^^^ 
 _________ ..... | ...... || 
 | fallISP | ---------(LAN/WiFi)=== ++ 
 ~~~~~~~~~ ^^^^^^^^^^^^ 
 
図:トンネルを介して、優先ISPを介してGWにアクセスするとき、およびGWまたはクラスターに(GWまたはLANを介して)アクセスするときに非対称ルーティングを回避したい。
 
 [。 0xffffff00ブロードキャスト10.1.1.255説明:fallISP 
 tun0:inet 192.168.2.2-> 192.168.2.1 netmask 0xffffff00説明:tunnel 
 em1:VLAN_TRUNK 
 vlan1000:inet 172.29.1.1 netmask 0xffffff00ブロードキャスト

前述のように:em3は、優先(高速)ISPへのリンクです。 tun0はそれを通過します。 em0はオフィスのLAN/Wifiと同じセグメントにあり、フォールバックISPとして機能します。 GWには、クラスターとスイッチへの追加のリンクがあります。

6
Jim Dennis

負荷分散の夢へようこそ。

これは可能ですが、最善のルートと痛みのないモードは、BGPルーティングプロトコルを使用し、ポリシーを使用してダウンストリームトラフィックとアップストリームトラフィックを管理することです。

これを成功させるには、ルートパスをインターネットにプッシュできるように、内部iBGPノードとしてあなたが含まれていることを両方のISPとネゴシエートする必要があります。

正しい方法は、独自の自律システム番号を要求することです。所有しているすべてのIPを管理します。これは、要件のために達成するのが少し複雑です。

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

マルチホームポリシーに基づいて資格を得る場合は、使用する外部ゲートウェイプロトコル、ネットワークで現在使用されているIPアドレス、各アップストリームプロバイダーおよび/またはピアのAS番号と名前、および契約上の検証を提供する必要があります。それらのうちの少なくとも2つでサービスの。

一意のルーティングポリシーに基づいて資格を得る場合は、ASのルーティングポリシーがその境界ピアのルーティングポリシーと異なることを実証する必要があります。

どのポリシーに基づいて資格を得るかに関係なく、ASNをリクエストするのが初めてでない場合は、ASNをリクエストしているネットワークが、ネットワーク内の既存のすべてのASからどのように自律的であるかも示す必要があります。

これは、BGPを使用したマルチホーミングに関する素晴らしい論文です: http://aspath.net/BGP-MHing-HOWTO-whitepaper.pdf

iSPとのBGPセッションを作成する意思がなく、作成できない場合、他の解決策はハードウェアベースのロードバランサーを購入することです。 (技術的に言えば、ほとんどのハードウェアは、製品の機能を実現するためにいくつかの変更されたBSDを実行します。したがって、知識があれば、BSDを実行するサーバーにセットアップできます。ただし、ネットワーク処理専用のハードウェアを備えたハードウェアアプライアンスのトラフィックは得られません。 、しかしあなたの負荷が大きくない場合(私が言うだろう50Mbps以上)あなたはそれをすることができます)

0
Hugo Garcia