web-dev-qa-db-ja.com

2つのBGPアップストリーム、1つはデフォルトルートを送信し、もう1つはフルテーブルを送信します

2つのアップストリームISPAとISPBがあります。ISPA(10Mb/s)は、帯域幅が良好なメインのアップストリームです。 bgp経由でデフォルトルートを送信します。 ISP B(2Mb/s)は、帯域幅が狭いアップストリームのバックアップですが、完全なルーティングテーブルを送信します。私はBGPを初めて使用するので、インバウンドトラフィックとアウトバウンドトラフィックのほとんどがISPAを使用してISPBにフェイルオーバーするようにする方法を探しています。これを行うための最良の方法は何ですか。

3
Alec T

BGPポリシーを使用してこれを行うには多くの可能な方法があります。最も良いのは、適切なルートが得られるまでISP Aを頭上で打ち負かすことですが、それでもこれを処理できます。

本来、ローカルインターフェイスに一致するISPBのネットワーク向けのものはすべてそこに移動します。それらから1ホップ離れたものが必要な場合は、先に進んで、1ホップ以内にあるそのインターフェイスからのすべてに優先順位を設定するルールを追加します。その制約を0ホップ(ISPのASに一致するもののみ)またはその他のアイデアに変更できます。

ISP Aのトラフィック(デフォルトルート)をわずかに高いメトリックに設定します。以前に優先することに決めていなかったISPBの他のものを設定して、さらに高いメトリックを設定します。

ルートマップ を見て、自分の状況に最も適していると思うものを見つけてください。

それが終わったら、ISP Aに戻って、いくつかのパスを失う可能性がある一方で、オンラインのままのローカルリンクから発生する可能性のある問題について叫んでください。

4
Jeff Ferland

これを行うための特に良い方法はありません。醜い方法の1つは、テーブル全体から長いASパスを削除することです。そうすれば、「短い」ASパスのみが取得され、ほとんどのトラフィックはデフォルトルートを使用します。

インバウンドトラフィックについても注意してください。

1
David Schwartz

アドバイスをありがとう。私が思いついた解決策は次のとおりです。

  1. ISPAからデフォルトルートを受け取り、ISPBからフルフィードを受け取ることを許可します。
  2. 私は自分のASをパスとしてのサーバー時間の前に付けてISPBにアドバタイズします(これにより、インターネット上のほとんどのホストは、ASへのホップが少ないためISP Aパスがより優先されるようになります)
  3. ISP Aに、隣接するASのルートを送信するように依頼するので、それらへのルートは短くなります。

このようにして、すべての発信トラフィックはISP Bを出発し(より具体的なルートを送信するため)、すべての着信トラフィックはISP Aから着信します(インターネット上でより適切なルートとして表示されます)。 ISPの1つがダウンした場合でも、インターネットは別のISPを介して利用できます。

0
Alec T