BGPの応用設定(その1)

※Packet Tracer では、iBGPをサポートしていないため、BGPのごく一部の機能しか試すことができません。細かな機能の検証については、実機が必要です。ここでは、実機で検証した内容を紹介しています。

 検証に用いたルータは、Cisco2500シリーズのルータです。Cisco2500ルータは、中古で安く入手できるコストパフォーマンスに優れたルータです。

 「BGPの基本設定」、「BGPの基本設定(ベストパスの確認)」では、BGPの基本設定について解説しました。ここでは、BGPが奥が深いことを体験するために一歩踏み込んだ演習を行いきます。

ここでは、BGPを使って下図のネットワークを構築します。

BGPの設定は、様々な属性を与えて経路選択を操作することができるため、少々設定が複雑です。

今回のBGPの基本設定では、以下のことを行います。

・AS100内の「10.10.10.0/24」のルートをAS200に通知する。

 AS100内では、AS200へはデフォルトルート「0.0.0.0」を使って到達するようにします。これは、BGPの設定を簡略化するためです。今回、AS100では、AS200内のルートを扱いません。

BGPの設定の流れの復習

BGPの設定の流れを復習しておきます。BGPの設定の流れは、以下のような流れとなります。

1.BGPプロセスを有効にする。

 BGPでは、ピアを複数張ることができますが、1台のBGPルータで有効化できるBGPプロセスは1つだけとなります。そこで、プロセス番号ではなく、AS番号を指定します。

Router(config)#rotuer bgp {as-number}

※as-number:AS番号を 1 ~ 65535 の範囲で指定

2.ピアを確立する近接ルータを指定する。

IGPのように自動でネイバーの登録は、行われません。管理者がネイバーの登録を行います。

Router(config-router)#neighbor {ピアを張るルータのIP} remote-as {as-number}

3.通知する経路を指定する。

Router(config-router)#network {ネットワークIP} mask {サブネットマスク}

BGP同期の設定

 BGPでは、『たとえBGPで経路情報を学習してもIGPで学習するまでは、その経路情報を有効にしない。』というBGP同期という機能があります。

 このBGP同期の機能は、IOS12.2(8)以前のバージョンでは、デフォルトで有効になっています。ここでは、この機能を無効にしておきます。現在のIOSでは、デフォルトでBGP同期は無効になっています。

Router(config-router)#no synchronization

●Router_Aの設定

Router_AのBGPルーティングの設定は、以下のようになります。

Router_Aが所属するASは、100です。BGPのプロセスを100で指定します。

Router_A(config)#router bgp 100

次に、ピアを張るBGPスピーカーのIPアドレスを指定し、そのBGPスピーカーが所属するAS番号を指定します。

Router_A(config-router)#neighbor 172.16.0.2 remote-as 200

最後に、BGPで通知する経路情報を指定します。

Router_A(config-router)#network 10.10.10.0 mask 255.255.255.0
Router_A(config-router)#no auto-summary

●Router_Bの設定

Router_B(config)#router bgp 200
Router_B(config-router)#neighbor 172.16.0.1 remote-as 100
Router_B(config-router)#neighbor 172.17.0.2 remote-as 200
Router_B(config-router)#no auto-summary

●Router_Cの設定

Router_C(config)#router bgp 200
Router_C(config-router)#neighbor 172.17.0.1 remote-as 200
Router_C(config-router)#no auto-summary

●各ルータの設定

それでは、ルータを設定してゆきます。各ルータの設定は、下のようになります。

 強制的にインターフェイスをUPさせるために、Router_AのE0インターフェイスで「no keepalive」コマンドを設定しておきます。

●Router_Aの設定

!
version 11.2
!
hostname Router_A
!
enable password cisco
!
interface Ethernet0
 ip address 10.10.10.1 255.255.255.0
 no keepalive
!
interface Serial0
 ip address 172.16.0.1 255.255.0.0
 clockrate 64000
!
router bgp 100
 no synchronization
 network 10.10.10.0 mask 255.255.255.0
 neighbor 172.16.0.2 remote-as 200
 no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.0.2
!
end

●Router_Bの設定

!
version 11.2
!
hostname Router_B
!
enable password cisco
!
interface Serial0
 ip address 172.16.0.2 255.255.0.0
!
interface Serial1
 ip address 172.17.0.1 255.255.0.0
 clockrate 64000
!
router bgp 200
 no synchronization
 neighbor 172.16.0.1 remote-as 100
 neighbor 172.17.0.2 remote-as 200
 no auto-summary
!
ip classless
!
end

●Router_Cの設定

!
version 11.2
!
hostname Router_C
!
enable password cisco
!
interface Serial0
 ip address 172.17.0.2 255.255.0.0
!
router bgp 200
 no synchronization
 neighbor 172.17.0.1 remote-as 200
 no auto-summary
!
ip classless
!
end

各ルータのルーティングテーブルを確認してみます。

●Router_Aのルーティングテーブル

Gateway of last resort is 172.16.0.2 to network 0.0.0.0

     10.0.0.0/24 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, Ethernet0
C    172.16.0.0/16 is directly connected, Serial0
S*   0.0.0.0/0 [1/0] via 172.16.0.2

●Router_Bのルーティングテーブル

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 1 subnets
B       10.10.10.0 [20/0] via 172.16.0.1, 00:13:22
C    172.16.0.0/16 is directly connected, Serial0
C    172.17.0.0/16 is directly connected, Serial1

●Router_Cのルーティングテーブル

Gateway of last resort is not set

C    172.17.0.0/16 is directly connected, Serial0

ここで、もう一度、設定した内容を確認します。

Router_Aでは、デフォルトルートでAS200に到達するように設定しました。

Router_Bでは、BGPのルート「10.10.10.0」のルートがあります。

Router_Cでは、BGPによる「10.10.10.0」のルートがありません。

 今まで、RIP、IGRP、EIGRP、OSPFなどのルーティングプロトコルを設定してきましたが、BGPでは、今までのルーティングの設定と、ちょっと勝手が違います。これが、BGPの奥の深さを物語っています。

この続きは、「BGPの応用設定(その2)」で解説します。

関連コンテンツ