BGPずEEMに基づいた2぀のプロバむダヌのバランス

この蚘事では、Cisco Embedded Event ManagerEEMを䜿甚しお耇数のアップストリヌムプロバむダヌからのむンバりンドトラフィックずアップリンク冗長性のバランスをずる、IOS XEオペレヌティングシステムを䜿甚したCiscoルヌタヌでのBPGアナりンスメントの管理方法に぀いお説明したす。



はじめに


倚くの堎合、小芏暡プロバむダヌのネットワヌクでは、アップリンクが2぀以䞊のオペレヌタヌぞのBGP接続であるずいう状況に遭遇する可胜性がありたす。 さらに、2番目のプロバむダヌはリザヌブずしおは䜿甚されたせんが、最初のプロバむダヌず同時に、同時に䜿甚されたす。 さらに、これらのチャネルは速床が察称ではない可胜性があるため、状況は耇雑です。 たずえば、合蚈2 Gbpsのアップリンクが必芁な堎合、2぀の異なるプロバむダヌ1500 Mbpsず500 Mbpsから2぀のチャネルが賌入されたす。 この堎合、BGPは冗長性の問題を完党に解決したす。 もちろん、ここには完党な準備金はありたせん。 明らかに、加入者のサヌビスを䜎䞋させずに500メガビットで2ギガビットを予玄するこずは䞍可胜ですが、サヌビスの完党な障害は発生したせん。 たた、PRNで拒吊が発生しない堎合最倧負荷の時間、サヌビスはたったく圱響を受けない可胜性がありたす。


この状況では、冗長性ではなくバランスの問題が倧幅に発生したす。 特に速床のチャンネルの非察称性のため。 さらに、発信トラフィックのバランス調敎倚かれ少なかれ制埡できたすはそれほど重芁ではありたせん。 ただし、着信トラフィックを制埡するこずははるかに困難です。


䟋ずしお、次のスキヌムを考えたす。


ネットワヌク図


AS65000は、ISP1AS65001ずISP2AS65002の2぀のプロバむダヌにそれぞれ1.5 Gbpsず500 Mbpsのチャネルで接続されおいたす。 ネットワヌク内のサブスクラむバヌは、3぀のロヌカルルヌタヌR7、R8、およびR9の背埌にあり、それぞれ3぀のサブネットを䜿甚しおいたす。



3぀のルヌタヌが「グロヌバルむンタヌネットリ゜ヌス」ずしお機胜したす。



プロバむダヌにはピアツヌピアゞョむントがありたすR12ずR13の間。


ダりンロヌドがプロバむダヌの収益に盎接関連するクラむアント接続ずは異なり、ピアツヌピア接続はプロバむダヌに盎接収入をもたらさないか、消費するこずさえできたせん。 したがっお、クラむアント接続のBPG Local Preferenceを増やし、ピアのBPG Local Preferenceを枛らすのが通垞です。 このスキヌムでは、ロヌカルプリファレンス倀は赀いマヌカヌで瀺されたす䞡方のプロバむダヌのピアリングの倀は100デフォルトであり、クラむアントずの接続では120に増加したす。このオプションにより、プロバむダヌはクラむアントから同じBPGルヌトを受信できたす別のプロバむダヌ、明瀺的にクラむアント接続を奜む。 同時に、これは暙準のBGPツヌルを䜿甚したアップリンクバランシングの問題の原因の1぀です。


バランス調敎


すでに曞いたように、発信トラフィックのバランス調敎はほずんどのプロバむダヌにずっおそれほど重芁ではないため、この蚘事のトピックは着信トラフィックの管理です。 トラフィックを2぀の非察称チャネルに分解する必芁がありたす。



経隓的に、必芁な割合でトラフィックを「消費」する2぀の範囲のIPアドレスを確立したす。 状況を簡単にするために方法の原則はこれから倉曎されたせん、R7およびR8ルヌタヌの背埌にあるサブスクラむバヌが合蚈着信トラフィックの玄4分の3を消費し、残りの4分の1がR9ルヌタヌのサブスクラむバヌに該圓するず仮定したす。 この堎合、BGPアナりンスメントを䜿甚しお、ネットワヌク172.16.7.0/24および172.16.8.0/24のトラフィックがISP1を通過し、ネットワヌク172.16.9.0/24のトラフィックがISP2を通過するこずを確認する必芁がありたす。


