目次
概要
CiscoルータでBGPルートを集約するaggregate-addressコマンドにはたくさんのオプションがあります。オプションは、以下の2つに分類できます。
- 集約前のルートをどう扱うか
- 集約ルートのアトリビュートをどうするか
attribute-mapは、「集約ルートのアトリビュートをどうするか」についてのオプションです。attribute-mapによって集約ルートにアトリビュートを付加することができます。
aggregate-addressのオプション attribute-map
aggregate-addressコマンドで生成した集約ルートにも当然パスアトリビュートが付加されています。デフォルトでは、以下のパスアトリビュートです。
- ORIGIN:IGP
- NEXT_HOP:0.0.0.0
- AS_PATH:なし
- WEIGHT:32768
- LOCAL_PREFERENCE:100
- MED:なし
- AGGREGATOR:ローカルAS番号とルータID
- ATOMIC-AGGREGATE
attribute-mapオプションによって集約ルートを生成するときに、MEDやLOCAL_PREFERENCE、COMMUNITYなどのアトリビュートを付加することができます。
attribute-mapオプションでは、ルートマップ名を指定します。ルートマップのsetコマンドで集約ルートに付加したいアトリビュートを設定します。
aggregate-address attribute-map
(config)#router bgp <AS>
(config-router)#aggregate-address <network-address> <subnetmask> attribute-map <route-map-name>
<AS>:AS番号
<network-address>:集約ルートのネットワークアドレス
<subnetmask>:集約ルートのサブネットマスク
<route-map-name>:ルートマップ名
attribute-mapで指定するルートマップにはmatch条件は必要ありません。これは、対象が集約ルートであることが決まっているからです。
関連記事
ルートマップについて、以下の記事で詳しく解説しています。
aggregate-address attribute-mapの設定例
ネットワーク構成と初期設定
次のネットワーク構成のR1でaggregate-addressのattribute-mapオプションの設定を行います。
aggregate-addressを設定する前のR1およびR2のBGPに関する設定は次のとおりです。
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 ip bgp-community new-format
R1では、R2とEBGPネイバーを確立して100.1.1.0/24~100.1.4.0/24のルートをnetworkコマンドでアドバタイズしています。
R2 Initial Configuration
router bgp 2 neighbor 12.12.12.1 remote-as 1 neighbor 12.12.12.1 send-community ip bgp-community new-format
R2は、単純にR1とのEBGPネイバーを設定しているだけです。
また、COMMUNITYアトリビュートを扱うので、R1とR2に以下のコマンドの設定も行っています。
- neighbor send-community
- ip bgp-community new-format
neighbor send-communityコマンドで、BGPルートに付加されているCOMMUNITYアトリビュートを削除しないようにしています。ip bgp-community new-formatコマンドは、COMMUNITYの表記をわかりやすくするための設定です。
R1で集約ルートのアドバタイズ
R1で100.1.1.0/24~100.1.4.0/24を集約したルート情報100.1.0.0/16を生成します。
R1 集約ルートの生成
router bgp 1 aggregate-address 100.1.0.0 255.255.0.0
この設定により、集約ルート100.1.0.0/16が生成されてBGPテーブルに載り、R2へアドバタイズされます。このときの集約ルート100.1.0.0/16のアトリビュートを確認します。そのためにR1でshow ip bgp 100.1.0.0の結果を見ます。
R1 集約ルートのアトリビュートの確認
R1#sh ip bgp 100.1.0.0 BGP routing table entry for 100.1.0.0/16, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 12.12.12.2 Local, (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
集約ルートのアトリビュートは、atomic-aggregateやaggregatorがつけられていますが、それ以外のOriginやLocal_preferenceなどのアトリビュートはnetworkコマンドで生成したルートと同じです。
集約ルートにアトリビュートを付加するには、アドバタイズするときにアウトバウンドでルートマップを適用してもできます。しかし、attribute-mapを利用すると、集約ルートを生成したときにアトリビュートを付加することができます。
attribute-mapによる集約ルートへのアトリビュート付加
attibute-mapを使って、集約ルートにCOMMUNITYを付加してみましょう。attribute-mapのあとには、ルートマップを指定します。このルートマップはすごくシンプルに考えてください。attribute-mapのあとのルートマップにはmatch条件は要りません。aggregate-addressコマンドで生成した集約ルートが対象になるので、match条件を指定する必要はありません。setコマンドで集約ルートに付加したいアトリビュートを設定すればいいだけです。
では、例として集約ルートにCOMMUNITY 1:1000をつけるためのattribute-mapの設定を考えます。まず、COMMUNITYを付加するルートマップ(AGG_COM)を次のように作ります。
R1 アトリビュートマップ用のルートマップの設定
route-map AGG_COM permit 10 set community 1:1000
そして、このルートマップをaggregate-addressのattribute-mapオプションで適用します。
R1 attribute-mapオプションでルートマップを適用
router bgp 1 aggregate-ddress 100.1.0.0 255.255.0.0 attribute-map AGG_COM
これによって、集約ルート100.1.0.0/16にCOMMUNITY 1:1000が付加されます。そのことを確認しましょう。R1のBGPテーブルを確認します。
R1 集約ルート100.1.0.0/16
R1#sh ip bgp 100.1.0.0 BGP routing table entry for 100.1.0.0/16, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 12.12.12.2 Local, (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: 1:1000
BGPテーブルの集約ルート100.1.0.0/16の詳細な情報を確認すると、最後の行でCOMMUNITY 1:1000が付加されていることがわかります。
このルートを受信するR2でも見てみましょう。
R2 BGPテーブルの確認
R2#sh ip bgp 100.1.0.0 BGP routing table entry for 100.1.0.0/16, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Flag: 0x880 Not advertised to any peer 1, (aggregated by 1 100.1.1.1) 12.12.12.1 from 12.12.12.1 (100.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best Community: 1:1000
R2でもCOMMUNITY 1:1000が付加されている集約ルート100.1.0.0/16を受信していることが確認できます。
まとめ
ポイント
- attribute-mapは「集約ルートのアトリビュートをどうするか」のオプションです。集約ルートにアトリビュートを付加するために利用します。
- attribute-mapのあとにルートマップを指定します。ルートマップはmatch条件なしで付加したいアトリビュートをsetで設定します。
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プレフィックスの交換