BGP基本設定①
※Packet Tracer では、iBGPをサポートしていないため、BGPのごく一部の機能しか試すことができません。細かな機能の検証については、実機が必要です。ここでは、実機で検証した内容を紹介しています。
検証に用いたルータは、Cisco2500シリーズのルータです。Cisco2500ルータは、中古で安く入手できるコストパフォーマンスに優れたルータです。
ここでは、BGPを使って下図のネットワークを構築します。
BGPの設定は、様々な属性を与えて経路選択を操作することができるため、少々設定が複雑です。
もちろん、BGPの動作確認も行えます。
使用するネットワークは、下図になります。

今回のBGPの基本設定では、以下のことを行います。
・AS100内の「10.10.10.0/24」のルートをAS200に通知する。
AS100内では、AS200へはデフォルトルート「0.0.0.0」を使って到達するようにします。これは、BGPの設定を簡略化するためです。今回、AS100では、AS200内のルートを扱いません。BGPでは、BGPで経路を学習しても、IGPで学習するまで有効にしないBGP同期という機能があるためです。
BGPの設定の流れ
1.BGPプロセスを有効にする。
Router(config)#rotuer bgp {AS番号}
2.ピアを確立する近接ルータを指定する。
IGPのように自動でネイバーの登録は、行われません。管理者がネイバーの登録を行います。
Router(config-router)#neighbor {ピアを張るルータのIP} remote-as {AS番号}
3.通知する経路を指定する。
Router(config-router)#network {ネットワークIP} mask {サブネットマスク}
BGP同期の設定
BGPでは、『たとえBGPで経路情報を学習してもIGPで学習するまでは、その経路情報を有効にしない。』というBGP同期という機能があります。
※現在のIOSのバージョンではデフォルトで無効になっているため、以下のコマンドは必要ありません。
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_B(config)#router bgp 200
Router_B(config-router)#neighbor 172.17.0.1 remote-as 200
Router_B(config-router)#no auto-summary
各ルータの設定
それでは、ルータを設定してゆきます。各ルータの設定は、下のようになります。
強制的にインターフェイスをUPさせるために、Router_AのE0インターフェイスで「no keepalive」コマンドを設定しておきます。
●Router_Aの設定
!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
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
!
line vty 0 4
 password cisco
 login
!
end
●Router_Bの設定
!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
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
!
line vty 0 4
 password cisco
 login
!
end
●Router_Cの設定
!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
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
!
line vty 0 4
 password cisco
 login
!
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基本設定(ベストパスの確認)②」で説明します。
