内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

設定

ネットワーク図

設定

確認

ローカル ネットワークから宛先に送信されるパケット

宛先からローカル ネットワークに送信されるパケット

トラブルシュート

関連情報

概要

このドキュメントでは、2 つの個別のインターネット サービス プロバイダー（ISP）に接続されたマルチホーム Border Gateway Protocol（BGP）ネットワークに冗長性をもたらす方法を説明します。 1 つの ISP への接続で障害が発生すると、BGP set as-path {tag | prepend as-path-string}コマンドとHot Standby Router Protocol(HSRP)。

前提条件

要件

このドキュメントの読者は次のトピックについての専門知識を有している必要があります。

- Cisco HSRP

- HSRP の設定

- BGP でベスト パスを選択するアルゴリズム

- BGP の設定

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

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

表記法

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

背景説明

このドキュメントで説明する設定の目標は、以下のネットワーク ポリシーを実現することです。

- ネットワーク 192.168.21.0/24 上のホストから発信されてインターネットを宛先とするすべての発信トラフィックは R1 経由で ISP-A にルーティングすること。ただし、そのリンクまたは R1 で障害が発生した場合は、手動による介入なしでトラフィックを R2 経由で ISP-B に再ルーティングすること。

- インターネットから自律システム(AS 100)宛てのすべての着信トラフィックは、R1経由でルーティングされる必要があります。ISP-AからR1へのリンクに障害が発生した場合、着信トラフィックは自動的にISP-B経由でR2に再ルーティングされます。

これらの要件を満たすためのテクノロジーは、BGP と HSRP の 2 つです。

最初の完全冗長アウトバウンド パスの目標は、HSRP によって実現できます。通常、PC にはルーティング情報を収集して交換する機能はありません。デフォルト ゲートウェイの IP アドレスは PC 上で静的に設定されており、ゲートウェイ ルータがダウンした場合、PC はローカル ネットワーク セグメントの外部にあるすべてのデバイスへの接続性を失います。これは、代替ゲートウェイが存在するとしても同じです。HSRP は、完全冗長アウトバウンド パスの要件を満たすように設計されています。詳細については、HSRP の特徴および機能を参照してください。

2つ目の目的は、BGP set as-path prependコマンドを使用して達成できます。これにより、BGPはR2を経由して長いASパス（自分自身のAS番号を複数回前にする）をプレフィックス192.168.21.0/24ののにISP Bににリンクに経由するAS 100は、ISP-AからR1リンクまでの短いASパスを使用します。プライマリパスが（ISP-AからR1へ）失敗した場合、すべてのトラフィックが長いASパス（ISP-BからR2）を使用してネットワーク192.168.21.0/24に到達します。BGP set as-path prependコマンドの詳細は、AS_PATH属性をを参照してくださいケーススタディ文書。

設定

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

注： このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool（登録ユーザ専用）を使用してください。

ネットワーク図

このドキュメントでは以下に示すネットワーク設定を例にあげています。

この図では、AS 100 内のルータ 1（R1）とルータ 2（R2）には、AS 100 の外部 BGP（eBGP）ピアリングによって、それぞれ ISP-A（AS 300）、ISP-B（AS 400）がピアとして設定されています。AS 600 内のルータ 6（R6）には、AS 100 の eBGP ピアリングによって ISP-A と ISP-B の両方がピアとして設定されています。R1. R2にはiBGPピアリングがあり、最適なルーティングを確保するために必要です。たとえば、AS 400の内部ルートに到達しようとすると、R1はAS 300経由の長いパスを使用しません。代わりに、R1はトラフィックをR2に転送します。

R1 と R2 は、共通イーサネット セグメントで HSRP にも対応するように設定されています。同じイーサネット セグメント上のホストは、HSRP スタンバイ IP アドレス 192.168.21.10 を指すデフォルト ルートを使用します。

設定

R1

Current configuration

hostname R1

!

interface serial 0

