【BGP】AS-PATHフィルタ 動作確認 Cisco

 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)まとめ << より参照できます。

コメント