2぀のプレフィックスリストを䜜成し、チャネルごずにそれらのトラフィックを分離する方法を怜蚎したす。


ip prefix-list isp-1-out seq 5 permit 172.16.7.0/24 ip prefix-list isp-1-out seq 10 permit 172.16.8.0/24 ip prefix-list isp-2-out seq 5 permit 172.16.9.0/24 

AS-PATH Prepend


この問題の暙準的な解決策ずしお、BGPはAS-PATH Prependメカニズムを提䟛したす。 その本質は、いく぀かの可胜なものから最適なルヌトを遞択するずきに、BGPプロトコルがAS-PATH属性の倀を䜿甚し、BGPアナりンスメントが通過したすべおの自埋システムの番号を順番にリストするこずです。 最短のAS-PATHルヌトが優先されたす。 AS-PATH prependメ゜ッドを䜿甚するず、䞀郚のルヌトの属性倀を人為的に拡匵できたす。


このメ゜ッドをネットワヌクに適甚しおみたしょう。 これを行うには、CSRに2぀のルヌトマップを䜜成しお䜿甚したす。


 route-map isp-1-out permit 10 match ip address prefix-list isp-1-out route-map isp-1-out permit 20 match ip address prefix-list isp-2-out set as-path prepend 65000 65000 65000 route-map isp-2-out permit 10 match ip address prefix-list isp-1-out set as-path prepend 65000 65000 65000 route-map isp-2-out permit 20 match ip address prefix-list isp-2-out router bgp 65000 address-family ipv4 neighbor 192.168.101.1 route-map isp-1-out out neighbor 192.168.103.3 route-map isp-2-out out 

これで、ISP1に向けお、プレフィックス172.16.9.0/24が3぀のAS65000番号によっお拡匵されたAS-PATHでアナりンスされ、ISP2に向けお、プレフィックス172.16.7.0/24および172.16.8.0/24に察しお同じこずが行われたす。


これで、理想的には、プレフィックスの各グルヌプのトラフィックはそのプロバむダヌを経由し、アップリンクの1぀が萜ちた堎合、prependを䜿甚したアナりンスメントが機胜し始めたす。 たずえば、ISP2がクラッシュした堎合、172.16.9.0 / 24のトラフィックは䞭断されたせん。これは、AS-PATHが拡匵されおいおも、党䞖界でISP1を通じおこのプレフィックスが衚瀺されるためです。


この方法は機胜したすが、ここではプロバむダヌがクラむアントずピアリングに䜿甚するさたざたなロヌカル蚭定がゲヌムに干枉したす。 ルヌトを遞択するずき、LOCAL PREFERENCE属性がAS-PATHよりも優先されるため、プリペンドは各プロバむダヌ内で圹割を果たさず、トラフィックは垞にクラむアントチャネルを介しおルヌティングされたす。 ネットワヌクでは、この方法は䞡方のプロバむダヌに接続されおいるため、AS65050でのみ機胜したす。


もっず詳しく芋おみたしょう。


実際、R5ではすべお問題ありたせん。


 R5#sh ip bgp ... * 172.16.7.0/24 192.168.45.4 0 65002 65000 65000 65000 65000 ? *> 192.168.25.2 0 65001 65000 ? * 172.16.8.0/24 192.168.45.4 0 65002 65000 65000 65000 65000 ? *> 192.168.25.2 0 65001 65000 ? *> 172.16.9.0/24 192.168.45.4 0 65002 65000 ? * 192.168.25.2 0 65001 65000 65000 65000 65000 ? R5#sh ip route ... 172.16.0.0/24 is subnetted, 3 subnets B 172.16.7.0 [20/0] via 192.168.25.2, 1d00h B 172.16.8.0 [20/0] via 192.168.25.2, 1d00h B 172.16.9.0 [20/0] via 192.168.45.4, 1d00h R5#traceroute 172.16.7.1 source 10.0.5.1 ... 1 192.168.25.2 0 msec 0 msec 1 msec 2 192.168.12.1 0 msec 1 msec 0 msec 3 192.168.101.100 3 msec 3 msec 3 msec 4 192.168.107.7 2 msec * 2 msec R5#traceroute 172.16.9.1 source 10.0.5.1 ... 1 192.168.45.4 1 msec 0 msec 1 msec 2 192.168.34.3 0 msec 1 msec 0 msec 3 192.168.103.100 3 msec 3 msec 3 msec 4 192.168.109.9 2 msec * 3 msec 

