目次
概要
CiscoルータでBGPルートを集約するaggregate-addressコマンドにはたくさんのオプションがあります。オプションは、以下の2つに分類できます。
- 集約前のルートをどう扱うか
- 集約ルートのアトリビュートをどうするか
advertise-mapは、「集約ルートのアトリビュートをどうするか」についてのオプションです。そして、as-setと一緒に使うオプションです。
as-setによって集約ルートに集約前のルートのアトリビュートを継承させることができます。そのとき、集約前の「すべて」のルートのAS番号、コミュニティが集約ルートに継承されます。advetise-mapを利用すると、特定の集約前ルートのアトリビュートのみを集約ルートに継承させることができます。
関連記事
as-setによる集約ルートへのアトリビュートの継承について詳しくは、以下の記事を参照してください。
aggregate-addressのオプション advertise-map
advertise-mapは、as-setと一緒に使うオプションです。as-setによって集約ルートに集約前のルートのアトリビュートを継承させることができます。そのとき、集約前の「すべて」のルートのAS番号、COMMUNITYが集約ルートに継承されます。advertise-mapを利用すると、特定の集約前ルートのアトリビュートのみを集約ルートに継承させることができます。
以下の図は、advertise-mapによって、集約ルート192.168.0.0/22に集約前ルート192.168.1.0/24と192.168.3.0/24のアトリビュートを継承する様子を示しています。
advertise-mapオプションの設定は、まずas-setが必要です。そして、ルートマップを指定します。ルートマップでpermitされる集約前ルートのアトリビュートが集約ルートに継承されることになります。
aggregate-address advertise-map
(config)#router bgp <AS>
(config-router)#aggregate-address <network-address> <subnetmask> as-set advertise-map <route-map-name>
<AS>:AS番号
<network-address>:集約ルートのネットワークアドレス
<subnetmask>:集約ルートのサブネットマスク
<route-map-name>:ルートマップ名
先の図のルータの設定は次のようになります。
advertise-map 設定例
access-list 1 permit 192.168.1.0 access-list 1 permit 192.168.3.0 ! route-map ADV-MAP permit 10 match ip address 1 ! router bgpaggregate-address 192.168.0.0 255.255.252.0 as-set advertise-map ADV-MAP
advertise-mapのオプションで指定するルートマップにはsetは不要です。ルートマップのmatch条件で継承させたい集約前ルートが一致するようにします。
aggregate-address advertise-mapオプション 設定例
ネットワーク構成と初期設定
次のネットワーク構成のR1でaggregate-addressのadvertise-mapオプションを考えましょう。
aggregate-addressを設定する前のR1~R4のBGPに関する設定は次のとおりです。
R1 初期設定
R1では、AS2(R2)、AS3(R3)、AS4(R4)との間でEBGPネイバーを確立して、100.1.1.0/24~100.1.4.0/24をnetworkコマンドでアドバタイズしています。
R1 Initial Configuration
interface Loopback0 ip address 100.1.2.1 255.255.255.0 secondary ip address 100.1.3.1 255.255.255.0 secondary ip address 100.1.4.1 255.255.255.0 secondary ip address 100.1.1.1 255.255.255.0 ! router bgp 1 network 100.1.1.0 mask 255.255.255.0 network 100.1.2.0 mask 255.255.255.0 network 100.1.3.0 mask 255.255.255.0 network 100.1.4.0 mask 255.255.255.0 neighbor 12.12.12.2 remote-as 2 neighbor 12.12.12.2 send-community neighbor 13.13.13.3 remote-as 3 neighbor 13.13.13.3 send-community neighbor 14.14.14.4 remote-as 4 neighbor 14.14.14.4 send-community ip bgp-community new-format
R2 初期設定
R2ではAS1(R1)とEBGPを確立し、100.2.1.0/24~100.2.4.0/24のルートにCOMMUNITYをつけてアドバタイズしています。それぞれのルートのCOMMUNITYは次のとおりです。
100.2.1.0/24 2:1000
100.2.2.0/24 2:2000
100.2.3.0/24 2:3000
100.2.4.0/24 2:4000
R2 Initial Configuration
interface Loopback0 ip address 100.2.2.1 255.255.255.0 secondary ip address 100.2.3.1 255.255.255.0 secondary ip address 100.2.4.1 255.255.255.0 secondary ip address 100.2.1.1 255.255.255.0 ! router bgp 2 network 100.2.1.0 mask 255.255.255.0 network 100.2.2.0 mask 255.255.255.0 network 100.2.3.0 mask 255.255.255.0 network 100.2.4.0 mask 255.255.255.0 neighbor 12.12.12.1 remote-as 1 neighbor 12.12.12.1 send-community neighbor 12.12.12.1 route-map COMMUNITY ip bgp-community new-format ! route-map COMMUNITY permit 10 match ip address 1 set community 2:1000 route-map COMMUNITY permit 20 match ip address 2 set community 2:2000 route-map COMMUNITY permit 30 match ip address 3 set community 2:3000 route-map COMMUNITY permit 40 match ip address 4 set community 2:4000 route-map COMMUNITY permit 1000 ! access-list 1 permit 100.2.1.0 access-list 2 permit 100.2.2.0 access-list 3 permit 100.2.3.0 access-list 4 permit 100.2.4.0
R3 初期設定
R3ではAS1(R1)とEBGPネイバーを確立し、100.3.1.0/24~100.3.4.0/24のルートにCOMMUNITYをつけてアドバタイズしています。それぞれのルートのCOMMUNITYは次のとおりです。
100.3.1.0/24 3:1000
100.3.2.0/24 3:2000
100.3.3.0/24 3:3000
100.3.4.0/24 3:4000
R3 Initial Configuration
interface Loopback0 ip address 100.3.2.1 255.255.255.0 secondary ip address 100.3.3.1 255.255.255.0 secondary ip address 100.3.4.1 255.255.255.0 secondary ip address 100.3.1.1 255.255.255.0 ! router bgp 3 network 100.3.1.0 mask 255.255.255.0 network 100.3.2.0 mask 255.255.255.0 network 100.3.3.0 mask 255.255.255.0 network 100.3.4.0 mask 255.255.255.0 neighbor 13.13.13.1 remote-as 1 neighbor 13.13.13.1 send-community neighbor 13.13.13.1 route-map COMMUNITY ip bgp-community new-format ! route-map COMMUNITY permit 10 match ip address 1 set community 3:1000 route-map COMMUNITY permit 20 match ip address 2 set community 3:2000 route-map COMMUNITY permit 30 match ip address 3 set community 3:3000 route-map COMMUNITY permit 40 match ip address 4 set community 3:4000 route-map COMMUNITY permit 1000 ! access-list 1 permit 100.3.1.0 access-list 2 permit 100.3.2.0 access-list 3 permit 100.3.3.0 access-list 4 permit 100.3.4.0
R4 初期設定
R4ではAS1(R1)とEBGPネイバーを確立しています。
aggregate-addressを設定する前のR1~R4のBGPに関する設定は次のとおりです。
R1 初期設定
R1では、AS2(R2)、AS3(R3)、AS4(R4)との間でEBGPネイバーを確立して、100.1.1.0/24~100.1.4.0/24をnetworkコマンドでアドバタイズしています。
R1 Initial Configuration
interface Loopback0 ip address 100.1.2.1 255.255.255.0 secondary ip address 100.1.3.1 255.255.255.0 secondary ip address 100.1.4.1 255.255.255.0 secondary ip address 100.1.1.1 255.255.255.0 ! router bgp 1 network 100.1.1.0 mask 255.255.255.0 network 100.1.2.0 mask 255.255.255.0 network 100.1.3.0 mask 255.255.255.0 network 100.1.4.0 mask 255.255.255.0 neighbor 12.12.12.2 remote-as 2 neighbor 12.12.12.2 send-community neighbor 13.13.13.3 remote-as 3 neighbor 13.13.13.3 send-community neighbor 14.14.14.4 remote-as 4 neighbor 14.14.14.4 send-community ip bgp-community new-format
R2 初期設定
R2ではAS1(R1)とEBGPを確立し、100.2.1.0/24~100.2.4.0/24のルートにCOMMUNITYをつけてアドバタイズしています。それぞれのルートのCOMMUNITYは次のとおりです。
100.2.1.0/24 2:1000
100.2.2.0/24 2:2000
100.2.3.0/24 2:3000
100.2.4.0/24 2:4000
R2 Initial Configuration
interface Loopback0 ip address 100.2.2.1 255.255.255.0 secondary ip address 100.2.3.1 255.255.255.0 secondary ip address 100.2.4.1 255.255.255.0 secondary ip address 100.2.1.1 255.255.255.0 ! router bgp 2 network 100.2.1.0 mask 255.255.255.0 network 100.2.2.0 mask 255.255.255.0 network 100.2.3.0 mask 255.255.255.0 network 100.2.4.0 mask 255.255.255.0 neighbor 12.12.12.1 remote-as 1 neighbor 12.12.12.1 send-community neighbor 12.12.12.1 route-map COMMUNITY ip bgp-community new-format ! route-map COMMUNITY permit 10 match ip address 1 set community 2:1000 route-map COMMUNITY permit 20 match ip address 2 set community 2:2000 route-map COMMUNITY permit 30 match ip address 3 set community 2:3000 route-map COMMUNITY permit 40 match ip address 4 set community 2:4000 route-map COMMUNITY permit 1000 ! access-list 1 permit 100.2.1.0 access-list 2 permit 100.2.2.0 access-list 3 permit 100.2.3.0 access-list 4 permit 100.2.4.0
R3 初期設定
R3ではAS1(R1)とEBGPネイバーを確立し、100.3.1.0/24~100.3.4.0/24のルートにCOMMUNITYをつけてアドバタイズしています。それぞれのルートのCOMMUNITYは次のとおりです。
100.3.1.0/24 3:1000
100.3.2.0/24 3:2000
100.3.3.0/24 3:3000
100.3.4.0/24 3:4000
R3 Initial Configuration
interface Loopback0 ip address 100.3.2.1 255.255.255.0 secondary ip address 100.3.3.1 255.255.255.0 secondary ip address 100.3.4.1 255.255.255.0 secondary ip address 100.3.1.1 255.255.255.0 ! router bgp 3 network 100.3.1.0 mask 255.255.255.0 network 100.3.2.0 mask 255.255.255.0 network 100.3.3.0 mask 255.255.255.0 network 100.3.4.0 mask 255.255.255.0 neighbor 13.13.13.1 remote-as 1 neighbor 13.13.13.1 send-community neighbor 13.13.13.1 route-map COMMUNITY ip bgp-community new-format ! route-map COMMUNITY permit 10 match ip address 1 set community 3:1000 route-map COMMUNITY permit 20 match ip address 2 set community 3:2000 route-map COMMUNITY permit 30 match ip address 3 set community 3:3000 route-map COMMUNITY permit 40 match ip address 4 set community 3:4000 route-map COMMUNITY permit 1000 ! access-list 1 permit 100.3.1.0 access-list 2 permit 100.3.2.0 access-list 3 permit 100.3.3.0 access-list 4 permit 100.3.4.0
R4 初期設定
R4ではAS1(R1)とEBGPネイバーを確立しています。
R4 Initial Configuration
router bgp 4 neighbor 14.14.14.1 remote-as 4 neighbor 14.14.14.1 send-community ip bgp-community new-format
as-setのみのaggregate-addressコマンド
まずは、R1での集約の設定にas-setのオプションを追加します。また、集約ルートのみを考えるために、summary-onlyも設定します。
R1 aggregate-address as-set
router bgp 1 aggregate-address 100.0.0.0 255.0.0.0 as-set summary-only
すると、集約前のすべてのルートのAS番号とコミュニティが継承された集約ルート100.0.0.0/8が生成されアドバタイズされます。R1でBGPテーブルを見てみます。
R1 show ip bgp 100.0.0.0
R1#sh ip bgp 100.0.0.0 BGP routing table entry for 100.0.0.0/8, version 27 Paths: (1 available, best #1, table Default-IP-Routing-Table) Flag: 0x820 Advertised to non peer-group peers: 12.12.12.2 13.13.13.3 14.14.14.4 {2,3}, (aggregated by 1 100.1.1.1) 0.0.0.0 from 0.0.0.0 (100.1.1.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, best Community: 2:1000 2:2000 2:3000 2:4000 3:1000 3:2000 3:3000 3:4000
advertise-mapの設定
advertise-mapは特定の集約前ルートのアトリビュート「のみ」を集約ルートに継承させるために使います。advertise-mapの後にはルートマップを指定し、ルートマップの中でpermitされたルートのアトリビュート(AS番号、コミュニティ)が集約ルートに継承されることになります。
実際にadvertise-mapを使ってみましょう。集約前のルートのうち、次のルートのアトリビュートのみを継承するように設定します。
- 100.2.1.0/24 AS-PATH=2、Community=2:1000
- 100.3.3.0/24 AS-PATH=3、Community=3:3000
まずは上のルートをpermitするためのルートマップを作ります。ルートマップの名前はSPECIFIC_ROUTEとし、match条件でACL1を参照します。
R1 advertise-mapで適用するルートマップの作成
access-list 1 permit 100.2.1.0 access-list 1 permit 100.3.3.0 ! route-map SPECIFIC-ROUTE permit 10 match ip address 1
そして、BGPのコンフィグレーションモードでaggregate-addressにas-setとadvertise-mapのオプションををつけます。
R1 aggregate-addressコマンドにadvertise-mapを追加
router bgp 1 aggregate-address 100.0.0.0 255.0.0.0 as-set summary-only advertise-map SPECIFIC_ROUTE
これにより、100.0.0.0/8には、100.2.1.0/24と100.3.3.0/24のAS番号、コミュニティのみが継承されるようになります。このことをR1とR4のBGPテーブルで確認してみます。
R1 show ip bgp 100.0.0.0
R1#sh ip bgp 100.0.0.0 BGP routing table entry for 100.0.0.0/8, version 28 Paths: (1 available, best #1, table Default-IP-Routing-Table) Flag: 0x820 Advertised to non peer-group peers: 12.12.12.2 13.13.13.3 14.14.14.4 {2,3}, (aggregated by 1 100.1.1.1) 0.0.0.0 from 0.0.0.0 (100.1.1.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best Community: 2:1000 3:3000
R4 show ip bgp 100.0.0.0
R4#sh ip bgp 100.0.0.0 BGP routing table entry for 100.0.0.0/8, version 41 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 1 {2,3}, (aggregated by 1 100.1.1.1) 14.14.14.1 from 14.14.14.1 (100.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best Community: 2:1000 3:3000
まとめ
ポイント
- advertise-mapは「集約ルートのアトリビュートをどうするか」のオプションです。集約ルートに特定の集約前ルートだけのAS番号、COMMUNITYを継承させるために使う
- advertise-mapのあとにはルートマップを指定します。ルートマップでpermitされたルートのアトリビュートを継承します。
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換