DynagenでCCIEを目指す
INE Workbook Volume I BGP Tips
最終更新:
it_certification
-
view
- Tips
- 7.5. Neighbor Disable-Connected-Check
- 7.8. Large Scale iBPG Route Reflection with Clusters
- 7.9. iBGP Confederation
- 7.12. iBPG Synchronization
- 7.14. BGP Redistribute Internal
- 7.15. BGP Peer Group
- 7.16. BGP Network Statement
- 7.17. BGP Auto-summary
- 7.18. BGP Bestpath Selection - Weight
- 7.27. BGP Bestpath Selection - DMZ Link Bandwidth
- 7.29. BGP Backdoor
- 7.30. BGP Aggregation
- 7.42. BGP Conditional Advertisement
- 7.43. BGP Conditional Route Injection
- 7.46. BGP Filtering with Extended Access-list
- 7.48. BGP Filtering with Maximum Prefix
- 7.49 BGP Default Routing
- 7.50. BGP local-AS
- 7.53. BGP Dampening
- 7.55. BGP Timers Tuning
- 7.56. BGP Fast Fallover
- 7.57. BGP Outbound Filtering
- 7.58. BGP Soft Reconfiguration
- 7.59. BGP Next-Hop Trigger
- 7.60. BGP TTL Security
- 7.61. BGP AllowAS-in
Tips
7.5. Neighbor Disable-Connected-Check
Loopback I/Fを介してeBGP neighborを確立するためには、以下のいずれかの設定が必要です。
Router(config-router)# neighbor addr ebgp-multihop Router(config-router)# neighbor addr disable-connect-check
ebgp-multihopによる設定方法が有名ですが、disable-connect-checkでもneighborの確立が可能です。ただし、ebgp-multihopと異なり、disable-connect-checkは他のルータを経由する事を許しません。そのため、disable-connect-checkを使用した場合は、直接接続されたリンクが切断された場合は、迂回経路があったとしてもneighborが切断される事になります。
7.8. Large Scale iBPG Route Reflection with Clusters
ルータの台数が増えると、hub and spoke構成では設定量が増え管理が難しくなります。この問題を解消するのが、cluster(hub and spokeの組み合わせ)を複数定義するという発想です。clusterを複数定義し、clusterのhubとなるルータ同士でneihgborを確立する事で、設定工数を削減します。
clusterを定義するに当たり、CLUSTER_IDという便利な属性があります。この設定は投入しなくても動作しますが、誤設定によるルーティングループを検知する非常に便利な機能です。各clusterのhubで以下のコマンドを投入します。
Router(config-router)# bgp cluster-id ipv4_addr
この設定が投入されたルータは、CLUSTER_IDをセットしてからadvertiseします。CLUSTER_IDが定義されたルータは、自分に定義されたIDがCLUSTER_IDに含まれていないかをチェックします。もし、自分に定義されたIDがCLUSTER_IDに含まれていた場合は、ループが発生していると判断し、そのルートを破棄します。
7.9. iBGP Confederation
Sub-ASを定義する方法は以下の通りです。
Router(config)# router bgp sub_as Router(config-router)# bgp confederation identifier public_as Router(config-router)# bgp confederation peers sub_as_peers
7.12. iBPG Synchronization
BGP, IGP間の再配送は非常に危険です。routing loop, black hole等のリスクが高まるだけでなく、memory, CPUに大きな負荷を与えます。以下設定例のように、必要なルートのみ(例 : AS番号で絞り込む)を再配送する事が推奨されます。
router bgp as redistribute bgp as route-map map ! route-map map match as-path num ! ip as-path access-list num permit regexp
7.14. BGP Redistribute Internal
internal BGPの再配送
BGPをIGPに再配送する際、デフォルトでは外部BGPルートのみ再配送されます。内部BGPルートはrouting loopのリスクが非常に高いため、デフォルト設定では禁止されています。内部BGPルートを再配送したい場合は、以下のコマンドを投入します。
Router(config-router)# bgp redistribute internal
RIB failure
RIB failureとは、BGPテーブルを生成する際のエラーです。このエラーが発生したルートは、BGPテーブルで"r"と記載され無効扱いされます。RIB failureが発生する条件は以下の通りです。
- BGPよるAD値が小さいルートが存在する場合 (AD値の変更で回避できます)
- メモリ障害の場合
- VRFにおけるルート数がVRFインスタンスで定義された制限を超過している場合
RIB failureは必ずしも悪影響を与えるわけではありませんが、本シナリオの場合、RIB failureによりrouting loopが発生しています。
R1からAS54への疎通が不可能である事を確認します。
R1からAS54への疎通が不可能である事を確認します。
Rack9R1#traceroute 119.0.0.1 Type escape sequence to abort. Tracing the route to 119.0.0.1 1 155.9.13.3 16 msec 16 msec 16 msec 2 155.9.37.7 8 msec 8 msec 8 msec 3 155.9.37.3 16 msec 16 msec 16 msec 4 155.9.37.7 8 msec 8 msec 8 msec 5 155.9.37.3 16 msec 16 msec 16 msec 6 155.9.37.7 8 msec 8 msec 8 msec
RIB failureが発生している状態で、R1からのEIGRPルートを優先している事を確認します。
Rack9R1#show ip bgp BGP table version is 61, local router ID is 150.9.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path r i117.0.0.0 155.9.146.6 0 100 0 54 i r>i 155.9.146.4 0 100 0 54 i r i118.0.0.0 155.9.146.6 0 100 0 54 i r>i 155.9.146.4 0 100 0 54 i r i119.0.0.0 155.9.146.6 0 100 0 54 i r>i 155.9.146.4 0 100 0 54 i Rack9R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set D EX 119.0.0.0/8 [170/2195456] via 155.9.13.3, 00:09:40, Serial0/1 D EX 118.0.0.0/8 [170/2195456] via 155.9.13.3, 00:09:40, Serial0/1 D EX 117.0.0.0/8 [170/2195456] via 155.9.13.3, 00:09:40, Serial0/1
INE模範解答通りの設定を投入し、RIB failureを解消します。
R1: router eigrp 100 distance eigrp 90 201
next-hopに起因するrouting loop
SW1からAS54へ疎通不能になっている事を確認します。
Rack9SW1#traceroute 119.0.0.1 Type escape sequence to abort. Tracing the route to 119.0.0.1 1 155.9.37.3 0 msec 0 msec 9 msec 2 155.9.37.7 0 msec 0 msec 0 msec 3 155.9.37.3 0 msec 0 msec 0 msec 4 155.9.37.7 9 msec 0 msec 0 msec 5 155.9.37.3 8 msec 0 msec 0 msec 6 155.9.37.7 0 msec 8 msec 0 msec
SW1のルーティングテーブルを確認します。
Rack9SW1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set D EX 119.0.0.0/8 [170/53760] via 155.9.37.3, 00:16:10, FastEthernet0/3 D EX 118.0.0.0/8 [170/53760] via 155.9.37.3, 00:16:10, FastEthernet0/3 D EX 117.0.0.0/8 [170/53760] via 155.9.37.3, 00:16:10, FastEthernet0/3
R3のルーティングテーブルを確認します。AS54への経路を調べるために、119.0.0.0/8の経路に着目します。BGPテーブル上では、119.0.0.0/8のnext-hopは155.9.146.4です。ルーティングテーブル上では155.9.146.0/24のnext-hopは155.9.37.7です。従って、AS54へのパケットはSW1に送信されrouting loopが発生している事が分かります。
Rack9R3#show ip bgp BGP table version is 26, local router ID is 150.9.3.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i117.0.0.0 155.9.146.4 0 100 0 54 i *>i118.0.0.0 155.9.146.4 0 100 0 54 i *>i119.0.0.0 155.9.146.4 0 100 0 54 i Rack9R3#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set B 119.0.0.0/8 [200/0] via 155.9.146.4, 00:18:50 B 118.0.0.0/8 [200/0] via 155.9.146.4, 00:18:50 B 117.0.0.0/8 [200/0] via 155.9.146.4, 00:18:50 155.9.0.0/24 is subnetted, 15 subnets D 155.9.146.0 [90/30976] via 155.9.37.7, 00:04:54, FastEthernet0/0 C 155.9.23.0 is directly connected, Serial1/3 C 155.9.0.0 is directly connected, Serial1/0.1
ルーティングテーブルを調べた結果、next-hopを変更する事でrouting loopを回避できると分かりました。INE模範解答通りの設定をR3に投入し(またはR1で、next-hopを変更するroute-mapをoutbound方向に設定し)、loopを回避します。
R3: route-map SET_NEXT_HOP set ip next-hop 155.9.13.1 ! router bgp 100 neighbor 155.9.13.1 route-map SET_NEXT_HOP in
7.15. BGP Peer Group
peer groupを使用すると、neighborに対する設定を一括定義できます。
router bgp as neighbor group_name peer-group neighbor group_name remote-as as neighbor group_name update-source interface neighbor addr_1 peer-group group_name neighbor addr_2 peer-group group_name
7.16. BGP Network Statement
next-hop到達性を保証する方法として以下が挙げられます。
- IGPでnext-hopへのルートをadvertiseします。
- next-hopを変更します。
- next-hop-selfでnex-hopを変更します。
- route-mapを用いてnext-hopを変更します。
- networkコマンドを用いて、内部BGPでnext-hopへのルートをadvertiseします。
7.17. BGP Auto-summary
実践で使う事はあり得ないですが、BGPでAuto-summary機能を使用する事もできます。本機能を使用するためには、以下の方法でのみルートを生成して下さい(この条件を満たさないとAuto-summaryが効きません)
- "クラスフルネットワーク"をnetworkコマンドによって生成
- redistributeによってルートを生成
7.18. BGP Bestpath Selection - Weight
BGPはattributeという値に基づいてルートを決定します。以下に代表的なattributeを挙げます。attributeは、"どのベンダーも必ず実装しなければならないかどうか", "どのベンダーも必ず伝搬しなければならないかどうか"で4つに分類する事ができます。
分類 | 実装必須 | 伝搬必須 | 例 |
---|---|---|---|
Well-know mandatory | ○ | ○ | ORIGIN, AS_PATH, NEXT_HOP |
Well-know discretionary | ○ | × | LOCAL_PREF |
Optional transitive | × | ○ | COMMUNITY |
Optional Non-transitive | × | × | MULTI_EXIT_DISC(MED) |
Cisco独自(上記分類外) | - | - | WEIGHT |
上記attibuteに基づいて、以下の判断基準でルートを決定します。
- 1. 無効なpathを無視
- next-hopに到達可能かどうか
- IGPによってadvertiseされたルートかどうか (iBPG同期有効の場合のみ)
- 2. Weightが大きいルートを優先
- 受信するルートに対して設定します。
- 他のルータには伝搬しません。
- 3. Local Preferenceが大きいルートを優先
- Local PreferenceはASの出口を決める属性です。
- eBGP neighborから受信するルートに対して設定します。
- iBGP neighborのみ伝搬します。 (AS内部のみ有効な値です)
- デフォルト値は100です。 (show ip bgpでは空白で表示される事に注意して下さい)
- 4. ローカルで生成されたルートを優先
- 例 : networkコマンド, aggregate-addressコマンド, redistributeコマンド
- 5. AS-PATHが短いルートを優先
- AS-PATHを追加する事で経路制御ができます
- 以下のコマンドで上記の判断基準1-5を無視し、判断基準6-12に基づいてルートを決定します。(隠しコマンドなので丸暗記が必要です)
Router(config-router)# bgp bestpath as-path ignore
- 6. Origin Codeが小さいルートを優先
- IGPが最優先されます。 ( IGP < BGP < Incomplete )
- 7. MEDが小さいルートを優先
- MEDはASの入口を決める属性です。
- eBGP neighborへ送信するルートに対して設定します。
- iBGP neighborのみ伝搬します。 (AS内部のみ有効な値です)
- デフォルトでは異なるルータから受信したルートのMED値は比較しません。
- 以下コマンドで、同一ASの異なるルータから受信したルートのMED値を比較するようになります。
Router(config-router)# bgp deterministic-med
- 以下コマンドで、異なるASのルータから受信したルートのMED値を比較するようになります。
Router(config-router)# bgp always-compare-med
- 8. IBGPよりもEBGPを優先
- 9. NEXT-HOPへ近いルートを優先
- IGP metricに基づき近さを判断します。
- 判断基準1-9までが全て等しいルートは、ロードバランスする事も可能です。詳細は、"7.27. BGP Bestpath Selection - DMZ Link Bandwidth"で記載します。
- 10. EBGPの場合、より安定したルートを優先
- BGPテーブルに載っている時間が長いほど、安定したルートと判断します。
- 11. ルータIDが小さいルートを優先
- 12. IPアドレスが小さいルートを優先
7.27. BGP Bestpath Selection - DMZ Link Bandwidth
DMZ Link Bandwidthは、外部ASへのロードバランスを提供する機能です。COMMUNITYを用いて外部ASへのbandwidthを通知する事で本機能を実現しています。この機能を使用する場合は、"7.18. BGP Bestpath Selection - Weight"でまとめた判断基準1-9が全て等しいルートのみ有効である事に留意して下さい。
DMZ Link Bandwidthを実装する手順は以下の3つです。
- border BGP routers (外部ASに接しているルータ)で、外部ASに対するbandwidthを通知できるように設定します。具体的には、DMZ Link Bandwidthの有効化と外部ASのip addressを指定します。
Router(config-router)# bgp dmzlink-bw Router(config-router)# neighbor ebgp_peer_addr dmzlink-bw
- 全BGPルータでCOMMUNITYの転送を許可します。
Router(config-router)# neighbor addr send-community extended
- ロードバランスを提供するルータに対して、Link Bandwidthの有効化とロードバランスをする最大経路数を定義します。
Router(config-router)# bgp dmzlink-bw Router(config-router)# maximum-paths [ibgp] num
7.29. BGP Backdoor
eBGPのAD値は20ですので、IGPよりも優先されます。eBGPよりもIGPを使用したい場合は、以下の要領でbackdoorを定義します。
Router(config-router)# network addr mask mask backdoor
7.30. BGP Aggregation
BGPで集約ルートを定義する場合は、以下のコマンドを使用します。
Router(config-router)# aggregate-address addr mask
このコマンドには以下のキーワードを指定する事ができます。
keyword | description |
---|---|
summary-only | 集約前ルートをadvertiseしないようになります |
suppress-map | 一部の集約前ルートをadvertiseしないよう抑制します |
unsuppress-map | 一部の集約前ルートをadvertiseするよう抑制しないようにします &br aggregate-addressコマンドではなく、neighborコマンドに対して設定します |
as-set | 集約前のAS番号も含めてAdvertiseします (advertiseされたルータはAS番号を元にループの有無を判断します) |
attribute-map | route-mapを適用した後にadvertiseします (例 : COMMUNITYの付与) |
advertise-map | as-setを併用し、一部のAS番号のみをadvertiseするようにします |
7.42. BGP Conditional Advertisement
BGPテーブル(ルーティングテーブルではない)にルートが存在するかどうかによって、ルートをadvertiseします。
Router(config-router)# neighbor addr advertise-map map1 [{ non-exist | exist-map }] map2
7.43. BGP Conditional Route Injection
集約前ルートを集約したルータ以外でadvertiseする事ができます。設定例は以下の通りです。
route-map INJECT_MAPset ip address prefix-list INJECTset ip address prefix-list INJECT ! route-map match ip address prefix-list AGGREGATE match ip route-source prefix-list ROUTE_SOURCE ! router bgp 100 bgp inject-map INJECT_MAP exist-map EXIST_MAP
7.46. BGP Filtering with Extended Access-list
distribution-listの使い方についてまとめると以下の通りです。
protocol | acl | source | destination |
---|---|---|---|
igp | standard | network address | -- |
extended | update source | network address | |
egp | standard | network address | -- |
extended | network address | subnet mask |
7.48. BGP Filtering with Maximum Prefix
ルータが学習できるprefix数を制限する事ができます。thresholdは警告を発生される閾値です。省略時は上限の75%になります。
Router(config-router)# neighbor addr maximum-prefix num [threshold] [warning-only | restart min ]
</pre>
}}
}}
7.49 BGP Default Routing
BGPのデフォルトルート生成は以下の2通りの方法があります。
1つの方法はnetworkコマンドによってデフォルトルートを生成する方法です。
1つの方法はnetworkコマンドによってデフォルトルートを生成する方法です。
ip route 0.0.0.0 0.0.0.0 Null0 router bgp as network 0.0.0.0 mask 0.0.0.0
もう1つの方法がneihgbor毎にデフォルトルートを生成する方法です。なお、デフォルトルートをadvertiseするかどうかroute-mapによって条件指定する事もできます。
router bgp as neighbor addr default-originate [ route-map map ]
7.50. BGP local-AS
AS番号を変更するテクニックについてまとめます。
AS番号の変更に伴って、他のASのneighbor設定も変更が必要になります。しかし、他のASの設定変更を同時に行うよう調整するのは、多くの場合、非常に難しいです。
このような場合、local-asという設定を用いて、旧AS番号のままneighborを確立する事ができす。より具体的な言い方をすると、remote-asのの間に旧AS番号をadvertiseする仮想的なルータ(local-AS)を設ける事で、旧AS番号のままneighborを確立できるようになります。
AS番号の変更に伴って、他のASのneighbor設定も変更が必要になります。しかし、他のASの設定変更を同時に行うよう調整するのは、多くの場合、非常に難しいです。
このような場合、local-asという設定を用いて、旧AS番号のままneighborを確立する事ができす。より具体的な言い方をすると、remote-asのの間に旧AS番号をadvertiseする仮想的なルータ(local-AS)を設ける事で、旧AS番号のままneighborを確立できるようになります。
┏━━━┓ ┏━━━┓ ┏━━━━━┓ ━┫new-as┣━━━┫old-as┣━━━┫remote-as ┣━ ┗━━━┛ ┗━━━┛ ┗━━━━━┛
設定例は以下の通りです。
router bgp new-as neighbor addr remote-as remote-as neighbor addr local-as old-as
local-asには以下のオプションを付与する事ができます。
option | description |
---|---|
no-prepend | 受信したルートに対して、local-asをprependしないようになります |
replace-as | 新しいAS番号を通知せず、旧AS番号(local-as)のみをadvertiseするようになります |
dual-as | peerが新しいAS番号を指定しても、旧AS番号を指定してもneighborを確立できるようにします |
7.53. BGP Dampening
以下のコマンドでフラッピングが発生しているルートを一時的に無効化する事ができます。フラッピングが発生する毎にペナルティ値1000を加算し、ペナルティ値が閾値を超えている間はルートを無効化します。
Router(config-router)# bgp dampening half_life resume_limit suppress_limit max_suppress_time [ route-map map ]
各パラメタの意味は以下の通りです。
param | description |
---|---|
half_life | ペナルティ値の半減期です |
resume_limit | この値を下回ると、再びルートがBGPテーブルに載ります |
suppress_limit | この値を上回ると、ルートがフラップしていると判断し、当該ルートをBPGテーブルに載せないようにします |
max_suppress_time | ルートを抑制する最大時間 |
7.55. BGP Timers Tuning
BGP Timersをチューニングするためには、以下プロセスの挙動について理解する必要があります。
BGP Scanner Process
BGP Scanner Processとは以下を実行するプロセスです。
- NEXT_HOP到達性の確認
- conditional advertisement
- route injection
- RIB(Routing Information Base)を基にBGPテーブルに新しいルートを挿入
- route dampeningの実行
デフォルトでは60秒間隔で実行されるプロセスで、以下のコマンドにより実行間隔を変更する事ができます。
Router(config-router)# bgp scan-time sec
BGP I/O Process
BGP Update, BGP keepaliveを送信するプロセスです。
以下のコマンドで実行間隔を変更する事が可能で、0秒を指定した場合は可能な限り早くUpdateを送信するようになります(但し、CPU負荷増注意)。
以下のコマンドで実行間隔を変更する事が可能で、0秒を指定した場合は可能な限り早くUpdateを送信するようになります(但し、CPU負荷増注意)。
Router(config-router)# neighbor addr advertisement-interval sec
BGP session keepalive interval
以下のコマンドでhello timer, hold timerを変更する事ができます。デフォルトは、60秒, 180秒です。
Router(config-router)# timers bgp hello hold
7.56. BGP Fast Fallover
BGPリンクダウン検知機能について、以下の新旧2つの機能を紹介します。
eBGP peering session deactivation
eBGPのリンクダウンを検知し、hold-timeを待たずにsessionを切断します。検知できるのはI/Fがダウンした場合のみですので、NBMAやethernetに対しては効果が期待できません。デフォルトで有効な機能であり、敢えて無効化したい場合は以下のコマンドを投入します。
Router(config-router)# no bgp fast-external-fallover
fast peering session support
eBGP peering session deactivationの後続機能です。イベントドリブン(例 : IGPルートが存在するかどうか)で動作するため、NBMA, ethernetだけでなくLoopback I/Fを用いた接続でもリンクダウンを検知する事ができます。また、eBGPだけでなく、iBGPでも動作します。
デフォルトでは無効な機能で、有効にするには以下のコマンドを投入します。
デフォルトでは無効な機能で、有効にするには以下のコマンドを投入します。
Router(config-router)# neighbor addr fall-over
両者の違いを再度まとめなおすと以下の通りです。
eBGP peering session deactivation | fast peering session support | |
設定対象 | eBGPのみ | eBGP, iBGP |
検知方法 | I/F ダウン | イベントドリブン |
効果 | NBMA, Loopback等には効果なし | NBMA, Loopback等にも有効 |
デフォルト設定 | 有効 | 無効 |
7.57. BGP Outbound Filtering
他のASに不要なルートをadvertiseしないよう指示する機能です。
フィルタを指示する側の設定は以下の通りです。
フィルタを指示する側の設定は以下の通りです。
router bgp as neighbor addr capability orf prefix-list send neighbor addr prefix-list list in
フィルタを実行する側の設定は以下の通りです。
router bgp as neighbor addr capability orf prefix-list receive
なお、設定の反映にはBGP再起動が必要です。
Router# clear ip bgp *
7.58. BGP Soft Reconfiguration
RFC2918によると、この仕様が策定された当時は、remote-peerがlocal-peerに対してprefixをre-advertiseする機能は存在しません。そのため、inbound-filterが設定された場合は、以下のようにsessionを再確立しない限り設定を反映させる事ができまん。
Router# clear ip bgp *
このような問題を解消できるのが、soft reconfigurationです。soft reconfigurationを有効にするためには、以下のコマンドを投入します。
Router(config-router)# neighbor addr soft-reconfiguration inbound
soft reconfigurationを使用すると、remote-peerに対し、全prefixをadvertiseする事を許可します。advertiseされたprefixはmemorry bufferに展開された後に、inbound filterが適用され、BGPテーブルに反映されます。
memorry bufferに展開されたprefixは以下のコマンドで確認できます。
memorry bufferに展開されたprefixは以下のコマンドで確認できます。
Router# show ip bgp neighbors addr recieved-routes
そのため、以下のようなソフトリセットでもinbound filterの設定が反映されます。(但し、IOS12.3以降では、soft reconfigurationを有効にしなくてもソフトリセットが可能です)
Router# clear ip bgp * in
それでは、シナリオに則った動作確認を行います。
設定投入前にR4はBB3からadvertiseされたルートはBGPテーブルには存在しますが、memory bufferには保存されていない事を確認します。
設定投入前にR4はBB3からadvertiseされたルートはBGPテーブルには存在しますが、memory bufferには保存されていない事を確認します。
Rack14R4#show ip bgp neighbors 204.12.14.254 received-routes % Inbound soft reconfiguration not enabled on 204.12.14.254 Rack14R4# Rack14R4# Rack14R4#show ip bgp neighbors 204.12.14.254 routes BGP table version is 19, local router ID is 150.14.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 28.119.16.0/24 204.12.14.254 0 0 54 i *> 28.119.17.0/24 204.12.14.254 0 0 54 i *> 112.0.0.0 204.12.14.254 0 54 50 60 i *> 113.0.0.0 204.12.14.254 0 54 50 60 i *> 114.0.0.0 204.12.14.254 0 54 i *> 115.0.0.0 204.12.14.254 0 54 i *> 116.0.0.0 204.12.14.254 0 54 i *> 117.0.0.0 204.12.14.254 0 54 i *> 118.0.0.0 204.12.14.254 0 54 i *> 119.0.0.0 204.12.14.254 0 54 i Total number of prefixes 10 Rack14R4#
模範解答通りの設定を投入します。
R4: router bgp 100 neighbor 204.12.14.254 soft-reconfiguration inbound
inbound filterが設定されていても、BB3からadvertiseされたルートがmemory buffer内に存在する事を確認します。
まず、inbound filterを定義します。
まず、inbound filterを定義します。
R4: access-list 1 permit 1.0.0.0 254.255.255.255 ! router bgp 100 neighbor 204.12.14.254 distribute-list 1 in
BGP再起動でinbound filterの設定を反映させます。
BB3からadvertiseされたルートがmemory bufferに反映させ、そのうちの一部のみがルーティングテーブルに載る事を確認します。
BB3からadvertiseされたルートがmemory bufferに反映させ、そのうちの一部のみがルーティングテーブルに載る事を確認します。
R4: Rack14R4#clear ip bgp * soft Rack14R4# Rack14R4# Rack14R4#show ip bgp neighbors 204.12.14.254 received-routes BGP table version is 25, local router ID is 150.14.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 28.119.16.0/24 204.12.14.254 0 0 54 i * 28.119.17.0/24 204.12.14.254 0 0 54 i * 112.0.0.0 204.12.14.254 0 54 50 60 i *> 113.0.0.0 204.12.14.254 0 54 50 60 i * 114.0.0.0 204.12.14.254 0 54 i *> 115.0.0.0 204.12.14.254 0 54 i * 116.0.0.0 204.12.14.254 0 54 i *> 117.0.0.0 204.12.14.254 0 54 i * 118.0.0.0 204.12.14.254 0 54 i *> 119.0.0.0 204.12.14.254 0 54 i Total number of prefixes 10 Rack14R4# Rack14R4# Rack14R4#show ip bgp neighbors 204.12.14.254 routes BGP table version is 25, local router ID is 150.14.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 113.0.0.0 204.12.14.254 0 54 50 60 i *> 115.0.0.0 204.12.14.254 0 54 i *> 117.0.0.0 204.12.14.254 0 54 i *> 119.0.0.0 204.12.14.254 0 54 i Total number of prefixes 4 Rack14R4#
7.59. BGP Next-Hop Trigger
Next-Hopへの到達性はscanner processが実行される60秒間隔で確認されます。
しかし、以下のコマンドを投入すると、IGPテーブルが変化した後の指定秒後にscanner processが実行されるようになります。
しかし、以下のコマンドを投入すると、IGPテーブルが変化した後の指定秒後にscanner processが実行されるようになります。
Router(config-router)# bgp next-hop trigger delay sec
7.60. BGP TTL Security
指定したホップ数ほりも離れたルータとneighborを確立できなくする機能です。
具体的な実装は、受信したTTLが 255 - hop_limit 以上である場合のみneighborを確立するようにします。そのため、TTLを255以外で設定すると想定外の挙動をしてしまいます。本機能の設定コマンドは以下の通りです。
具体的な実装は、受信したTTLが 255 - hop_limit 以上である場合のみneighborを確立するようにします。そのため、TTLを255以外で設定すると想定外の挙動をしてしまいます。本機能の設定コマンドは以下の通りです。
Router(config-router)# neighbor addr ttl-security hops hop_limit
7.61. BGP AllowAS-in
通常、AS-PATHに自ASが含まれている場合は、ループが発生したと判断しそのルートを破棄します。
しかし、以下のコマンドで自ASを含んでいる場合でも、"敢えて受信する"事ができます。ASが分断されても疎通を維持できるようにしたい時に有効な機能です。
しかし、以下のコマンドで自ASを含んでいる場合でも、"敢えて受信する"事ができます。ASが分断されても疎通を維持できるようにしたい時に有効な機能です。
Router(config-router)# neighbor addr allowas-in