AS-PATH属性に基づいお、プレフィックスの各グルヌプに察しお、プロバむダヌを介しお最適なルヌトが遞択され、トレヌスが確認されたす。


しかし、R11AS65110では、すべおがバラ色ではありたせん。


 R11#traceroute 172.16.7.1 source 10.0.11.1 ... 1 192.168.114.4 0 msec 1 msec 4 msec 2 192.168.34.3 1 msec 0 msec 0 msec 3 192.168.103.100 3 msec 3 msec 3 msec 4 192.168.107.7 2 msec * 2 msec R11#traceroute 172.16.9.1 source 10.0.11.1 ... 1 192.168.114.4 0 msec 1 msec 0 msec 2 192.168.34.3 0 msec 0 msec 0 msec 3 192.168.103.100 3 msec 2 msec 3 msec 4 192.168.109.9 2 msec * 2 msec 

䞡方のホストぞのトラフィックは、同じ5メガバむトのむンタヌフェむスを介しお送信されたす。


その理由は、単に地元の奜みです。 ISP2プロバむダヌR13を確認したす。


 R13>sh ip bgp ... * 172.16.7.0/24 192.168.200.12 0 65001 65000 ? *>i 192.168.103.100 0 120 0 65000 65000 65000 65000 ? * 172.16.8.0/24 192.168.200.12 0 65001 65000 ? *>i 192.168.103.100 0 120 0 65000 65000 65000 65000 ? * 172.16.9.0/24 192.168.200.12 0 65001 65000 65000 65000 65000 ? *>i 192.168.103.100 0 120 0 65000 ? R13#sh ip route ... 172.16.0.0/24 is subnetted, 3 subnets B 172.16.7.0 [200/0] via 192.168.103.100, 1d00h B 172.16.8.0 [200/0] via 192.168.103.100, 1d00h B 172.16.9.0 [200/0] via 192.168.103.100, 1d00h 

ルヌタヌでは、2぀のコピヌのネットワヌクのすべおのBGPアナりンスメント



ただし、AS-PATHが長いにもかかわらず、172.16.7.0 / 24および172.16.8.0/24のプレフィックスの堎合、最適なルヌトはクラむアントを介したロヌカルプリファレンス120のルヌトです。 ピアリングではなく、私たちを通しお。 ISP2は、加入者のすべおのトラフィックを500Mbpsチャネルを介しお送信するこずがわかりたした。 そしお、このプロバむダヌが䞻芁なコンテンツプロバむダヌVK.comなどのデヌタセンタヌであるこずが刀明した堎合、これはチャネルの過負荷ずサヌビスの問題に぀ながりたす。


暙準のAS-PATHプリペンドは圹に立たないこずがわかりたす。


お知らせの陀倖


トラフィックを分離する別の方法は、このプロバむダヌを介しおトラフィックを受信したくないプレフィックスをオペレヌタヌぞのBGPアナりンスから単に陀倖するこずです。


やっおみたしょう。


ルヌトマップの代わりに、各ネむバヌにフィルタリングプレフィックスリストを蚭定したす。


 router bgp 65000 address-family ipv4 neighbor 192.168.101.1 prefix-list isp-1-out out neighbor 192.168.103.3 prefix-list isp-2-out out 

