BGPルートはAS-PATHフィルターを使用して、特定のASからのルートを許可や拒否することができます。 ASの特定条件を指定するのに、正規表現をよく使います。
正規表現については、以下の記事を参照してください。
以下の通り、BGPピアリングし、自身のループバックアドレスをBGPで広告し、R4でAS-PATHフィルタを設定します。(BGPの基本設定は割愛します。)
AS-PATHフィルタ前のR4のBGPテーブルを確認します。
R4# show ip bgp BGP table version is 5, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 192.168.34.3 0 3 2 1 i *> 2.2.2.2/32 192.168.34.3 0 3 2 i *> 3.3.3.3/32 192.168.34.3 0 0 3 i
AS-PATHフィルタを設定するには、AS-PATH アクセスリスト(ip as-path access-list)で、ASの特定条件を設定し、route-mapで、match as-path により上のアクセスリストを指定します。 そして、フィルタしたいネイバーに対して、ルートマップを適用します。
通過するASを指定して経路をフィルタ
AS 2を通過するルートのみ許可するAS-PATHフィルタを設定します。
R4(config)# ip as-path access-list 1 permit _2_
R4(config)# route-map AS-PATH-FILTER permit 10
R4(config-route-map)# match as-path 1
R4(config-route-map)# exit
R4(config)# router bgp 4
R4(config-router)# neighbor 192.168.34.3 route-map AS-PATH-FILTER in
BGPセッションをクリアします。
R4# clear ip bgp * R4# %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Down User reset %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.34.3 IPv4 Unicast topology base removed from session User reset %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Up
R4のBGPテーブルを確認します。AS2を通過しているパスだけが表示されていることが確認できます。
R4# show ip bgp BGP table version is 5, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 192.168.34.3 0 3 2 1 i *> 2.2.2.2/32 192.168.34.3 0 3 2 I
ルート発生元のASを指定して経路をフィルタ
AS1から発生されたルートのみ許可するAS-PATHフィルタを設定します。 (AS-PATHの最後が1であるフィルタを設定します)
R4(config)# ip as-path access-list 2 permit _1$
R4(config)# route-map AS-PATH-FILTER permit 10
R4(config-route-map)# match as-path 2
R4(config-route-map)# exit
R4(config)# router bgp 4
R4(config-router)# neighbor 192.168.34.3 route-map AS-PATH-FILTER in
BGPセッションをクリアします。
R4# clear ip bgp * R4# %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Down User reset %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.34.3 IPv4 Unicast topology base removed from session User reset %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Up
R4のBGPテーブルを確認します。AS1から発生されたルートのみ表示されていることが確認できます。
R4# show ip bgp
BGP table version is 2, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.34.3 0 3 2 1 I
隣接ASを指定して経路をフィルタ
隣接ASであるAS3から広告されているルートを許可するAS-PATHフィルタを設定します。 (AS-PATHの最初が3であるフィルタを設定します)
R4(config)# ip as-path access-list 3 permit ^3_
R4(config)# route-map AS-PATH-FILTER permit 10
R4(config-route-map)# match as-path 3
R4(config-route-map)# exit
R4(config)# router bgp 4
R4(config-router)# neighbor 192.168.34.3 route-map AS-PATH-FILTER in
BGPセッションをクリアします。
R4# clear ip bgp * R4# %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Down User reset %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.34.3 IPv4 Unicast topology base removed from session User reset %BGP-5-ADJCHANGE: neighbor 192.168.34.3 Up
R4のBGPテーブルを確認します。
R4# show ip bgp BGP table version is 4, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 192.168.34.3 0 3 2 1 i *> 2.2.2.2/32 192.168.34.3 0 3 2 i *> 3.3.3.3/32 192.168.34.3 0 0 3 I
今回の構成では、AS3からのみルートを受信しているので、全てのルートが表示されます。
その他 BGP関連記事は >> ルーティングプロトコル(BGP)まとめ << より参照できます。
コメント