学習したeBGPルートがiBGPネイバーに配信されない


8

(GNS3で)12.4(23)を実行する3つのCisco 3640を直列に接続しています(R1-> R2-> R3)。R1とR2はeBGPピア、R2とR3はiBGPピアです。R1はネットワーク192.168.1.0/24をアドバタイズします。R2はこのルートを受信しますが、R3にアドバタイズしません。

eBGPから学習したルートをiBGPにアドバタイズしないでください。

入力したとおりの完全な構成は次のとおりです。

loop0(R1)s0/0 <--> s0/0(R2)s0/1 <--> s0/1(R3)

R1:
configure terminal
interface s0/0
ip address 172.16.1.1 255.255.255.252
no shutdown
interface loopback0
ip address  192.168.1.1 255.255.255.0
router bgp 1
neighbor 172.16.1.2 remote-as 2
network 192.168.1.0 mask 255.255.255.0

R2:
configure terminal
interface s0/0
ip address 172.16.1.2 255.255.255.252
no shutdown
interface s0/1
ip address 172.16.1.5 255.255.255.252
no shutdown
router bgp 2
neighbor 172.16.1.1 remote-as 1
neighbor 172.16.1.6 remote-as 2

R3:
configure terminal
interface s0/1
ip address 172.16.1.6  255.255.255.252
no shutdown
router bgp 2
neighbor 172.16.1.5 remote-as 2

回答:


14

IGPが構成されていない場合(EIGRP / OSPF / ISIS / RIPなど)、最も簡単な説明は、iBGPアップデートがR3に到着したときに、R3が192.168.1.0/24のネクストホップへのルートを取得していないことです。

loop0(R1)s0/0 <-----------> s0/0(R2)s0/1 <-------------> s0/1(R3)
    AS 1                       AS 2                        AS 2

              --------->                  ----------->
              Prefix: 192.168.1.0/24      Prefix: 192.168.1.0/24
              AS-path: 1                  AS-path: 1
              Next-hop: 172.16.1.1        Next-hop: 172.16.1.1
              *via eBGP*                  *via iBGP*

iBGPはR1から更新を受信して​​もネクストホップをリセットしないため、192.168.1.0 / 24のネクストホップ(172.16.1.1)に到達可能である必要があります(詳細については、ルーターがBGPパス無視する理由を参照してください)。

これをテストする最も基本的な方法は、R3でstaticを構成することです。

ip route 172.16.1.0 0.0.0.3 172.16.1.5 name BAD_HACK_FOR_IBGP

それは明らかに間違った解決策ですが、物事が壊れている理由を説明する非常に単純なテストです(192.168.1.0/24のルートがインストールされる前にBGPネクストホップスキャナーが実行されるまで少し待つ必要があるかもしれないことに注意してください) 。

考えられる解決策は2つありますが、ほとんどのネットワークで意味のある解決策は1つだけです...

  • 最適なソリューション:IGPを構成します...好きなIGPを選択し、そのIGPのAS 2全体で172.16.1.0/30をアドバタイズします
  • オプションのソリューション:R2とR3間のピアリングセッションを構成して設定するnext-hop-self

ネクストホップの到達可能性は、BGPを理解する上で最も基本的な問題の1つです。彼らがプロトコルを実験しているとき、ほとんど誰もがこの問題に遭遇します。


1
素晴らしい説明。iBGPがネクストホップを変更せずに通過することを知りませんでした。
user1038451 2014年

マイク、(eBGPピアのネクストホップアドレスをアドバタイズするIGPが既にあるため以外に)使用したくない場合の例を提供できますnext-hop-selfか?私は最初にこれについて別の質問をするつもりでしたが、あなたの答えに簡単に追加できると思いました。最近BGPを削除していて、私はこれに遭遇し続けているので、なぜ next-hop-selfデフォルトの動作ではなかったのと知りたくなります。
Eddie、

これに関する情報を追加できますが、時間を得るまでに数日かかる場合があります。短編:BGPネクストホップへのIGPコストは、デフォルトのeBGPパス選択アルゴリズムの一部
マイクペニントン

0

R2で接続されたインターフェースをアナウンスする必要があります。なぜなら、唯一のネットワーク192.168.1.0は、ネクストホップが何であるのかを今からではないからです。R3の「show ip bgp」で確認できます

R3 bgpテーブルに192.168.1.0が表示されていますが、ルーティングテーブルには挿入されていません。ネクストホップが何かわからないため

解決:

  1. R2で接続されているインターフェースを再配布する
  2. R1でネイバー172.16.1.2 next-hop-self」としてネクストホップであるEBGPネイバーと言います。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.