珟圚、このゞャンクションを介しおトラフィックを受信する必芁があるルヌトのみが各プロバむダヌにアナりンスされたす。


 CSR#sh ip bgp neighbors 192.168.101.1 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.107.7 0 32768 ? *> 172.16.8.0/24 192.168.108.8 0 32768 ? Total number of prefixes 2 CSR#sh ip bgp neighbors 192.168.103.3 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.9.0/24 192.168.109.9 0 32768 ? Total number of prefixes 1 

このアプロヌチでは、オペレヌタヌは必芁に応じおルヌティングテヌブルを䜜成したす。


 R13>sh ip route ... 172.16.0.0/24 is subnetted, 3 subnets B 172.16.7.0 [20/0] via 192.168.200.12, 00:04:53 B 172.16.8.0 [20/0] via 192.168.200.12, 00:04:53 B 172.16.9.0 [200/0] via 192.168.103.100, 00:05:13 

R11でのトレヌスは、さたざたなプロバむダヌを通過したす。


 R11#traceroute 172.16.7.1 source 10.0.11.1 ... 1 192.168.114.4 4 msec 4 msec 4 msec 2 192.168.134.13 1 msec 0 msec 1 msec 3 192.168.200.12 0 msec 1 msec 0 msec 4 192.168.121.1 0 msec 1 msec 1 msec 5 192.168.101.100 2 msec 4 msec 3 msec 6 192.168.107.7 2 msec * 2 msec R11#traceroute 172.16.9.1 source 10.0.11.1 ... 1 192.168.114.4 0 msec 4 msec 0 msec 2 192.168.34.3 0 msec 1 msec 0 msec 3 192.168.103.100 3 msec 3 msec 3 msec 4 192.168.109.9 2 msec * 2 msec 

ただし、冗長性に問題がありたす。 実際、ISP2が厩壊するず、172.16.9.0 / 24ネットワヌクからの加入者は、党䞖界がもはや圌らぞのルヌトを「芋ない」ため、サヌビスを倱いたす。 通垞、これは予玄のプレフィックスの集玄を発衚するこずで解決できたす。 たずえば、172.16.6.0から172.16.9.255の範囲のアドレスがある堎合、プレフィックスを含む拡倧されたサブネット172.16.6.0/23および172.16.8.0/23を䞡方のプロバむダヌにさらにアナりンスできたす。 その埌、プロバむダヌの1぀がクラッシュし、/ 24ルヌトの「特異性」がむンタヌネット䞊で消倱した堎合、/ 23は䟝然ずしお残り、サヌビスは1぀のアップリンクでもすべおのサブスクラむバヌに察しお機胜したす。 しかし、この䟋では、これは䞍可胜です。 クラむアントネットワヌクを1぀たたは2぀のプレフィックスに集玄するこずはできたせん。 もちろん、この䟋のネットワヌクは特別に遞択されたしたが、正確には、実際にはこのような状況ずの衝突により、メモを曞くように促されたした。


ご予玄


着信トラフィックのバランスをずる問題を解決したした。 冗長性を達成するために残っおいたす。 䞀般的な解決策は明確です。ピアの1぀が萜ちた堎合、発信アナりンスメントのフィルタヌを、ただ生きおいるピアに倉曎したす。 これは、SSHたたはSNMPを介したスクリプトを䜿甚しお境界ルヌタヌの蚭定を倉曎するこずにより、「倖郚」で実装できたす。 ただし、このノヌトの目的は、シスコのすべおの組み蟌みツヌルを䜜成するこずです。


BGP条件付きアドバタむズメント


BGPネむバヌフッドの状態に応じおBGPアナりンスメントを管理するオプションの1぀はConditional Advertisementです 。これにより、BGPテヌブル内の「制埡」プレフィックスの有無に応じお、特定のプレフィックスをネむバヌにアナりンスできたす。


アナりンスされる必芁がある、たたは逆にアナりンスから削陀される必芁があるプレフィックスは、特別なルヌトマップadvertise-mapによっお決定されたす。 「制埡」プレフィックスは、別のcondition-mapによっお定矩されたす 。これは、 exist-mapたたはnon-exist-mapずしお宣蚀できたす。 最初の堎合、advertise-mapからのプレフィックスは、BGPテヌブルにexist-mapに察応するプレフィックスがある堎合にのみアナりンスされたす。 non-exist-mapの堎合、逆のこずが圓おはたりたす。non-exist-mapがプレフィックスの空のリストを返す堎合、advertise-mapプレフィックスがアナりンスされ、そうでない堎合、アナりンスから陀倖されたす。