ip address 192.168.31.1 255.255.255.0

!

interface Ethernet1

ip address 192.168.21.1 255.255.255.0

standby 1 priority 105

standby 1 preempt delay minimum 60

standby 1 ip 192.168.21.10

standby 1 track Serial0

!--- The  standby track serial command tracks the state of !--- the Serial0 interface and brings down the !--- priority of standby group 1, if the interface goes down. !--- The  standby preempt delay minimum 60 command makes sure that !--- R1 preempts and takes over as active router again. This command also ensures that !--- the router waits 60 seconds before doing so in order to give BGP time enough !--- to converge and populate the routing table. This avoids !--- traffic being sent to R1 before it is ready to forward it.

!

!

router bgp 100

no synchronization

network 192.168.21.0

neighbor 192.168.21.2 remote-as 100

neighbor 192.168.21.2 next-hop-self

neighbor 192.168.31.3 remote-as 300

no auto-summary

!

R2

Current configuration:

hostname  R2

!

interface serial 0

ip address 192.168.42.2 255.255.255.0

!

interface Ethernet1

ip address 192.168.21.2 255.255.255.0

standby 1 priority 100

standby 1 preempt

standby 1 ip 192.168.21.10

!

!

router bgp 100

no synchronization

network 192.168.21.0

neighbor 192.168.21.1 remote-as 100

neighbor 192.168.21.1 next-hop-self

neighbor 192.168.42.4 remote-as 400

neighbor 192.168.42.4 route-map foo out

!--- It appends AS 100 to the BGP updates sent to AS 400 !--- in order to make it a backup for the ISP-A to R1 path.

no auto-summary

!

access-list 1 permit 192.168.21.0

route-map foo permit 10

match ip address 1

set as-path prepend 100

end

確認

ここでは、設定が正しく機能していることを確認するために使用する情報を示します。

一部の show コマンドはアウトプット インタープリタ ツールによってサポートされています（登録ユーザ専用）。このツールを使用することによって、show コマンド出力の分析結果を表示できます。

どのネットワークでも冗長性を設定する際は、以下の 2 つの点を考慮する必要があります。

- ローカル ネットワークから宛先ネットワークへと向かう冗長パスの作成

- 宛先ネットワークからローカル ネットワークへと戻る冗長パスの作成

ローカル ネットワークから宛先に送信されるパケット

この例では、ローカルネットワークは192.168.21.0/24で、ルータR1とR2はインターフェイスEthernet1に接続されたイーサネットセグメントでHSRPを実行しています。R1はスタンバイプライオリティ105でHSRPアクティブルータとして設定され、R2はスタンバイプライオリティ1100 R1でコマンドを発行すると、HSRPプロセスがそのインターフェイスを監視できます。インターフェイスがダウンすると、HSRP プライオリティが引き下げられます。インターフェイス s0 の回線プロトコルがダウンすると、HSRP プライオリティが 95 に下げられます（プライオリティを減らす際のデフォルト値は 10 です）。 これにより、もう一方の HSRP ルータ R2 のプライオリティ（100）のほうが高くなります。したがって、R2 が HSRP アクティブ ルータになり、アクティブ HSRP アドレス 192.169.21.10 を宛先とするトラフィックは R2 に取り込まれます。

show standbyコマンドを発行して、R1のインターフェイスs0がアップ状態のときにアクティブなHSRPルータを確認します。

R1#show standby

Ethernet1 - Group 1

Local state is Active, priority 105, may preempt

Hellotime 3 sec, holdtime 10 sec

Next hello sent in 0.338

Virtual IP address is 192.168.21.10 configured

Active router is local

Standby router is 192.168.21.2 expires in 8.280

Virtual mac address is 0000.0c07.ac01

13 state changes, last state change 00:46:10

IP redundancy name is "hsrp-Et0-1"(default)

Priority tracking 1 interface, 1 up:

Interface                    Decrement   State

Serial0                          10      Up

R2#show standby

