選択的なアナウンスのためにインターネット上の2つのチャネルでBGPを使用する

選択的なアナウンスのためにインターネット上の2つのチャネルでBGPを使用する



入力データ


2つの独自の/ 24のサブネットがあるため、標準的なBGP作業の必要性に直面しました。Googleでは、このトピックに関する最小限の情報を見つけました。 インターネットでは、1つのネットワーク/ 24と2つのプロバイダーがあり、そのうちの1つがバックアップとして使用される場合、主にケースが考慮されます。 はい、この場合でも、英語圏のリソースに関する説明のみが誤って、または散在していると考えられていました。



すぐに予約を行います-CiscoOSが検討中の機能:EXIST-MAPおよびNON-EXIST-MAPは、UNIXアナログ(Quaggaなど)ではサポートされていません。



この記事では、次のデータに基づいた構成の2つの例を検討します。

  1. メインワーキングとリザーブの2つのチャネルがあります。 どちらのプロバイダーも、デフォルトを発表しています。 両方のチャネルを使用するのは望ましくありません。 順番にサブネットをアナウンスしますが、メインチャネルが生きている場合、バックアップチャネルへのプレフィックスのアナウンスを強制的に禁止し、ワーキングチャネルが落ちた場合にのみアナウンスします
  2. 2つの作業チャネルがあります。 また、最初のサブネットが常に最初のチャネルを介して動作(アナウンス)され、2番目のサブネットが2番目のチャネルを介して動作する必要があります。 同時に、両方のプロバイダーがデフォルトを発表します。 チャネルの1つが落ちた場合、このチャネルからサバイバーにアナウンスを転送します。 落ちたチャネルの操作を再開するとき-アナウンスを初期形式に戻す-各プロバイダーを介した1つのサブネット




理論:



The BGP conditional advertisement feature uses the non-exist-map and the advertise-map keywords of the neighbor advertise-map command in order to track routes by the route prefix. If a route prefix is not present in output of the non-exist-map command, then the route specified by the advertise-map command is announced. This feature is useful for multihomed networks, in which some prefixes are advertised to one of the providers only if information from the other provider is not present (this indicates a failure in the peering session or partial reachability).
      
      





つまり、短い場合:EXIST-MAPおよびNON-EXIST-MAP機能は、ルートマッププレフィックスで説明されているルートテーブルの可用性を確認するための条件です。 これは、ルートがテーブルから消える(NON-EXIST-MAP)、またはその逆が現れる(EXIST-MAP)ときに起動するトリガーです



だからあなたが持っている:





ケースNo. 1:すべてのネットワークが1つのプロバイダー(メインチャネル)に提供され、バックアップチャネルでのアナウンスはメインチャネルがドロップした場合にのみ開始されます


このケースは最も単純で、さまざまなソリューションをどこでも見つけることができますが、ほとんどの場合、「F」、つまりパス付加の増加を使用します。

シスコおよびUNIXベースのソリューション(Quaggaを使用する場合)の両方の標準は、両方のチャネルでの同時アナウンスです。 これは、バックアップチャネルに長いパスを追加するだけの発表ですが、私の意見では、これは最善の解決策ではありません。 一部のプロバイダーは前置詞をカットし(たとえばRostelecomで行ったように)、バックアップチャネルの代わりに、2つのチャネルのバランスを取ります。



次のソリューションはより柔軟ですが、2つのニュアンスがあります。

1. Quaggaには実装できません-EXIST-MAPの操作方法がわかりません

2.デフォルトに加えて、プロバイダーの1つが、EXIST-MAP、NON-EXIST-MAPが機能することに応じて、何らかの(任意の)プレフィックスを返す必要があります。 これを行うには、追加のプレフィックスをプロバイダーに同意するのは簡単です。EXIST-MAPと追加のプレフィックスを使用するため、追加のプレフィックスが必要であることをNOCに伝えるだけです。 プレフィックスプロバイダーがアナウンスで問題なく追加します。



スキーム:

画像

ここ-ComStar(vlan 100)-メインチャンネル、QWERTY(vlan 200)-バックアップチャンネル、Cisco-実際、デバイス。

論理データから:



構成tsiska:



 ! interface FastEthernet0/0 no ip address duplex auto speed auto ! !  №100,    ComStar ! interface FastEthernet0/0.100 encapsulation dot1Q 100 ip address 10.192.0.10 255.255.255.0 ! !  №200 -   QWERTY ! interface FastEthernet0/0.200 encapsulation dot1Q 200 ip address 192.168.1.10 255.255.255.0 ! ! ip forward-protocol nd ! !     - (        ), !  BGP    .  ,    -   !    . ! ip route 88.88.10.0 255.255.254.0 Null0 ! !  BGP ! router bgp 11111 no synchronization ! router-id       bgp router-id 10.192.0.10 no bgp enforce-first-as bgp log-neighbor-changes ! ,     network 88.88.10.0 mask 255.255.254.0 !  - -  neighbor 10.192.0.200 remote-as 8359 neighbor 10.192.0.200 description ComStar neighbor 10.192.0.200 next-hop-self neighbor 10.192.0.200 soft-reconfiguration inbound !     ()  neighbor 10.192.0.200 weight 500 !  ,    neighbor 10.192.0.200 route-map comstar in !  ,    neighbor 10.192.0.200 route-map ournets out !   -  neighbor 192.168.1.200 remote-as 8615 neighbor 192.168.1.200 description QWERTY neighbor 192.168.1.200 next-hop-self neighbor 192.168.1.200 soft-reconfiguration inbound !     ( )  neighbor 192.168.1.200 weight 100 neighbor 192.168.1.200 route-map qwerty in !      !      ,            !     ,   88.88.10.0/23 ( !     non-exist-map neighbor 192.168.1.200 route-map ournets out !  ,   ,   10.10.10.0/24 !    , .      neighbor 192.168.1.200 advertise-map ournets non-exist-map NONEXIST_MAP no auto-summary ! !  ,        ip prefix-list NONEXIST seq 5 permit 10.10.10.0/24 ! !  "" ,       !          ip prefix-list bogons description Bad-nets ip prefix-list bogons seq 10 permit 127.0.0.0/8 le 32 ip prefix-list bogons seq 20 permit 172.16.0.0/12 le 32 ip prefix-list bogons seq 25 permit 192.168.0.0/16 le 32 ip prefix-list bogons seq 30 permit 169.254.0.0/16 le 32 ip prefix-list bogons seq 35 permit 224.0.0.0/4 le 32 ip prefix-list bogons seq 40 permit 240.0.0.0/4 le 32 ! !   ,     ip prefix-list our-network seq 5 permit 88.88.10.0/23 ip prefix-list our-network seq 10 deny 0.0.0.0/0 ! ! !  - !    QWERTY: !   ""    route-map qwerty deny 100 match ip address prefix-list bogons !   , .      ,   !  ,         route-map qwerty permit 110 set local-preference 200 ! !  route-map comstar deny 100 match ip address prefix-list bogons ! route-map comstar permit 110 set local-preference 100 ! !    NON-EXIST-MAP route-map NONEXIST_MAP permit 10 match ip address prefix-list NONEXIST ! !        route-map ournets permit 100 description Permit our prefixes match ip address prefix-list our-network
      
      







同時に何が起こりますか?

       ,   - (        10.10.10.0/24).    ,          .         . 10.10.10.0/24,       88.88.10.0/23  .      bgp-   ,        10.10.10.0/24,   advertise-map ournets non-exist-map NONEXIST_MAP -         (    -    ,    .
      
      







それはすべてのようで、これで、最初のオプションで終わります。



ケース番号2:各プロバイダーには1つのサブネットが与えられます。 リンクの1つがクラッシュした場合、落ちたリンクからの/ 24サブネットのアナウンスがサバイバーに転送され、チャネルが復元されると、アナウンスは初期状態に戻ります-各チャネルに1つ


論理データはほぼ同じままです。





 ip forward-protocol nd !      ip route 88.88.10.0 255.255.255.0 Null0 ip route 88.88.11.0 255.255.255.0 Null0 ! router bgp 11111 no synchronization bgp router-id 10.192.0.10 no bgp enforce-first-as bgp log-neighbor-changes !     /24 network 88.88.10.0 mask 255.255.255.0 network 88.88.11.0 mask 255.255.255.0 !   neighbor 10.192.0.200 remote-as 8359 neighbor 10.192.0.200 description ComStar neighbor 10.192.0.200 next-hop-self neighbor 10.192.0.200 soft-reconfiguration inbound !       neighbor 10.192.0.200 weight 500 !    neighbor 10.192.0.200 route-map comstar in !    (allournets -     ) neighbor 10.192.0.200 route-map allournets out !   20.20.20.0/24,     -    !     88.88.11.0/24 neighbor 192.168.1.200 advertise-map ournets11 non-exist-map NONEXIST_MAP2 !   -    neighbor 192.168.1.200 remote-as 8615 neighbor 192.168.1.200 description QWERTY neighbor 192.168.1.200 next-hop-self neighbor 192.168.1.200 soft-reconfiguration inbound neighbor 192.168.1.200 weight 100 neighbor 192.168.1.200 route-map qwerty in neighbor 192.168.1.200 route-map allournets out !   10.10.10.0/24,     -    !     88.88.10.0/24 neighbor 192.168.1.200 advertise-map ournets10 non-exist-map NONEXIST_MAP no auto-summary ! ! .,   ,     ip prefix-list NONEXIST seq 5 permit 10.10.10.0/24 ! ! .   ip prefix-list NONEXIST2 seq 5 permit 20.20.20.0/24 ! ip prefix-list bogons description Bad-nets ip prefix-list bogons seq 10 permit 127.0.0.0/8 le 32 ip prefix-list bogons seq 20 permit 172.16.0.0/12 le 32 ip prefix-list bogons seq 25 permit 192.168.0.0/16 le 32 ip prefix-list bogons seq 30 permit 169.254.0.0/16 le 32 ip prefix-list bogons seq 35 permit 224.0.0.0/4 le 32 ip prefix-list bogons seq 40 permit 240.0.0.0/4 le 32 ! !          ip prefix-list allour-network seq 5 permit 88.88.10.0/24 ip prefix-list allour-network seq 10 permit 88.88.11.0/24 ip prefix-list allour-network seq 15 deny 0.0.0.0/0 ! !      ( NON-EXIST-MAP) !    ip prefix-list our-network10 seq 5 permit 88.88.10.0/24 ip prefix-list our-network10 seq 10 deny 0.0.0.0/0 ! !      ( NON-EXIST-MAP) !    ip prefix-list our-network11 seq 5 permit 88.88.11.0/24 ip prefix-list our-network11 seq 10 deny 0.0.0.0/0 ! ! !  - route-map qwerty deny 100 match ip address prefix-list bogons ! route-map qwerty permit 110 set local-preference 200 ! !    NON-EXIST      route-map NONEXIST_MAP permit 10 match ip address prefix-list NONEXIST ! route-map NONEXIST_MAP2 permit 10 match ip address prefix-list NONEXIST2 ! ! ,       .  1  2 route-map ournets10 permit 100 description Permit our prefixes match ip address prefix-list our-network10 ! route-map ournets11 permit 100 description Permit our prefixes match ip address prefix-list our-network11 ! !     route-map allournets permit 100 description Permit our prefixes match ip address prefix-list allour-network ! route-map comstar deny 100 match ip address prefix-list bogons ! route-map comstar permit 110 set local-preference 100
      
      







同時に何が起こりますか?

       ,   - ( -   .:   -  10.10.10.0/24,  - 20.20.20.0/24). 1.    ,  88.88.10.0/24    ,   88.88.11.0/24 -   . 2.    ,       10.10.10.0/24,   "neighbor 192.168.1.200 advertise-map ournets10 non-exist-map NONEXIST_MAP",     88.88.10.0/24   . 3.    ,      20.20.20.0/24,   "neighbor 10.192.0.200 advertise-map ournets11 non-exist-map NONEXIST_MAP2",     88.88.11.0/24   .       -      -      .
      
      





繰り返します-これらのオプションは両方とも、プリペンドを増やしてすべてのチャネルにすべてのネットワークをアナウンスすることで解決できますが、これらの同じプリペンド、またはそれらを無視するプロバイダーに切断することができます-そして、トラフィックが望まないチャネルで実行されることがわかります使用する。



これらの構成ファイルは両方とも動作しており、GNS3ベンチ仮想マシンで正常に動作しています。

1つのニュアンス-vrf-liteを使用しない場合、現在の構成では、トラフィックはデフォルトルートに沿って実行されます。

つまり、2番目のオプションの例では、ネットワーク88.88.10.0/24が最初のプロバイダー88.88.11.0/24に、2番目にアナウンスされます。 デフォルトは最初のプロバイダーから受け入れられます。 ネットワーク88.88.11.0/24への着信信号は2番目のチャネルを通過します(本来のとおり)が、応答(発信トラフィック)はデフォルトルートを通過し、最初のチャネルを通過します。これにより、トラフィックの同期が行われます。 これを回避するには、vrf-lite機能を設定します。 おそらく、私が熟すなら、次の記事で例を検討するでしょう。

ところで、誰かが2番目のオプションのvrfの例を手伝ってくれたらとても感謝しています。



All Articles