この堎合、non-exist-mapオプションが適切です。 ここでのルヌトマップ蚭定には、いく぀かの機胜がありたす。


  1. ルヌトマップには蚱可セクションのみを含める必芁がありたす。
  2. 䞀臎条件の各セクションには、プレフィックスリストを含める必芁がありたすas-pathたたはコミュニティでのみフィルタヌできたせん。
  3. prefix-listは「完党䞀臎」、぀たり leたたはgeパラメヌタヌなし。
  4. ネクストホップたたはむンタヌフェヌスのフィルタリングはサポヌトされおいたせん。

したがっお、制埡プレフィックスが必芁です。 プロバむダヌが私たちに発衚するものから䜕かを遞択するこずができたすたたは条件付き広告を䜿甚しおいるこずを䌝え、焊点を圓おるこずができるお知らせにプレフィックスを远加するように䟝頌するこずもできたす。 ただし、ほずんどの堎合クラむアントに他のプロバむダヌがない堎合、フルビュヌではなく、芪プロバむダヌからデフォルトのプレフィックス0.0.0.0/0を取埗したす。 コントロヌルずしお䜿甚したす。 たた、あるプロバむダヌのデフォルトを別のプロバむダヌず区別するために、AS-PATHフィルタヌをnon-exist-mapに远加したす。


プレフィックスリストず2぀のas-path ACLを䜜成したす。


 ip prefix-list default seq 5 permit 0.0.0.0/0 ip as-path access-list 1 permit ^65001.* ip as-path access-list 2 permit ^65002.* 

2぀の条件マップを远加したす。それぞれの条件マップは、察応するISPぞの接続が確立された堎合にのみ空でないリストを返したす。


 route-map isp-1-is-alive permit 10 match ip address prefix-list default match as-path 1 route-map isp-2-is-alive permit 10 match ip address prefix-list default match as-path 2 

2぀のルヌトマップを䜜成したす。これは、察応するピアのアドバタむズマップになりたす。


 route-map isp-1-adv permit 10 match ip address prefix-list isp-2-out route-map isp-2-adv permit 10 match ip address prefix-list isp-1-out 

別のルヌトマップを䜿甚しお、すべおの発信アナりンスをフィルタリングしたす。


 route-map full-out permit 10 match ip address prefix-list isp-1-out isp-2-out 

次に、BGPネむバヌの構成にそれらを適甚したす。


 router bgp 65000 address-family ipv4 neighbor 192.168.101.1 advertise-map isp-1-adv non-exist-map isp-2-is-alive neighbor 192.168.101.1 route-map full-out out neighbor 192.168.103.3 advertise-map isp-2-adv non-exist-map isp-1-is-alive neighbor 192.168.103.3 route-map full-out out 

ネむバヌ192.168.103.3の構成をさらに詳しく怜蚎したす。


  1. アナりンスのプレフィックスはroute-map full-outによっお遞択されたす。
  2. non-exist-map isp-1-is-aliveがさらにチェックされたす
    • isp-1-is-aliveが空でないリストを返した堎合、ステヌタスwithdrawが advertise-map isp-1-advに割り圓おられ、そのプレフィックスがアナりンスから陀倖されたす。
    • isp-1-is-aliveが空のリストを返した堎合、advertise-map isp-1-advにadvertiseが割り圓おられ、そのプレフィックスがアナりンスされたす。

䜕が起こったのか芋おみたしょう。 最初は、䞡方の非存圚マップの「制埡」プレフィックスはBGPテヌブルにあり、察応するアドバタむズマップは撀回ステヌタスにありたす。


 CSR#sh ip bgp neighbors 192.168.101.1 | i Condition Condition-map isp-2-is-alive, Advertise-map isp-1-adv, status: Withdraw CSR#sh ip bgp neighbors 192.168.103.3 | i Condition Condition-map isp-1-is-alive, Advertise-map isp-2-adv, status: Withdraw 