Ethernet1 - Group 1

State is Standby

56 state changes, last state change 00:05:13

Virtual IP address is 192.168.21.10

Active virtual MAC address is 0000.0c07.ac01

Local virtual MAC address is 0000.0c07.ac01 (default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.964 secs

Preemption enabled

Active router is 192.168.21.1, priority 105 (expires in 9.148 sec)

Standby router is local

Priority 100 (default 100)

IP redundancy name is "hsrp-Et0-1" (default)

R1#show standby ethernet 1 brief

P indicates configured to preempt.

|

Interface   Grp Prio P State    Active addr     Standby addr    Group addr

Et1         1   105  P Active   local           192.168.21.2    192.168.21.10

R1#

R2#show standby ethernet 1 brief

P indicates configured to preempt.

|

Interface   Grp Prio P State    Active          Standby         Virtual IP

Et1         1   100  P Standby  192.168.21.1    local           192.168.21.10

R2#

show standbyコマンドでは、R1がアクティブHSRPルータとして表示されます。R1がアクティブルータであるため、R1はスタンバイIPアドレス192.168.21.10を所有します。デフォルトゲートウェイで設定されたホストから192.168.21.10へのIPトラフィックは、R1を経由します。

ルータ R1 上のインターフェイス s0 をダウンさせると、HSRP アクティブ ルータが変更されます。R1 上の HSRP には standby track serial 0 コマンドが設定されているためです。Serial 0インターフェイスプロトコルがダウンすると、HSRPはR1のプライオリティを10（デフォルト）減らして95にします。R1の状態は「スタンバイ」に変わります。R2はアクティブルータとして引き継がれ、スタンバイIPアドレス192.168.21.10を所有します。したがって、192.168.21.0/24セグメントのホストを宛先とするすべてのトラフィックはR2を経由してトラフィックをルーティングします。debugおよびshowコマンドの出力で、同事を確認します。

R1(config)# interface s0

R1(config-if)# shut

%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Active         -> Speak

%LINK-5-CHANGED: Interface Serial0, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down

%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Speak  -> Standby

%LINK-3-UPDOWN: Interface Serial0, changed state to down:

%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Active       -> Speak

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down

%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Speak  -> Standby

R1 がスタンバイ ルータになることに注意してください。

R2 がアクティブ状態になると、以下のような出力が表示されます。

R2#

%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Standby        -> Active

R1とR2でshow standbyコマンドを実行すると、R1でインターフェイスs0がダウンした後のスタンバイプライオリティを確認します。

R1#show standby

Ethernet1 - Group 1

Local state is Standby, priority 95 (confgd 105), may preempt

Hellotime 3 sec, holdtime 10 sec

Next hello sent in 0.808

Virtual IP address is 192.168.21.10 configured

Active router is 192.168.21.2, priority 100 expires in 9.008

Standby router is local

15 state changes, last state change 00:00:40

IP redundancy name is "hsrp-Et0-1" (default)

Priority tracking 1 interface, 0 up:

Interface               Decrement   State

Serial0                      10     Down  (administratively down)

R1#

R2#show standby

Ethernet1 - Group 1

State is Active

57 state changes, last state change 00:00:33

Virtual IP address is 192.168.21.10

Active virtual MAC address is 0000.0c07.ac01

Local virtual MAC address is 0000.0c07.ac01 (bia)

Hello time 3 sec, hold time 10 sec

Next hello sent in 2.648 secs

Preemption enabled

Active router is local

Standby router is 192.168.21.1, priority 95 (expires in 7.096 sec)

Priority 100 (default 100)

IP redundancy name is "hsrp-Et0-1" (default)

R2#

R2#

R1#sh standby ethernet 1 brief

P indicates configured to preempt.

|

Interface   Grp Prio P State    Active addr     Standby addr    Group addr

Et0         1   95   P Standby  192.168.21.2    local           192.168.21.10

R1#

R2#sh standby ethernet 1 brief

P indicates configured to preempt.

|

Interface   Grp Prio P State    Active          Standby         Virtual IP

Et0         1   100  P Active   local           192.168.21.1    192.168.21.10

R2#

R1 のスタンバイ プライオリティが 105 から 95 に下がると、R2 がアクティブ ルータになります。

要約

ISP-AとR1間の接続に障害が発生した場合、HSRPはR1のスタンバイグループのプライオリティを下げます。R1はアクティブステートからスタンバイステートになります。R2 はスタンバイ状態からアクティブ状態に変わります。スタンバイ IP アドレス 192.168.21.10 は R2 でアクティブになり、トラフィックをインターネットに送信するホストは R2 と ISP-B を使用して、発信トラフィックの代替パスを提供します。

HSRP standby track コマンドの詳細については、standby preempt および standby track コマンドの使用方法を参照してください。

宛先からローカル ネットワークに送信されるパケット

「背景説明」セクションで定義しているネットワーク ポリシーによると、192.168.21.0/24 を宛先とするトラフィックのプライマリ パスは ISP-A であり（ISP-A に向かう接続の帯域幅のほうが大きいため）、バックアップ パスは ISP-B です。したがって、R2 内の ISP-B に対してアナウンスされた BGP 更新に独自の AS 番号を付加することで、ISP-B 経由の AS パスのほうが長く見えるようにすることができます。これを行うには、BGPネイバー192.168.42.4のルートマップを設定します。そのルートマップで、set as-path prependコマンドを使用して独自のASを追加します。このルート マップをネイバー 192.168.42.4 に対するアウトバンド更新に適用します。

注：実稼働では、アナウンスされたルートが優先されないように、AS番号を複数回付加する必要があります。

以下に、ISP-A の R1 と ISP-B の R2 間で BGP 接続がアップしている場合にネットワーク 192.168.21.0 に適用される R6 内の BGP テーブルを示します。

R6#

show ip bgp 192.168.21.0

BGP routing table entry for 192.168.21.0/24, version 30

Paths: (2 available, best #1)

Advertised to non peer-group peers:

192.168.64.4

300 100

192.168.63.3 from 192.168.63.3 (10.5.5.5)

Origin IGP, localpref 100, valid, external, best, ref 2

400 100 100

192.168.64.4 from 192.168.64.4 (192.168.64.4)

Origin IGP, localpref 100, valid, external

BGP は ISP-A 経由の AS パス {300 100} をベスト パスとして選択します。ISP-B からの AS パス {400 100 100 } と比べると AS パス長が短いためです。ISP-B からの AS パスのほうが長い理由は、R2 での AS パス付加設定にあります。

R1 と ISP-A 間の接続が切断された場合、R6 は AS 100 内のネットワーク 192.168.21.0/24 に到達するために ISP-B 経由の代替パスを選択する必要があります。

R1(config)#interface s0

R1(config-if)#shut

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down

以下に、ネットワーク 192.168.21.0/24 に対する R6 内の BGP テーブルを示します。

R6#show ip bgp 192.168.21.0

BGP routing table entry for 192.168.21.0/24, version 31

Paths: (1 available, best #1)

Advertised to non peer-group peers:

192.168.63.3

400 100 100

192.168.64.4 from 192.168.64.4 (192.168.64.4)

Origin IGP, localpref 100, valid, external, best

マルチホーム ネットワークでの BGP 設定の詳細については、2 つの異なるサービス プロバイダーを使用した BGP の設定例（マルチホーム）を参照してください。

トラブルシュート

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

関連情報

- シングルホームおよびマルチホーム環境における、BGP を使用したロード シェアリング：サンプル設定

- BGPルータは最適パス選択のためにマルチエグジット識別子をどのように使うか

- HSRP によるロード シェアリング

- HSRP テクノロジーに関するサポート ページ

- BGP テクノロジーに関するサポート ページ

- IP ルーティング テクノロジーに関するサポート ページ

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