BGP Outbound Route Filtering (ORF)

NOTE

  • 自分がinでフィルタするのではなく、相手に送らないように依頼することで無駄なトラフィックを流さないようにする。
  • neighbor ~ capability orf prefix-list { both | send |receive }を双方で設定してORFを有効化する
  • 受け取りたくないほうのルータが prefix-list を作成して、ネイバーに対して、in でフィルタをかける。
    ip prefix-list ~ seq 10 deny
    ip prefix-list ~ seq 20 deny
    ip prefix-list ~ seq 90 permit
    neighbor ~ prefix-list ~ in
  • ネイバーでORFを有効化しない場合、アップデートが普通に回線を流れ、自身のin フィルタで弾かれる。BGPテーブル見てもORFでの結果なのか気づかない。

 

CONFIGURATION

R9#sh run | sec router bgp
router bgp 65079
 bgp router-id 10.0.0.9
 neighbor 10.0.0.7 remote-as 65079
 neighbor 10.0.0.7 update-source Loopback0
 neighbor 10.0.0.7 next-hop-self
 neighbor 10.2.9.2 remote-as 65002
R9#

R2#sh run | sec router bgp
router bgp 65002
 bgp router-id 10.0.0.2
 neighbor 10.2.9.9 remote-as 65079
R2#

 

VERIFICATION

フィルタ無しで下記の状態

R9#sh ip bgp nei 10.2.9.2 adv | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 r>i 10.0.0.7/32      10.0.0.7                 0    100      0 i
 *>i 192.168.0.0      10.0.0.7                 0    100      0 i
 *>i 192.168.10.0     10.0.0.7                 0    100      0 i
 *>i 192.168.20.0     10.0.0.7                 0    100      0 i
 *>i 192.168.30.0     10.0.0.7                 0    100      0 i

Total number of prefixes 5

R2#sh ip bgp | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.0.0.7/32      10.2.9.9                               0 65079 i
 *>  192.168.0.0      10.2.9.9                               0 65079 i
 *>  192.168.10.0     10.2.9.9                               0 65079 i
 *>  192.168.20.0     10.2.9.9                               0 65079 i
 *>  192.168.30.0     10.2.9.9                               0 65079 i
R2#

 

ここでORFを設定

R9#conf t
R9(config)#router bgp 65079
R9(config-router)#nei 10.2.9.2 capability orf prefix-list both
R9(config-router)#end
R9#

R2#conf t
R2(config)#ip prefix-list NO-RECEIVED-ROUTE s 10 deny 192.168.0.0/24
R2(config)#ip prefix-list NO-RECEIVED-ROUTE s 20 deny 192.168.20.0/24
R2(config)#ip prefix-list NO-RECEIVED-ROUTE s 1000 permit 0.0.0.0/0 le 32
R2(config)#
R2(config)#router bgp 65002
R2(config-router)#nei 10.2.9.9 capability orf prefix-list both
R2(config-router)#
R2(config-router)#nei 10.2.9.9 prefix-list NO-RECEIVED-ROUTE in
R2(config-router)#end
R2#

 

R9は広報すらしていない

R9#sh ip bgp nei 10.2.9.2 adv | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 r>i 10.0.0.7/32      10.0.0.7                 0    100      0 i
 *>i 192.168.10.0     10.0.0.7                 0    100      0 i
 *>i 192.168.30.0     10.0.0.7                 0    100      0 i

Total number of prefixes 3
R9#

R2#sh ip bgp | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.0.0.7/32      10.2.9.9                               0 65079 i
 *>  192.168.10.0     10.2.9.9                               0 65079 i
 *>  192.168.30.0     10.2.9.9                               0 65079 i
R2#

 

R2ではprefix-listが設定されているのでORFが動作していなくても結局は経路はフィルタされる

R2(10.2.9.2)からR9(10.2.9.9)に送っているメッセージを確認

 

 

 

DIAGRAM & CONFIGURATION

コメント