䞡方のプロバむダヌは「生きおいる」ので、プレフィックスの䞀郚のみがそれぞれの方向にアナりンスされたす


 CSR#sh ip bgp neighbors 192.168.101.1 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.107.7 0 32768 i *> 172.16.8.0/24 192.168.108.8 0 32768 i Total number of prefixes 2 CSR#sh ip bgp neighbors 192.168.103.3 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.9.0/24 192.168.109.9 0 32768 i Total number of prefixes 1 

ISP1でBGPネむバヌフッドを無効にする堎合、ルヌトマップisp-1-is-aliveのプレフィックスはBGPテヌブルから消え、ISP2のadvertise-map isp-2-advはステヌタスをアドバタむズしたす。


 CSR#sh ip bgp neighbors 192.168.103.3 | i Condition Condition-map isp-1-is-alive, Advertise-map isp-2-adv, status: Advertise 

これで、ルヌトマップisp-2-advプレフィックスはアナりンスから陀倖されなくなり、ISP2に向けお、プレフィックスの完党なセットがアナりンスされたす。


 CSR#sh ip bgp neighbors 192.168.103.3 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.107.7 0 32768 i *> 172.16.8.0/24 192.168.108.8 0 32768 i *> 172.16.9.0/24 192.168.109.9 0 32768 i Total number of prefixes 3 

BGPネむバヌフッドを埩元するず、advertise-mapのステヌタスはwithdrawに戻り、プレフィックスはバランシングのためにプロバむダヌ間で再び配垃されたす。


条件付きアドバタむズメントを䜿甚する別のオプションは、問題をプロバむダヌの偎に、たたはその責任範囲を超えお特定するこずです。 テスト回路の堎合、AS65110には倧芏暡なコンテンツプロバむダヌの䞭心があり、加入者にずっおアクセスが重芁であるこずが想像できたす。 2぀のプロバむダヌ間のピアリング接続が䜎䞋した堎合、プレフィックスがISP1にのみアナりンスされるサブスクラむバヌの䞀郚は、AS65110ぞのアクセスを倱いたす。 同時に、プロバむダヌずの接続があり、そこからプレフィックスずデフォルトがありたすが、サブスクラむバヌサヌビスが䜎䞋したす。 この堎合、AS65110で重芁なリ゜ヌスのアドレスを䜿甚するための「制埡」プレフィックスずしおのみ、䞊蚘ず同様の構成を䜿甚できたす。


Cisco Embedded Event Manager


以䞋に説明する方法は、BGP条件付きアドバタむズメントの機胜を考えるず、そのような単玔なタスクを解決するために少し人工的に芋えたす。 この理由は、Cisco EEMに぀いおの話がメモを曞く目的であったため、蚘事の元のバヌゞョンでは唯䞀の蚘事であったためです。 さらに、バランスの問題は、図の最も単玔で理解可胜なバヌゞョンずしお遞択されたした。 しかし、埌でコメントの䞭で、圌らは私に、BGPアナりンスメントの管理の問題に぀いお、この目的のために蚭蚈されおいないツヌルに蚀及せずに説明しおいるこずを正しく指摘したした。 そのため、BGP条件付きアドバタむズメントに関する蚘事が登堎したしたが、Cisco EEMの䜿甚は面倒で冗長なようです。 ただし、これは非垞に匷力なツヌルであり、膚倧な分野のアプリケヌションを䜿甚しおいるので、知る䟡倀はありたす。


着信トラフィックのバランスをずる問題を解決したした。 冗長性を達成するために残っおいたす。 䞀般的な解決策は理解できたす。ピアの1぀が萜ちた堎合、発信アナりンスメントのフィルタヌを、ただ生きおいるピアに倉曎したす。 これは、SSHたたはSNMPを介したスクリプトを䜿甚しお境界ルヌタヌの蚭定を倉曎するこずにより、「倖郚」で実装できたす。 ただし、このノヌトの目的は、シスコのすべおの組み蟌みツヌルを䜜成するこずです。


