BGP_Advanced_Routing
この付録では、Dell SonicWALL におけるボーダー ゲートウェイ プロトコル (BGP) の実装の概要と、BGP の動作、およびネットワークに合わせて BGP を設定する方法を説明します。
この章は以下のセクションで構成されています。
• BGP の概要
• 注意
• BGP の設定
• BGP の用語
以下のセクションで、BGP の概要を説明します。
• BGP とは
• 背景情報
• 自律システム
• BGP の動作
BGP は、明確に定義され、個別に管理されるネットワーク ドメインである自律システム (AS) 間でルーティング情報を伝達するために使用される、大規模ルーティング プロトコルです。BGP のサポートにより、ネットワークの AS のエッジにある従来の BGP ルータの代わりに Dell SonicWALL セキュリティ装置を配置できます。現在の Dell SonicWALL の BGP 実装は、ネットワークが 1 つの ISP をインターネット プロバイダとして利用し、そのプロバイダに対して単一の接続を持つ「シングルプロバイダ/シングルホーム」環境に最も適しています。Dell SonicWALL BGP は、ネットワークが単一の ISP を利用しながらもそのプロバイダに対して少数のルートを別々に持つ「シングルプロバイダ/マルチホーム」環境もサポートできます。BGP は、SonicOS GUI の「ネットワーク > ルーティング」ページで有効にしてから、SonicOS のコマンド ライン インターフェース (CLI) を通じて完全に設定します。
ルーティング プロトコルは、単にネットワーク上を伝送されるパケットではなく、個々のルータおよびルータ グループがネットワーク トポロジを検出し、まとめ、伝達するすべてのメカニズムで構成されます。ルーティング プロトコルは、指定されたとおりにそのプロトコルに従う各構成要素に応じて、異なる分散アルゴリズムを使用します。また、あるネットワーク ドメイン内のルートが、ネットワーク ノード間のリンクの状況の変化に合わせて動的に変化する場合に、最も役立ちます。
通常、ルーティング プロトコルは次の 2 つのデータベースとやりとりを行います。
• Rouiting Information Base (RIB) - ルーティング プロトコル自体が必要とするすべてのルート情報を保存するために使用されます。
• Forward Information Base (FIB) - 実際のパケット転送に使用されます。
RIB から選択される最適ルートを使用して、FIB が設定されます。各ルーティング プロトコルがルーティングの更新を受信すると、あるいは機器の接続が変更されると、RIB と FIB の両方が動的に変化します。
ルーティング プロトコルには次の 2 つの基本クラスがあります。
• 内部ゲートウェイ プロトコル (IGP) - 内部ゲートウェイ プロトコル は、1 つの AS の内部に存在するネットワーク内でルートを伝達するためのものです。IGP には 2 つの世代があります。第 1 世代は、距離ベクトル プロトコルで構成されています。第 2 世代は、リンク状態プロトコルで構成されています。距離ベクトル プロトコルは比較的単純ですが、多数のルータにスケーリングすると問題が発生します。リンク状態プロトコルはより複雑ですが、スケーリング機能に優れています。既存の距離ベクトル プロトコルは、内部ゲートウェイ ルーティング プロトコル (IGRP)、拡張内部ゲートウェイ ルーティング プロトコル (EIGRP)、ルーティング情報プロトコル (RIP)、および RIP の拡張バージョンである RIPv2 です。IGRP と EIGRP は、Cisco の独自仕様プロトコルです。現在使用されているリンク状態プロトコルは、オープン ショーテスト パス ファースト (OSPF) と、あまり使われていない中間システム間連携 (IS-IS) プロトコルです。
SonicOS は、ルーティングの最も一般的な内部ゲートウェイ プロトコルである OSPFv2 と RIPv1/v2 プロトコルの 2 つをサポートして、顧客が Dell SonicWALL 製品を IGP ネットワークで利用できるようにすると共に、従来のルータを別個に導入する追加コストを不要にしています。
• 外部ゲートウェイ プロトコル (EGP) - 標準のユビキタスな外部ゲートウェイ プロトコルは、BGP (正確には BGP4) です。BGP は、自律システム (AS) と呼ばれる明確に定義されたネットワーク ドメイン間でルーティング情報とポリシーを伝達する、大規模ルーティング プロトコルです。自律システムは、他の自律システムから独立して、個別に管理されるネットワーク ドメインです。BGP は、自律システム間でのルートおよびルート ポリシーの変換に使用されます。一般的に、ISP は BGP を利用して、顧客や他の ISP とのルートおよびルート ポリシーを変換します。
各自律システムには、16 ビットの番号が割り当てられています。IP アドレスと同様に、AS 番号はパブリックまたはプライベートです。パブリック AS 番号は限定的なリソースで、要素の数に基づいて配布されます。通常、大規模ネットワークを 2 つ以上の ISP にマルチホーム化している ISP 顧客はパブリック AS を持ちますが、より小規模な顧客は、ISP プロバイダが管理するプライベート AS を与えられます。
Dell SonicWALL 製品がエンタープライズレベルの要件をサポートするようになったのに伴い、Dell SonicWALL 製品を従来の BGP ルータの代わりに AS のエッジに配置したいと考える顧客もいます。これらのテクノロジーをサポートするために、BGP が追加されました。
Note SonicOS では、BGP をサポートしているプラットフォームで BGP4+、すなわち BGP4 の IPv6 サポート (RFC 2545) に対応しています。
各自律システムには、16 ビットの番号が割り当てられています。IP アドレスと同様に、AS 番号はパブリックまたはプライベートです。パブリック AS 番号は限定的なリソースで、要素の数に基づいて配布されます。通常、大規模ネットワークを 2 つ以上の ISP にマルチホーム化している ISP 顧客はパブリック AS を持ちますが、より小規模な顧客は、ISP プロバイダが管理するプライベート AS を与えられます。
BGP は、非常に柔軟で複雑なルーティング プロトコルです。そのため、BGP ルータは、インターネット コア ルータ、中間 ISP ルータ、ISP 顧客構内設備 (CPE)、または小規模プライベート BGP ネットワーク内のルータなど、さまざまなトポロジ設定に配置できます。さまざまなトポロジに必要な BGP ルートの数は、コア ルータの 300,000 以上から、単一 ISP を使用し、AS 外部のすべての宛先に既定のルーティングを利用する ISP 顧客の 0 まで大きく異なります。一般に、ISP 顧客は、ISP から受信するルートの数にかかわらず、エッジ ルータ (CPE) から ISP に対して BGP を実行する必要があります。これによって、ISP 顧客は外部にどのネットワークを通知するかを制御できます。顧客が自身で所有していないネットワークまたはネットワーク統合を通知し、インターネット トラフィックがそのネットワークにブラックホールのように吸い込まれるという恐れは常にあります。実際には、ISP プロバイダは顧客からの不正な通知を注意深くフィルタリングしているので (BGP の強みの 1 つです)、このようなことはほとんど起こりません。
BGP ネットワークには、3 つの基本区分があります。
• シングルプロバイダ/シングルホーム - ネットワークは単一の ISP (シングルプロバイダ) から単一のルート (シングルホーム) を受信します。ISP 顧客が ISP から受信するルートの数は、AS の性質によって異なります。インターネット プロバイダとして ISP を 1 つだけ使用し、そのプロバイダに対して単一の接続を持つ (シングルプロバイダ/シングルホーム) ISP 顧客は、ルートを受信する必要がありません。AS 外部宛てのすべてのトラフィックは、ISP に送信されます。このような顧客は、内部ネットワークの一部またはすべてを引き続き ISP に通知できます。
• シングルプロバイダ/マルチホーム - ネットワークは単一の ISP (シングルプロバイダ) から複数のルート (マルチホーム) を受信します。単一の ISP を利用しているが、その ISP に対して複数の接続を持つ ISP 顧客は、各 ISP ゲートウェイで既定のルート (0.0.0.0/0) のみを受信できます。1 つの ISP 接続がダウンした場合、接続されている CPE ルータから内部ルータに送信された通知済みの既定のルートが取り消され、インターネット トラフィックは ISP への接続を持つ CPE ルータに流れるようになります。顧客への特定の接続がダウンした場合、顧客の内部ネットワークも各 CPE ルータ ゲートウェイで ISP に通知され、ISP は代替パスを使用できるようになります。
• マルチプロバイダ/マルチホーム - 複数の ISP を使用する (マルチプロバイダ/マルチホーム) ISP 顧客には、ISP ごとに 1 つ以上の個別のゲートウェイ ルータがあります。この場合、顧客の AS はパブリック AS でなければなりません。また、トランジット AS あるいは非トランジット AS のどちらでも構いません。トランジット AS は、別の ISP から到達可能なネットワークを宛先とするトラフィックを、ある ISP から受信し、転送します (トラフィックの宛先は顧客の AS 内ではありません)。非トランジット AS は、その AS を宛先とするトラフィックのみを受信します。その他のトラフィックはすべて破棄されます。一般に、トランジット AS 内の BGP ルータは、各 ISP から完全 BGP ルート テーブルの大部分 (多くの場合はすべて) を受信します。
• インターネット上の大規模ネットワーク以外でも、BGP はマルチホーム、負荷分散、および冗長性の標準です。
– シングルプロバイダ/シングルホーム - 一般的には BGP の有力候補ではありませんが、引き続き BGP を使用して ISP にネットワークを通知できます。シングルホーム ネットワークは RIR のパブリック AS に対応していません。
– シングルプロバイダ/マルチホーム - 一般的に、RFC2270 の提案に従って、単一のプライベート AS (64512 ~ 65535) を使用して BGP のメリットを得つつ、パブリック ASN を維持するのに使用されます。
– マルチプロバイダ/マルチホーム - 冗長性が高く、一般的には各 ISP に対して専用ルータを使用します。パブリック ASN が必要です。大量のメモリ フットプリントを使用します。
• ルートの要約によってルーティングがスケーラブルになります。
BGP は、TCP ポート 179 を通信に使用します。BGP は、宛先に対するエンドツーエンドのパス記述を含む、パスベクトル プロトコルと見なされます。BGP 近隣は、内部 (iBGP) または外部 (eBGP) のどちらかにすることができます。
• iBGP – 近隣者は同一 AS 内に存在します。
• eBGP – 近隣者は別の AS 内に存在します。
パスは、さまざまなパス属性でタグ付けされた UPDATE メッセージで通知されます。AS_PATH と NEXT_HOP は、BGP UPDATE メッセージでルートのパスを記述する、最も重要な 2 つの属性です。
• AS_PATH:ルートの送信元と送信先の AS を示します。以下の例では、AS_PATH は AS 7675 から AS 12345 宛てです。内部 BGP の場合、AS_PATH は送信元と送信先の両方に同一 AS を指定します。
• NEXT_HOP:パスが到達する次のルータの IP アドレスを示します。AS 境界を越えて通知されるパスは、境界ルータの NEXT_HOP アドレスを継承します。BGP は、内部ルーティング プロトコルを使用して NEXT_HOP アドレスに到達します。
BGP を定義した RFC 1771 には、以下の状態機械に関する BGP の動作が記述されています。図の下の表に、さまざまな状態に関する追加情報を示します。
Figure 98:29 BGP の有限状態機械
|
BGP 通信には、以下の種類のメッセージが含まれます。
• Open – TCP セッション確立後、BGP ピア間の最初のメッセージ。ASN、保留時間、およびマルチプロダクト拡張やルートリフレッシュ機能など、ピアリング セッションの確立に必要な情報が含まれます。
• Update – このメッセージには、ルートの告知または取り消しなどのパス情報が含まれます。
• Keepalive – TCP 層を使用可能な状態に保ち続け、生存性を通知するための定期的メッセージ。
• Notification – BGP セッションを終了させるための要求。致命的ではない通知には、エラー コード "cease" が含まれます。サブコードで、さらに詳細な情報を提供します。
|
• ルートリフレッシュ – ピアに対するルート再送の要求。
BGP の UPDATE メッセージには、以下の属性を含めることができます。
|
BGP 属性の詳細については、http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xml を参照してください。
• スケール - 現在、SonicOS では 512 ~ 2,048 のポリシーベース ルート (PBR) をサポートしています。これは、ルーティング テーブル全体に対して、あるいはルーティング テーブルの一部に対しても、十分ではありません。RIB に存在するルートの数は、(FIB である) PBR にインストールされている数より多い場合があります。複数の競合するルートをルーティング プロトコルから受信している場合は、このような状況が発生します。特定のネットワーク宛先への競合するルートが RIB に含まれているケースごとに、それらのルートから 1 つだけ選択して、FIB にインストールしてください。
現在、Dell SonicWALL の実装は、シングルプロバイダ/シングルホームの顧客に最も適しています。シングルプロバイダ/マルチホーム インストールは、既定のルートを ISP から受信している場合や、極めて少数の ISP 固有のルートを顧客が受信する場合にも適しています。後者の場合には、内部ルータが、ISP のネットワーク ドメイン内ではあるが AS の外部にある宛先への最適パスを選択できます (これは部分ルートと呼ばれます)。
• 負荷分散 - 現在、SonicOS または Zebos でマルチパス (「最大パス」機能) はサポートされていません。したがって、ネットワークを分割しなければ負荷分散を行えません。
• ループバック - 現在、ループバック インターフェースはサポートされていません。
• NAT - BGP はルーティング用です。NAT とはうまく共存できません。
• VPN 更新 - VPN 経由での BGP 更新は、現在機能していません。
• 非対称パス - 現在、ステートフル ファイアウォールは非対称パスを処理しません (特に複数のファイアウォールを越える場合)。
以下のセクションでは、BGP の高度なルーティングを SonicOS 用に設定する方法について説明します。
• Multiple Exit Discriminator (MED)
• 同期と自動要約
BGP は、パケットを平文で送信します。したがって、Dell SonicWALL では、セキュリティを強化するために、BGP セッションに使用する IPSec トンネルを設定することを推奨しています。IPSec トンネルと BGP の設定は、互いに独立しています。IPSec トンネルは、SonicOS GUI の VPN 設定セクションで完全に設定できます。一方、BGP は、「ネットワーク > ルーティング」ページで有効にしてから、SonicOS のコマンドライン インターフェースで設定します。IPSec 経由での BGP を設定する場合は、まず IPSec トンネルを設定し、BGP を設定する前に、トンネル経由での接続を確認します。
以下の手順は、Dell SonicWALL とリモート BGP ピア間の IPSec 設定の例です。Dell SonicWALL は X0 ネットワークの 192.168.168.75/24 に設定され、リモート ピアは X0 ネットワークの 192.168.168.35/24 に設定されています。
1. 「VPN > 設定」ページに移動して、「VPN ポリシー」セクションの下で「追加」ボタンを選択します。「VPN ポリシー」ウィンドウが表示されます。
2. 「ポリシー種別」プルダウン メニューで、「サイト間」が選択されていることを確認します。
Note IPSec 経由の BGP には、サイト間 VPN トンネルを使用する必要があります。トンネル インターフェースは BGP に対して機能しません。
3. 使用する認証方式をを選択します。この例では、「IKE (事前共有鍵を使用)」を使用します。
4. VPN ポリシーの名前を入力します。
5. 「プライマリ IPSec ゲートウェイ名またはアドレス」フィールドで、リモート ピアの IP アドレスを入力します (この例では 192.168.168.35)。
6. 「セカンダリ IPSec ゲートウェイ名またはアドレス」フィールドで、0.0.0.0 と入力します。
7. 共有鍵を入力し、確認します。
8. 「ローカル IKE ID」フィールドに、Dell SonicWALL の IP アドレス (この例では 192.168.168.75) を入力します。
9. 「ピア IKE ID」フィールドで、リモート ピアの IP アドレス (192.168.168.35) を入力します。
10. 「ネットワーク」タブを選択します。
11. ローカル ネットワークの場合、「ローカル ネットワークをリストより選択」プルダウン メニューから「X0 IP」を選択します。
12. リモート ネットワークの場合、「対象先ネットワークをリストより選択」プルダウン メニューからリモート ピアの IP アドレス (この例では 192.168.168.35) を選択します。リモート IP アドレスがリストにない場合は、「アドレス オブジェクトの作成」を選択して、その IP アドレスのアドレス オブジェクトを作成します。
13. 「プロポーザル」タブを選択します。既定の IPSec プロポーザルを使用することも、それをカスタマイズすることもできます。
14. 「詳細」タブを選択します。
15. 「キープ アライブを有効にする」チェックボックスをオンにします。
16. 「OK」を選択します。
これで、VPN ポリシーが Dell SonicWALL 装置で設定されました。今度は、リモート ピアに対して対応する IPSec 設定を行います。IPSec 設定が完了したら、「VPN > 設定」ページに戻り、VPN ポリシーの「有効」チェックボックスをオンにして、IPSec トンネルを開始します。
Dell SonicWALL の ping 診断を使用して BGP ピアの IP アドレスに ping を行い、Wireshark を使用して要求と応答が ESP パケットにカプセル化されていることを確認します。
Note この例の設定では、ルーティングされたトラフィックは BGP 用の IPSec トンネルを通りません。ルーティングされたトラフィックは、平文で送受信されます。ルーティングされたすべてのネットワーク トラフィックではなく BGP を保護することが目的なので、ほとんどの場合、これが望ましい動作です。
IPSec の設定の詳細については、『SonicOS 管理者ガイド』の VPN に関する章を参照してください。
Dell SonicWALL セキュリティ装置に BGP を設定するには、以下の作業を実行します。
1. SonicOS GUI で、「ネットワーク > ルーティング」ページに移動します。
2. 「ルーティング モード」プルダウン メニューで、「高度なルーティング」を選択します。
3. 「BGP」プルダウン メニューで、「有効 (CLI での設定)」を選択します。
Note BGP には SonicOS の拡張ライセンスが必要です。ライセンスの管理については、「システム > ライセンス」ページを参照してください。
GUI によって BGP が有効になった後、SonicOS のコマンドライン インターフェース (CLI) を使用して、BGP 設定の詳細が実行されます。SonicOS CLI への接続方法の詳細については、『SonicOS コマンドライン インターフェース ガイド』 ( http://www.SonicWALL.com/us/support/230_3623.html) を参照してください。
4. コンソール インターフェースから SonicOS CLI にログインします。
5. configure コマンドを入力して、設定モードに入ります。
6. route ars-bgp コマンドを入力して、BGP CLI に入ります。次のプロンプトが表示されます。
ZebOS version 7.7.0 IPIRouter 7/2009
ARS BGP>
7. これで、BGP の非設定モードに入りました。非設定コマンドの一覧が表示されます。
8. show running-config と入力して、現在の BGP 動作設定を確認します。
9. BGP 設定モードに入るには、configure terminal コマンドを入力します。設定コマンドの一覧が表示されます。
10. 設定が完了したら、write file コマンドを入力します。装置が高可用性ペアまたはクラスタの一部である場合は、設定の変更が他の装置に自動的に伝達されます。
以下の属性を使用して、BGP パス選択プロセスを設定できます。
|
weight コマンドは、アドレスファミリごとに 1 つの重み値を、近隣から取得したすべてのルートに割り当てます。複数のピアから同じプレフィックスが取得された場合は、最も高い重みを持つルートが優先されます。重みはローカル ルータにのみ関係します。
set weight コマンドで割り当てられる重みは、このコマンドで割り当てられる重みより優先されます。
ピアグループに対して重みを設定すると、そのピアグループのすべてのメンバーが同じ重みを持ちます。weight コマンドを使用して、特定のピアグループ メンバーに異なる重みを割り当てることもできます。
以下に重み設定の例を示します。
router bgp 12345
neighbor 12.34.5.237 remote-as 12345
neighbor 12.34.5.237 weight 60
router bgp 12345
neighbor group1 peer-group
neighbor 12.34.5.237 peer-group group1
neighbor 67.78.9.237 peer-group group1
neighbor group1 weight 60
ローカル プリファレンス属性は、装置のルーティング テーブルにある各外部ルートの優先度を示すのに使用されます。ローカル プリファレンス属性は、同一 AS 内の機器に送信されるすべての UPDATE メッセージに含まれます。ローカル プリファレンスは、外部 AS には伝達されません。次の図は、ローカル プリファレンスが近隣 AS 間のルートにどのように影響を与えるかを説明するトポロジの例を示しています。
Figure 98:30 BGP のローカル プリファレンス トポロジ
SNWL1 および SNWL2 に以下の BGP 設定が入力されています。SNWL2 のローカル プリファレンスの方が高いので、SNWL2 が AS 12345 (Dell SonicWALL AS) によって外部 AS に通知される優先ルートになります。
|
ルート マップはアクセス制御リストに似ています。ルート マップは、装置によるルートの処理方法を決定する一連の許可文や拒否文で構成されます。ルート マップは、送信トラフィックではなく受信トラフィックに適用されます。次の図は、ローカル プリファレンスの設定にルート マップを使用するトポロジの例を示しています。
Figure 98:31 ルート マップを使用した BGP ローカル プリファレンス トポロジ
SNWL1 および SNWL2 に以下の BGP 設定が入力されています。
|
SNWL2 (rmap1) に設定されているルート マップは、近隣 10.1.1.1 からの受信ルートに適用するように設定されています。次の 2 つの許可条件があります。
• route-map rmap1 permit 10:この許可条件は、AS 8888 からのトラフィックを許可し、AS 8888 からのルートをローカル プリファレンス 200 に設定するように構成されているアクセス リスト 100 に一致します。
• route-map rmap1 permit 10:この許可条件は、アクセス リスト 100 に一致しないその他すべてのトラフィック (すなわち 8888 以外の AS から受信するトラフィック) をローカル プリファレンス 150 に設定します。
AS_PATH プリペンドは、パス更新の先頭に AS 番号を追加する方法です。これによって、このルートのパスが長くなるため、優先度が低くなります。
AS_PATH プリペンドは、送信パスにも受信パスにも適用できます。近隣によって無効にされる場合、AS_PATH プリペンドが適用されないことがあります。
|
この設定によって、近隣 10.50.165.233 に AS_PATH プリペンド 12345 12345 でルートがインストールされます。これは、show ip bgp コマンドを入力すると表示されます。
ARS BGP>show ip bgp
BGP table version is 98, local router ID is 10.50.165.228
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ?- incomplete
Network Next Hop Metric LocPrf Weight Path
*> 12.34.5.0/24 10.50.165.233 0 0 12345 12345 12345 i
*> 7.6.7.0/24 0.0.0.0 100 32768 i
Total number of prefixes 2
Multiple Exit Discriminator (MED)
set metric コマンドをルート マップで使用して、パスの優先度を高くしたり、低くしたりできます。
router bgp 7675
network 7.6.7.0/24
neighbor 10.50.165.233 remote-as 12345
neighbor 10.50.165.233 route-map highmetric out
!
route-map highmetric permit 10
set metric 300
Multi Exit Discriminator (MED) は、パスの優先度に影響を与えることができるオプションの属性です。この属性は非通過です。つまり、単一の装置に設定されるもので、UPDATE メッセージで近隣に通知されません。このセクションでは、bgp always-compare-med コマンドと bgp deterministic-med コマンドの使用について検討します。
bgp always-compare-med コマンド
bgp always-compare-med コマンドを使用すると、パス選択のために、異なる AS からのパスの MED 値を比較することができます。より低い MED を持つパスが優先されます。
例として、BGP テーブルに以下のルートがあり、always-compare-med コマンドが有効であると考えてみましょう。
Route1: as-path 7675, med 300
Route2: as-path 200, med 200
Route3: as-path 7675, med 250
Route2 の MED が最も低いので、選択されるパスになります。
always-compare-med コマンドが無効の場合、Route1 と Route2 の AS パスは異なるので、比較の際に MED は考慮されません。Route1 と Route3 についてのみ MED が比較されます。
bgp deterministic-med コマンド
選択されるルートは、bgp deterministic-med コマンドにも影響を受けます。このコマンドは、同一自律システム内の異なるピアによって通知されるルートから選択する際に、MED を比較します。
bgp deterministic-med コマンドが有効の場合、同一 AS からのルートはまとめてグループ化され、各グループの最適ルートが比較されます。BGP テーブルが以下の場合、
Route1: as-path 200, med 300, internal
Route2: as-path 400, med 200, internal
Route3: as-path 400, med 250, external
BGP には Route1 のグループと、Route2 と Route3 からなる第 2 のグループ (同一 AS) があります。
各部グループの最適ルートが比較されます。Route1 は AS 200 からの唯一のルートなので、そのグループの最適ルートになります。
Route1 は、グループ AS 400 の最適ルート (MED が最も低い) である Route2 と比較されます。
2 つのルートは同一 AS からのものではないので、比較において MED は考慮されません。外部 BGP ルートは内部 BGP ルートより優先されるため、Route3 が最適ルートになります。
コミュニティは、いくつかの共通プロパティを共有し、通過 BGP コミュニティ属性を使用して設定できる、プレフィックスのグループです。1 つのプレフィックスは、複数のコミュニティ属性を持つことができます。ルータは、1 つ、一部、またはすべての属性に従って動作することができます。BGP コミュニティは、一種のタグ付けと考えることができます。以下に BGP コミュニティの設定例を示します。
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 send-community
neighbor 10.50.165.228 route-map comm out
!
access-list 105 permit 12.34.5.0/24
access-list 110 permit 23.45.6.0/24
!
route-map comm permit 10
match ip address 105
set community 7675:300
!
route-map comm permit 20
match ip address 110
set community 7675:500
!
router bgp 7675
bgp router-id 10.50.165.228
network 7.6.7.0/24
neighbor 10.50.165.233 remote-as 12345
neighbor 10.50.165.233 route-map shape in
!
ip community-list 1 permit 7675:300
ip community-list 2 permit 7675:500
!
route-map shape permit 10
match community 1
set local preference 120
route-map shape permit 20
match community 2
set local preference 130
同期設定により、iBGP 近接から取得したルートをルータが通知するかどうかを、IGP 内にこれらのルートが存在するかどうかに基づいて制御します。同期を有効にすると、BGP は OSPF または RIP (外部ゲートウェイ プロトコルである BGP とは逆に内部ゲートウェイ プロトコル) を通じて到達可能なルートのみを通知します。同期は、BGP ルート通知に関する問題の原因として一般的です。
自動要約設定により、ルートをクラスフルに通知するかどうかを制御します。自動要約も、BGP 設定に関する問題の原因として一般的です。
既定では、自動要約と同期は Zebos で無効になっています。
既に説明したとおり、AS ピアは、トランジット ピア (外部 AS から別の外部 AS へのトラフィックを許可する) にすることも、非トランジット ピア (すべてのトラフィックをその AS 上で開始または終了する必要がある) にすることもできます。トランジット ピアのルーティング テーブルは、大幅に大きくなります。一般的には、Dell SonicWALL セキュリティ装置をトランジット ピアとして設定する必要はありません。
Figure 98:32 トランジット ピアと非トランジット ピア
間違って Dell SonicWALL をトランジット ピアにすることのないよう、以下のように受信フィルタと送信フィルタを設定する必要があります。
送信フィルタ
ローカル AS から開始されるルートのみ送信を許可する:
ip as-path access-list 1 permit ^$
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 filter-list 1 out
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 filter list 1 out
所有するプレフィックスのみ送信を許可する:
ip prefix-list myPrefixes seq 5 permit 12.34.5.0/24
ip prefix-list myPrefixes seq 10 permit 23.45.6.0/24
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 prefix-list myPrefixes out
neighbor 172.1.1.2 prefix-list myPrefixes out
受信フィルタ
所有している、およびプライベート受信プレフィックスをすべて破棄する:
ip prefix-list unwantedPrefixes seq 5 deny 12.34.5.0/24 le 32
ip prefix-list unwantedPrefixes seq 10 deny 23.45.6.0/24 le 32
ip prefix-list unwantedPrefixes seq 20 deny 10.0.0.0/8 le 32
ip prefix-list unwantedPrefixes seq 21 deny 172.16.0.0/12 le 32
ip prefix-list unwantedPrefixes seq 22 deny 192.168.0.0/16 le 32
ip prefix-list unwantedPrefixes seq 30 permit 0.0.0.0/0 le 32
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 prefix-list unwantedPrefixes in
neighbor 172.1.1.2 prefix-list unwantedPrefixes in
次のトポロジは、Dell SonicWALL セキュリティ装置がマルチホーム BGP ネットワークを使用して 2 つの ISP 間で負荷を共有する例を示しています。
Figure 98:33
負荷共有トポロジ用のマルチホーム BGP
Dell SonicWALL セキュリティ装置は次のように設定されています。
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 route-map ISP1 out
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 route-map ISP2 out
!
route-map ISP1 permit 10
match ip address 1
set weight 100
route-map ISP1 permit 20
match ip address 2
route-map ISP2 permit 10
match ip address 1
route-map ISP2 permit 20
match ip address 2
set weight 100
access-list 1 permit 12.34.5.0/25
access-list 2 deny 12.34.5.0/25
access-list 2 permit any
以下のセクションでは、BGP 設定の確認方法について説明します。
次の図は、Dell SonicWALL セキュリティ装置で BGP が 2 つの異なる AS 上の 2 つのルータに接続するように設定されている、基本的な BGP トポロジを示したものです。
このネットワークの FIB 内のルートは、SonicOS GUI でも、CLI を使用することによっても表示できます。
BGP 設定の要約は、「ネットワーク > ルーティング」ページの上部にある「ルーティング モード」プルダウン メニューの横の「BGP 状況」ボタンを選択することによって、SonicOS GUI で表示できます。「BGP 状況」ウィンドウには、show ip bgp summary コマンドと show ip bgp neighbor コマンドの出力が表示されます。
FIB 内の BGP ルートも、SonicOS GUI で「ネットワーク > ルーティング」ページの「ルーティング ポリシー」テーブルに表示されます。
FIB ルートを CLI で表示するには、以下のコマンドを実行します。
SonicWALL> configure
(config[SonicWALL])> route ars-nsm
ZebOS version 7.7.0 IPIRouter 7/2009
ARS NSM>show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
B 7.6.7.0/24 [20/0] via 10.50.165.228, X1, 05:08:31
B 199.199.0/16 [20/0] via 10.50.165.237, X1, 05:08:31
C 10.50.165.192/26 is directly connected, X1
C 127.0.0.0/8 is directly connected, lo0
C 12.34.5.0/24 is directly connected, X0
RIB ルートを CLI で表示するには、show ip bgp コマンドを入力します。
ARS BGP>show ip bgp
BGP table version is 98, local router ID is 10.50.165.233
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ?- incomplete
Network Next Hop Metric LocPrf Weight Path
*> 7.6.7.0/24 10.50.165.228 0 0 7675 i
*> 12.34.5.0/24 0.0.0.0 100 32768 i
*> 199.199.0.0/16 10.50.165.228 0 0 7675 9999 i
Total number of prefixes 3
Note 最後のルートは AS7675 から取得された AS9999 へのパスです。
Dell SonicWALL BGP は、BGP トラフィックに関連するログ イベントを表示するための包括的なデバッグ コマンドを提供しています。BGP ログ採取は、CLI で以下のキーワードを付けて debug bgp コマンドを使用することで設定できます。
|
BGP デバッグを無効にするには、コマンドの前に "no" と入力します。例えば、イベントのデバッグを無効にするには、no debug events コマンドを入力します。
SonicOS GUI の「ログ > 表示」ページには、BGP ログ メッセージも表示できます。BGP メッセージは、ログ メッセージの「高度なルーティング」種別の一部として表示されます。
上のメッセージは、更新の受信元であるルータが装置に直接接続されていなかったため、送信 RIB に対する更新が拒否されたことを示しています。
直接接続されていない BGP ピアを許可するには、neighbor コマンドで ebgp-multihop キーワードを使用します。以下に例を示します。
neighbor 10.50.165.228 ebgp-multihop
ARD – 自律ルーティング ドメイン – 共通の管理ルーティング ポリシーを持つネットワーク/ルータの集まり。
AS - 自律システム – 識別番号が割り当てられ、一般的には境界ルータで BGP4 を実行している ARD。
BGP4: - Border Gateway Protocol 4: 最も一般的な EGP。
CIDR – Classless Inter-Domain Routing。ルート統合を通じて効率的なルート通知を可能にします。
CPE – 顧客構内設備 - 顧客のネットワークのエッジにあり、ISP とのやりとりに使用される機器。
EGP - 外部ゲートウェイ プロトコル – 自律システム間でのルーティング情報の伝達に使用される任意のプロトコル (実際には BGP4)。
完全ルート - グローバル BGP ルート テーブル全体。
FIB - Forwarding Information Base – SonicWAL の既存のルート テーブルで、パケットの転送時に送信インターフェースとネクスト ホップを探すために使用されます。
Looking Glass* - Looking Glass (LG) サーバは、LG サーバを実行している組織のルータに関する読み取り専用ビューです。一般的に、公的にアクセス可能な Looking Glass サーバは、ISP または NOC によって実行されます。
マルチホーム - 1 つ以上の ISP に対して複数の接続を持つ ISP 顧客。
マルチプロバイダ - 複数の ISP を利用してインターネットに接続する ISP 顧客。
NSM - ネットワーク サービス モジュール - FIB および RIB へのインターフェースを一元管理する ZebOS のコンポーネント。個々のルーティング プロトコル デーモンは、すべての RIB 更新について NSM とやりとりを行います。NSM は、RIB からの最適ルート情報でのみ FIB を更新します。
部分ルート - 完全 BGP ルート テーブルの一部で、通常は ISP のドメインの一部である宛先に固有です。
RIB - Route Information Base - NSM が所有する実行時データベースで、収集されたすべてのルート情報の保存に使用され、ルーティング プロトコルによって使用されます。