内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

設定

ネットワーク図

フル インターネット ルーティング テーブルを受信するための設定

直接接続ルートを受信するための設定

デフォルト ルートだけを受信するための設定

確認

トラブルシュート

関連情報

概要

ボーダー ゲートウェイ プロトコル（BGP）は、インターネット接続の冗長性を実現するために使用する主要プロトコルの 1 つです。2 つの異なるインターネット サービス プロバイダー（ISP）にネットワークを接続することをマルチホーミングと呼びます。マルチホーミングにより、冗長性とネットワークの最適化が実現します。マルチホーミングによって、リソースへの最適なパスを提供する ISP を選択できます。複数のサービス プロバイダーの BGP を実行している場合、自律システム（AS）が中継 AS になる危険性があります。これが原因で、インターネット トラフィックがこの AS を通過し、帯域幅およびルータの CPU リソースすべてを使い果たす可能性があります。このドキュメントでは、適切な設定例を挙げてこの問題について説明します。

前提条件

要件

この設定を開始する前に、次の項目に関する知識を必ず取得しておきます。

- Cisco BGP の実装

- 基本的な BGP 設定タスクの一覧

- BGP ケース スタディ

使用するコンポーネント

このドキュメントの情報は、Cisco IOS? を実行している Cisco 2500 シリーズ ルータに基づくものです。ソフトウェア リリース 12.2(27) が稼働中であること）

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

フル インターネット ルーティング テーブルを受信するには、ローカル ルータ（このドキュメントの例ではルータ A）でフル インターネット ルーティング テーブルを受信するための設定を使用します。

サービス プロバイダーに直接接続しているルートを受信する必要があるが、その他のインターネットに対してはデフォルト ルートを使用したい場合は、直接接続ルートを受信するための設定を試みてください。

直接接続しているサービス プロバイダーからデフォルト ルートだけを受信する場合は、デフォルト ルートだけを受信するための設定を使用します。

このドキュメントの設定で使用されている正規表現の詳細については、『BGP での正規表現の使用』を参照してください。

設定

このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。

ネットワーク図

このドキュメントでは、次のネットワーク セットアップを使用します。

このネットワーク図では、1.0.0.0/8 および 2.0.0.0/8 が AS300 により外部へアドバタイズされます。

フル インターネット ルーティング テーブルを受信するための設定

次の設定により、ルータ A は 他の自律システム内の BGP スピーカとピア関係を確立できます。route-map localonly を使用すると、ローカルに生成されたルートだけを両方のサービス プロバイダーにアドバタイズできます。つまり、あるサービス プロバイダーから他のサービス プロバイダーに戻るインターネット ルートをフィルタリングします。これにより、自律システムがインターネット トラフィックの中継 AS となるリスクが防止されます。

注：インターネットルーティングテーブル全体に対して、1つのピアから1 GBのメモリを使用することを推奨します。

ルータ A

Current configuration:

router bgp 300

network 1.0.0.0

network 2.0.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider A (SP-A).

neighbor 20.20.20.20 remote-as 200

neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider B (SP-B).

end

次の AS-Path アクセス リストでは、ローカルで生成された BGP ルートだけが許可されます。

ip as-path access-list 10 permit ^$

これは、AS-Path アクセス リストを使用して、サービス プロバイダーのネットワークの外部近隣ルータにアドバタイズされたルートをフィルタリングするルート マップの例です。

route-map localonly permit 10

match as-path 10

直接接続ルートを受信するための設定

ルータ A

Current configuration:

router bgp 300

network 1.0.0.0

network 2.0.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

neighbor 10.10.10.10 route-map as100only in

!--- Incoming policy route-map that filters routes from SP-A.

neighbor 20.20.20.20 remote-as 200

neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

neighbor 20.20.20.20 route-map as200only in

!--- Incoming policy route-map that filters routes from SP-B.

end

サービス プロバイダーに直接接続されルートだけを受け付けるため、サービス プロバイダーが送信するルートの他に自分がアドバタイズするルートもフィルタリングする必要があります。次のアクセス リストとルート マップは、ローカルで作成されたルートだけを許可します。これを使用して、送信ルーティング アップデートをフィルタリングします。

ip as-path access-list 10 permit ^$

!--- Configuring the as-path access-list 10 as !--- IP as-path access-list 10 permit ^$, means that the router !--- will only send the prefixes which are generated locally in !--- AS 300 and not from any other AS.

route-map localonly permit 10

match as-path 10

次のアクセス リストとルート マップは、最初のサービス プロバイダーのネットワーク内から発信されたもの以外をフィルタにかけて除外します。これを使用して、サービス プロバイダー A（SP-A）からラーニングされたルートをフィルタリングします。

ip as-path access-list 20 permit ^100$

route-map as100only permit 10

match as-path 20

次のアクセス リストとルート マップは、2 番目のサービス プロバイダーのネットワーク内から発信されたもの以外をフィルタにかけて除外します。これを使用して、サービス プロバイダー B（SP-B）からラーニングされたルートをフィルタリングします。

ip as-path access-list 30 permit ^200$

route-map as200only permit 10

match as-path 30

また、ネットワークの残りの部分に再配布する 2 つのデフォルト ルートを指定して、各サービス プロバイダーの入口点を示す必要があります。

ip route 0.0.0.0 0.0.0.0 10.10.10.10

ip route 0.0.0.0 0.0.0.0 20.20.20.20

デフォルト ルートだけを受信するための設定

ルータ A

Current configuration:

router bgp 300

network 1.0.0.0

network 2.0.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

neighbor 10.10.10.10  prefix-list  ABC in

neighbor 20.20.20.20 remote-as 200

neighbor 20.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

neighbor 20.20.20.20 prefix-list  ABC in

ip prefix-list  ABC  seq 5 permit 0.0.0.0/0

!--- Prefix list to allow only default route updates.

end

ルータ A にはデフォルト ルートだけを受信させ、SP-A と SP-B の他のネットワークは受信させないことにするためには、デフォルト ルートだけを許可して他のすべての BGP アップデートを拒否する必要があります。次のプレフィクス リストを使用して、ルータ A でデフォルト ルート アップデート 0.0.0.0/0 だけを許可し、他のすべての BGP アップデートを拒否します。

ip prefix-list ABC seq 5 permit 0.0.0.0/0

このプレフィクス リストを、個々の BGP 近隣ルータの受信アップデートに次のように適用します。

neighbor 10.10.10.10 prefix-list ABC in

neighbor 20.20.20.20 prefix-list ABC in

プレフィックス リストの設定方法の詳細については、『BGP の設定』の「プレフィクス リストによる BGP フィルタリングの設定」の項を参照してください。

各コマンドの機能については、『BGP の設定』および『BGP コマンド』を参照してください。

確認

ここでは、設定が正常に機能しているかどうかを確認します。

アウトプット インタープリタ ツール（登録ユーザ専用）（OIT）は、特定の show コマンドをサポートします。OIT を使用して、show コマンドの出力の分析を表示します。

show ip route と show ip bgp コマンドを使用すると、IP ルーティング テーブルと BGP ルーティング テーブルのエントリを確認できます。

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

関連情報

- プレフィックス リストを使用してデフォルト ルートだけを受け入れるように BGP を設定する方法

- BGP ケース スタディ

- BGP のトラブルシューティング

- BGP に関するサポート ページ

- テクニカル サポートとドキュメント – Cisco Systems