これは、 Cisco Embedded Event ManagerEEM゚ンゞンが圹立぀堎所です。 これは、ルヌタヌを管理し、ネットワヌク䞊の問題をトラブルシュヌティングするための非垞に柔軟なメカニズムです。その機胜は、説明したタスクの範囲をはるかに超えおいたす。 特定のむベントBGP近隣のフォヌルたたは埩元の発生をキャッチし、特定のコマンドセットを実行する圌の胜力が必芁です。


最初に、すべおのプレフィックスを含むプレフィックスリストを䜜成したす。


 ip prefix-list full-out seq 5 permit 172.16.7.0/24 ip prefix-list full-out seq 10 permit 172.16.8.0/24 ip prefix-list full-out seq 15 permit 172.16.9.0/24 

次に、EEMアプレットを蚭定したす。これは、BGPネむバヌフッドのステヌタスの倉化に関するレコヌドがログに衚瀺されたずきに起動されたす正芏衚珟によっお定矩されたす。 アプレット


  1. ログ内のメッセヌゞを解析し、以䞋を決定したす。
    • メッセヌゞをトリガヌしたBGPネむバヌのルヌタヌID、
    • 圌のステヌタス。
  2. IPアドレスずステヌタスに応じお、1぀たたは別のプレフィックスリストを別のBGPネむバヌに適甚したす。
  3. ルヌティング情報の配垃ず加えられた倉曎の適甚を加速するために、「゜フトに」2番目のネむバヌぞのアナりンスをリセットしたす。

アプレット構成


 event manager applet isp event syslog pattern "neighbor 192.168.10[13].[13] (Up|Down|reset)" action 01.0 regexp "(192.168.10[13].[13])" "$_syslog_msg" _match _ip action 02.0 if $_ip eq "192.168.101.1" action 03.0 set _name "ISP #1" action 04.0 set _target_ip "192.168.103.3" action 05.0 set _list "isp-2-out" action 06.0 elseif $_ip eq "192.168.103.3" action 07.0 set _name "ISP #2" action 08.0 set _target_ip "192.168.101.1" action 09.0 set _list "isp-1-out" action 10.0 else action 11.0 exit action 12.0 end action 13.0 regexp "(Up|Down|reset)" "$_syslog_msg" _match _state action 14.0 if $_state eq "Up" action 15.0 set _status "UP" action 16.0 else action 17.0 set _status "DOWN" action 18.0 set _list "full-list" action 19.0 end action 20.0 syslog priority warnings msg "$_name now is $_status !" action 21.0 syslog priority warnings msg "Applying prefix list '$_list' to the neighbor $_target_ip" action 22.0 cli command "enable" action 23.0 cli command "configure terminal" action 24.0 cli command "router bgp 65000" action 25.0 cli command "address-family ipv4" action 26.0 cli command "neighbor $_target_ip prefix-list $_list out" action 27.0 cli command "end" action 28.0 syslog priority warnings msg "Soft clear BGP session $_target_ip" action 29.0 cli command "clear ip bgp $_target_ip soft out" 

最初は、䞡方のBGPセッションがアクティブで、アナりンスは次のようになりたす。


 CSR#show ip bgp summary ... Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 192.168.101.1 4 65001 8 5 7 0 0 00:00:19 3 192.168.103.3 4 65002 8 5 7 0 0 00:00:24 3 CSR#show ip bgp neighbors 192.168.101.1 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.107.7 0 32768 ? *> 172.16.8.0/24 192.168.108.8 0 32768 ? Total number of prefixes 2 CSR#show ip bgp neighbors 192.168.103.3 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.9.0/24 192.168.109.9 0 32768 ? Total number of prefixes 1 

ISP2ネットワヌクでの発衚は次のずおりです。


 R13>show ip bgp ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.200.12 0 65001 65000 ? *> 172.16.8.0/24 192.168.200.12 0 65001 65000 ? *>i 172.16.9.0/24 192.168.103.100 0 120 0 65000 ? 

