投稿忘れてた…
参考資料・時間
資料:
CCIE Enterprise Infrastructure Foundation lab
BGP lab 4
勉強時間:
約3時間
学習内容
〇BGPコンフェデレーション
eBGP, iBGPをまとめて一つのASとして扱う。
show ip bgp の結果としては、Pathの()内がBGPコンフェデレーション内部となる。
R1(config-router)#do sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 1.0.0.0 0.0.0.0 0 32768 i
*> 2.0.0.0 12.1.1.2 0 100 0 (65023) i
*> 3.0.0.0 23.1.1.3 0 100 0 (65023) i
*> 5.0.0.0 45.1.1.5 0 500 0 (65023 65045) i
*> 11.0.0.0 0.0.0.0 0 32768 i
これを外部ASから見ると以下の通り。
R6(config-route-map)#do sh ip bgp | beg Net
Network Next Hop Metric LocPrf Weight Path
* 1.0.0.0 56.1.1.5 0 100 i
*> 46.1.1.4 0 100 i
* 2.0.0.0 56.1.1.5 0 100 i
*> 46.1.1.4 0 100 i
* 3.0.0.0 56.1.1.5 0 100 i
*> 46.1.1.4 0 100 i
* 4.0.0.0 56.1.1.5 0 100 i
*> 46.1.1.4 0 0 100 i
* 5.0.0.0 46.1.1.4 0 100 i
*> 56.1.1.5 0 0 100 i
*> 6.0.0.0 0.0.0.0 0 32768 i
* 11.0.0.0 56.1.1.5 0 100 i
*> 46.1.1.4 0 100 i
設定
router bgp 65001
bgp confederation identifier 100
bgp confederation peers 65023
network 1.0.0.0
network 11.0.0.0
neighbor 12.1.1.2 remote-as 65023
BGPコンフェデレーション全体をAS、BGPコンフェデレーション内のASをサブASと呼ぶ。
全体のASを指定するのが以下。
bgp confederation identifier [全体AS番号]
eBGPにて別のサブASと接続する機器は以下のコマンドを実行。
bgp confederation peers [隣接サブAS番号]
〇その他
local-preferenceについては使用可能。
AS内部ではeBGPが使われていたとしても、iBGPと同様に動作する。
〇外部ASから学習した内容を別のサブASに経路広告しないようにする
外部AS側でルートマップを使うことで解決。
ip prefix-list Test-ip permit 6.0.0.0/8
route-map Local-AS permit 10
match ip address prefix-list Test-ip
route-map Local-AS permit 20
router bgp 600
neighbor 65.1.1.5 remote-as 100
neighbor 65.1.1.5 send-community
neighbor 65.1.1.5 route-map Local-AS out
ただし、サブAS内に特定の外部ASと接続するルータが2台ある場合、サブAS内部のiBGPによって外部ASルーティング情報が伝播してしまう。
これはコミュニティストリングスが付いていてもアドバタイズ時に外してしまう事が原因となる。
そのため、send-communityオプションでコミュニティストリングスを保持したままアドバタイズするようにすべき。
route-mapにて no-exportコミュニティを設定する方法については、BGPコンフェデレーションでは使用不可。
サブAS同士がeBGPで接続されていたとしても、大枠としてはiBGP扱いになってしまう事が原因。