BGPの設定 ~eBGP編~
今回の授業は、「eBGPの設定」について学んでいきます。BGPでは最初の実機の授業となるので、ステータス確認を丁寧に見ていきたいと思います。今までの授業をわかっている前提で進めていきますので、まだ受講されていない方は、座学からきちんと受けておいてくださいね!
Contents
お勉強構成
それでは、まずは勉強構成から見ていきましょう。今回は、eBGPのみの構成としますので、ゆっくり理解していきましょうね!
事前設定
それでは、BGPの設定をしていく前に事前の設定をしていきたいと思います。今回は、インターフェイスの設定だけとなりますので、お勉強構成を見ながら設定していきましょうね!
【RT1】
RT1(config)#interface Loopback0
RT1(config-if)#ip address 10.1.1.1 255.255.255.255
!
RT1(config-if)#interface FastEthernet0
RT1(config-if)#ip address 10.10.1.1 255.255.255.0
【RT2】
RT2(config)#interface Loopback0
RT2(config-if)#ip address 10.1.1.2 255.255.255.255
!
RT2(config-if)#interface FastEthernet0
RT2(config-if)#ip address 10.10.1.2 255.255.255.0
【RT3】
RT3(config)#interface Loopback0
RT3(config-if)#ip address 10.1.1.3 255.255.255.255
!
RT3(config)#interface FastEthernet0/0
RT3(config-if)#ip address 10.10.2.3 255.255.255.0
ここまでは、サラッとできましたか?今までの授業でも設定してきた基本設定ですので、そんなに難しくなかったかな?それでは、次に進みますよ。
BGPの設定
それでは、BGPの設定に入っていこうと思います。今回、設定するのは「ネイバー設定」と「ルート配布」となります。ルート配布も基本的な設定のみを教えていきますので、まずは、ルートが配布できたことを確認しておきましょう。
BGPネイバーの設定
まずは、ネイバー関係を確立するための設定をしていきます。EIGRPのネイバーを確立するときは、「network」を指定するとEIGRPが動いてるルータを探し出してネイバーを確立しようとしますが、BGPでは「neighbor x.x.x.x remote-as num」コマンドを使用します。その際にネイバーが所属しているASまで指定する必要があります。それでは、実際の投入するコマンドを見ていきましょう。
【RT1】
RT1(config)#router bgp 100
RT1(config-router)#neighbor 10.10.1.2 remote-as 200
【RT2】
RT2(config)#router bgp 200
RT2(config-router)#neighbor 10.10.1.1 remote-as 100
RT2(config-router)#neighbor 10.10.2.3 remote-as 300
【RT3】
RT3(config)#router bgp 300
RT3(config-router)#neighbor 10.10.2.3 remote-as 200
これでルータ1、ルータ2、ルータ3でネイバー関係が確立できたはずです。本来であれば、ここでネイバー関係の確認をしたいところですが、今回は続けてルートの配布までやってしまいます。
BGPでルート配布
次にネイバーに配布するルートを設定してみましょう。今回は、それぞれのルータのLoopback0インターフェイスのIPアドレスを配布してみたいと思います。ここで使用するのは「network x.x.x.x mask y.y.y.y」を使用していきます。
【RT1】
RT1(config)#router bgp 100
RT1(config-router)#network 10.1.1.1 mask 255.255.255.255
【RT2】
RT2(config)#router bgp 200
RT2(config-router)#network 10.1.1.2 mask 255.255.255.255
【RT3】
RT3(config)#router bgp 300
RT3(config-router)#network 10.1.1.3 mask 255.255.255.255
これで各ルータのLoopbackインターフェイスのルートを配布出来るようになったはずです。
ステータスの確認
それでは、ステータス確認をしていこうと思います。今回、使用するコマンドは以下になります。
show ip bgp neighbors
それでは、BGPのネイバー関係が想定通り確立できているかを確認していきたいと思います。使用するコマンドは、「show ip bgp neighbors」です。ここで特に確認しておきたいのは、ネイバーのIPアドレス、相手のAS番号ですね。以下のコマンド出力結果から、想定通りのステータスになっていることを確認しておきましょう。
【RT1】
RT1#show ip bgp neighbors
BGP neighbor is 10.10.1.2, remote AS 200, external link
BGP version 4, remote router ID 10.1.1.2
BGP state = Established, up for 01:07:32
Last read 00:00:32, last write 00:00:12, hold time is 180, keepalive interval is 60 seconds・
・Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1
Local host: 10.10.1.1, Local port: 33639
Foreign host: 10.10.1.2, Foreign port: 179
Connection tableid (VRF): 0
【RT2】
RT2#show ip bgp neighbors
BGP neighbor is 10.10.1.1, remote AS 100, external link
BGP version 4, remote router ID 10.1.1.1
BGP state = Established, up for 00:56:45
Last read 00:00:16, last write 00:00:44, hold time is 180, keepalive interval is 60 seconds
・
・Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1
Local host: 10.10.1.2, Local port: 179
Foreign host: 10.10.1.1, Foreign port: 33639
Connection tableid (VRF): 0・
・BGP neighbor is 10.10.2.3, remote AS 300, external link
BGP version 4, remote router ID 10.1.1.3
BGP state = Established, up for 00:39:40
Last read 00:00:40, last write 00:00:40, hold time is 180, keepalive interval is 60 seconds・
・Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1
Local host: 10.10.2.2, Local port: 179
Foreign host: 10.10.2.3, Foreign port: 27079
Connection tableid (VRF): 0
【RT3】
RT3#show ip bgp neighbors
BGP neighbor is 10.10.2.2, remote AS 200, external link
BGP version 4, remote router ID 10.1.1.2
BGP state = Established, up for 00:29:01
Last read 00:00:00, last write 00:00:01, hold time is 180, keepalive interval is 60 seconds
・
・Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1
Local host: 10.10.2.3, Local port: 27079
Foreign host: 10.10.2.2, Foreign port: 179
Connection tableid (VRF): 0
show ip bgp summary
「show ip bgp neighbors」コマンドを打ってもらうとわかると思いますが、かなり多くのログが出力されてきます。それぞれが重要な情報が入っているのですが、多くのルータとネイバー関係を確立している場合、見るのが大変になりますよね。そこで役立つのが、「show ip bgp summary」コマンドとなります。これも実行してもらうとわかりますが、かなりサマライズされた状態でネイバー関係の確立が状況がわかります。今回で言うと、以下のような出力結果になっているはずです。
【RT1】
RT1#show ip bgp summary
BGP router identifier 10.1.1.1, local AS number 100
・
・Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.1.2 4 200 8 6 4 0 0 00:02:33 2
【RT2】
RT2#show ip bgp summary
BGP router identifier 10.1.1.2, local AS number 200
・
・Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.1.1 4 100 15 16 4 0 0 00:10:32 1
10.10.2.3 4 300 14 16 4 0 0 00:10:29 1
【RT3】
RT3#show ip bgp summary
BGP router identifier 10.1.1.2, local AS number 200
・
・Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.2.2 4 200 21 19 4 0 0 00:15:29 2
「show ip bpg neighbors」と比較してみるとすごくシンプルですよね?ネイバー関係の確立を確認したいだけであれば、このコマンドで十分確認出来ると思います。
show ip bgp
次に「show ip bgp」コマンドを実行してみましょう。ここで確認できるのがBGPを通して配布されているルート情報になります。今回、各ルータのLoopbackインターフェイスを配布するようにしましたね。これが各ルータで受け取れているかを確認しておきましょう。
【RT1】
RT1#show ip bgp
BGP table version is 4, local router ID is 10.1.1.1
・
・Network Next Hop Metric LocPrf Weight Path
*> 10.1.1.1/32 0.0.0.0 0 32768 i
*> 10.1.1.2/32 10.10.1.2 0 0 200 i
*> 10.1.1.3/32 10.10.1.2 0 200 300 i
今回、ここで見てもらいたいのが「Next Hop」と「AS_Pathアトリビュート」です。Next Hopに書かれている内容は、ルーティングテーブルに書かれているのと同じような位置づけになりますが、一部異なるのが自分が生成したルートについてです。自分が生成したルート(10.1.1.1/32)のNext Hopは、「0.0.0.0」で表示されるようになります。
ここで表示されている内容が、それぞれ異なりますね。例えば、ルータ3のLoopbackインターフェイスである「10.1.1.3/32」は、通過してきたAS200、300が表示されていることが分かりますね。同じように、ルータ2、ルータ3でも同じように確認していきましょう。
【RT2】
RT2#show ip bgp
BGP table version is 4, local router ID is 10.1.1.2
・
・Network Next Hop Metric LocPrf Weight Path
*> 10.1.1.1/32 10.10.1.1 0 0 100 i
*> 10.1.1.2/32 0.0.0.0 0 32768 i
*> 10.1.1.3/32 10.10.2.3 0 0 300 i
【RT3】
RT3#show ip bgp
BGP table version is 4, local router ID is 10.1.1.3
・
・Network Next Hop Metric LocPrf Weight Path
*> 10.1.1.1/32 10.10.2.2 0 200 100 i
*> 10.1.1.2/32 10.10.2.2 0 0 200 i
*> 10.1.1.3/32 0.0.0.0 0 32768 i
それぞれのルータで確認したルートが、想定通りのAS_PATHアトリビュートが表示されていることが確認できればOKですね。次の確認に進みましょう。
show ip route
最後にルーティングテーブルの確認をしましょう。ここでは、BGPで受け取ったルートに対して確認していきましょう。
RT1#show ip route
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.1.1.1/32 is directly connected, Loopback0
B 10.1.1.2/32 [20/0] via 10.10.1.2, 00:37:23
B 10.1.1.3/32 [20/0] via 10.10.1.2, 00:37:23
C 10.10.1.0/24 is directly connected, FastEthernet0
【RT2】
RT2#show ip route
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C 10.10.1.0/24 is directly connected, FastEthernet0
C 10.10.2.0/24 is directly connected, FastEthernet1
C 10.1.1.2/32 is directly connected, Loopback0
B 10.1.1.3/32 [20/0] via 10.10.2.3, 00:39:14
B 10.1.1.1/32 [20/0] via 10.10.1.1, 00:38:49
【RT3】
RT3#show ip route
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.10.2.0/24 is directly connected, FastEthernet0/0
B 10.1.1.2/32 [20/0] via 10.10.2.2, 00:40:14
C 10.1.1.3/32 is directly connected, Loopback0
B 10.1.1.1/32 [20/0] via 10.10.2.2, 00:39:43
ここで注目してもらいたいのが、ルータ1とルータ3のルーティングテーブルの表示です。ルータ1に「10.10.2.0/24」、ルータ3に「10.10.1.0/24」の表示されていないことが分かりますか?EIGRPでネイバー確立する際に使用するコマンドは、「network」コマンドでしたよね?そのため、ネイバーを確立するために使用するセグメントは、自動的にEIGRPのネイバーに伝搬されることになります。しかし、BGPで使用される「neighbor」コマンドはネイバーを探すためだけに使用され、明示的に「network」コマンドで伝搬するルートを指定しないとルートは1つも配布されません。
まとめ
今回の授業はここまでです。eBGPのみの構成で解説していきましたが、理解することが出来ましたでしょうか?次回はiBGPの設定について学んでいく予定ですが、まずは、ここまでをちゃんと理解しておきましょう!それでは、iBGPの授業に進んでいきましょう。
BGPの設定 ~iBGP編①~
BGP-TCP/IPルーティングとオペレーションの実際
![]() |
新品価格 |
インターネットルーティングアーキテクチャ BGPリソースの詳細
![]() |
インターネットルーティングアーキテクチャ ― BGPリソースの詳解 第2版 中古価格 |
マスタリングTCP/IP ルーティング編
![]() |
新品価格 |
ルーティングの授業
“BGPの設定 ~eBGP編~” に対して7件のコメントがあります。