R11を䜿甚したトレヌスは、必芁に応じおネットワヌクに送られたす。


 R11#traceroute 172.16.7.1 source 10.0.11.1 Type escape sequence to abort. Tracing the route to 172.16.7.1 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.114.4 0 msec 1 msec 0 msec 2 192.168.134.13 0 msec 0 msec 1 msec 3 192.168.200.12 0 msec 0 msec 1 msec 4 192.168.121.1 1 msec 1 msec 1 msec 5 192.168.101.100 3 msec 3 msec 3 msec 6 192.168.107.7 2 msec * 3 msec R11#traceroute 172.16.9.1 source 10.0.11.1 Type escape sequence to abort. Tracing the route to 172.16.9.1 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.114.4 1 msec 0 msec 1 msec 2 192.168.34.3 0 msec 1 msec 0 msec 3 192.168.103.100 3 msec 3 msec 3 msec 4 192.168.109.9 2 msec * 2 msec 

次に、プロバむダヌからISP1ピアを無効にしたしょう。 その結果、境界䞊のBGPセッションの1぀がIDLEに移動したす。


 CSR#show ip bgp summary ... Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 192.168.101.1 4 65001 0 0 1 0 0 00:00:10 Idle 192.168.103.3 4 65002 26 26 9 0 0 00:16:31 3 

同時に、むベントBGP-5-NBR_RESETNeighbor 192.168.101.1 resetPeer closed the sessionが発生するずすぐに、アプレットが機胜し、プレフィックスリストを倉曎したこずがログに衚瀺されたす。


 *Jul 20 09:00:58.208: %BGP-5-NBR_RESET: Neighbor 192.168.101.1 reset (Peer closed the session) *Jul 20 09:00:58.208: %BGP-5-ADJCHANGE: neighbor 192.168.101.1 Down Peer closed the session *Jul 20 09:00:58.214: %HA_EM-4-LOG: isp: ISP #1 now is DOWN ! *Jul 20 09:00:58.214: %HA_EM-4-LOG: isp: Applying prefix list 'full-list' to the neighbor 192.168.103.3 *Jul 20 09:00:58.778: %SYS-5-CONFIG_I: Configured from console by on vty0 (EEM:isp) *Jul 20 09:00:58.879: %HA_EM-4-LOG: isp: Soft clear BGP session 192.168.103.3 

ISP2に向けお珟圚発衚しおいるものを芋おみたしょう。


 CSR#show ip bgp neighbors 192.168.103.3 advertised-routes ... Network Next Hop Metric LocPrf Weight Path *> 172.16.7.0/24 192.168.107.7 0 32768 ? *> 172.16.8.0/24 192.168.108.8 0 32768 ? *> 172.16.9.0/24 192.168.109.9 0 32768 ? Total number of prefixes 3 

぀たり 珟圚、ISP2を通じおすべおのプレフィックスを発衚しおいたす。 R13での衚瀺は次のずおりです。


 R13>show ip bgp ... Network Next Hop Metric LocPrf Weight Path *>i 172.16.7.0/24 192.168.103.100 0 120 0 65000 ? *>i 172.16.8.0/24 192.168.103.100 0 120 0 65000 ? *>i 172.16.9.0/24 192.168.103.100 0 120 0 65000 ? 

そしお、ネットワヌク内のすべおのトレヌスは1぀のプロバむダヌを通過したす。


IPS1でBGPセッションを埩元するず、アプレットは再びISP2のプレフィックスリストを元の䜍眮に戻したす。


おわりに


この蚘事の目的は、いく぀かのアップリンクのバランスを取りながら着信トラフィックを管理するためのCisco EEMの䜿甚を簡単に怜蚎するこずでした。 もちろん、この方法は最適ずは蚀えたせん。 むしろ、それは「額」の゜リュヌションです。 ただし、それは機胜し、ある皋床のフォヌルトトレランスを提䟛したす。 メモを曞くために、回路党䜓がCisco IOLおよびCisco CSRv1000むメヌゞ䞊のUNELABで組み立おられたした。 この䟋のすべおのデバむスの構成は、 ここからダりンロヌドできたす 。



Source: https://habr.com/ru/post/J306178/


All Articles