BGP inject-mapとは
bgp inject-map コマンドは、BGPルーティングテーブルにおいて、特定の条件を満たすルートが存在する場合に、人工的にプレフィックスを生成して挿入するために使用されます。この機能は、BGPルートの管理を細かく制御するために役立ちます。inject-map と exist-map を組み合わせることで、ある条件が成立している場合に特定のルートをBGPテーブルに注入することができます。
BGP inject-mapの設定
基本構文
1.プレフィックスリストの作成
プレフィックス リストを設定します。
Router(config)#ip prefix-list list-name [seq seq-value ] {deny network / length | permit network / length } [ge ge-value ] [le le-value ]
2.ルートマップの設定
ルート マップを設定し、ルート マップ設定モードに入ります。
Router(config)#route-map map-tag [permit | deny ] [sequence-number ]
ルート受信に対する設定
より具体的なルートが挿入される集約ルートを指定します。
Router(config-route-map)#match ip address {access-list-number | access-list-name | prefix-list prefix-list-name }
ルートのソースを再配布するための一致条件を指定します。
Router(config-route-map)#match ip route-source {access-list-number | access-list-name } [access-list-number …| access-list-name …]
集約されているIPアドレスやどのネイバーから受信した集約ルートに対して設定をするかしていします。
挿入するルートの設定
挿入するルートを指定します。
Router(config-route-map)#set ip address {access-list-number [access-list-number … | access-list-name …] | access-list-name [access-list-number… | access-list-name ] | prefix-list prefix-list-name [prefix-list-name …]}
挿入されたルートの BGP コミュニティ属性を設定します。
Router(config-route-map)#set community {community-number [additive ] [well-known-community ] | none }
集約されているルート情報から具体的に生成するルート情報を指定します。
3.BGP inject-mapの設定
指定されたルーティング プロセスのルータ設定モードに入ります。
Router(config)#router bgp autonomous-system-number
条件付きルート注入の注入マップと存在マップを指定します。挿入されたルートが集約ルートの属性を継承することを指定するには、 copy-attributes キーワードを使用します。
Router(config-router)#bgp inject-map inject-map-name exist-map exist-map-name [copy-attributes ]
ルータ コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに入ります。
設定例

Router1
hostname Router1
int g0/2
ip address 192.168.12.1 255.255.255.0
no shut
int lo1
ip address 1.1.1.1 255.255.255.0
ip bgp-community new-format
router bgp 65001
neighbor 192.168.12.2 remote-as 65002
neighbor 192.168.12.2 send-community
neighbor 192.168.12.2 route-map COM out
network 1.1.1.0 mask 255.255.255.0
access-list 1 permit 1.1.1.0 255.255.255.0
route-map COM permit 10
match ip address 1
set community 65001:100
Router2
hostname Router2
int g0/1
ip address 192.168.12.2 255.255.255.0
no shut
int g0/3
ip address 192.168.23.2 255.255.255.0
no shut
ip bgp-community new-format
router bgp 65002
neighbor 192.168.12.1 remote-as 65001
neighbor 192.168.23.3 remote-as 65002
network 192.168.12.0 mask 255.255.255.0
network 192.168.23.0 mask 255.255.255.0
Router3
hostname Router3
int g0/2
ip address 192.168.23.3 255.255.255.0
no shut
ip bgp-community new-format
router bgp 65002
neighbor 192.168.23.2 remote-as 65002
1.1.1.0/24のルート情報にはコミュニティ値65001:100が設定されています。

1.1.1.1のルータから受信した1.1.1.0/24というルート情報に対して1.1.1.0/30と1.1.1.4/30というルート情報を生成します。また生成したルート情報に対しては集約ルートの属性(コミュニティ)を継承します。
Router2(config)#ip prefix-list SRC-EXIST permit 1.1.1.1/32
Router2(config)#ip prefix-list EXIST-ROUTE permit 1.1.1.0/24
Router2(config)#ip prefix-list INJECT-ROUTE permit 1.1.1.0/30
Router2(config)#ip prefix-list INJECT-ROUTE permit 1.1.1.4/30
Router2(config)#route-map EXIST permit 10
Router2(config-route-map)#match ip address prefix-list EXIST-ROUTE
Router2(config-route-map)#match ip route-source SRC-EXIST
Router2(config-route-map)#exit
Router2(config)#route-map INJECT permit 10
Router2(config-route-map)#set ip address prefix-list INJECT-ROUTE
Router2(config-route-map)#router bgp 65002
Router2(config-router)#bgp inject-map INJECT exist-map EXIST copy-attributes
Router2(config-router)#neighbor 192.168.23.3 send-community
細分化されたルート情報がアドバタイズされるようになりました。

属性を確認すると、細分化されたルート情報には集約ルートのコミュニティ属性が継承されています。

Router2で細分化されたルート情報を確認すると、1.1.1.0/24から挿入されたことがわかります。
