iBGPの特徴(ループバックでネイバーを貼る)(juniper)


前提

  • ルータA と ルータB が BGP を張る
  • それぞれ loopback0 のIPをBGPのneighborに使いたい
  • IGP(OSPF など) で loopback の到達性は確保していること

Loopback (lo0) にアドレスを設定

set interfaces lo0 unit 0 family inet address 10.1.1.1/32
set interfaces lo0 unit 0 family inet address 10.2.2.2/32

IGP(OSPF)でLoopbackの経路をアドバタイズ

BGPのネイバーIPがIGPで到達できないと絶対に張れません。

例:OSPF

set protocols ospf area 0 interface lo0.0 passive

BGPグループでneighborにLoopbackのIPを指定

Juniperでは Cisco でいう update-source loopback0
local-address オプションで指定します。

IBGP の場合(同一ASの場合)

set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.1.1.1
set protocols bgp group IBGP neighbor 10.2.2.2 peer-as 65000

※ IBGP はマルチホップ不要
(IGP でループバック同士の到達性があるため)

EBGP の場合(異なるASで Loopback を使う場合)

デフォルト EBGP は TTL=1 のため
Cisco の “ebgp-multihop” と同等の設定 が必要。

例:EBGPマルチホップ設定

set protocols bgp group EBGP type external
set protocols bgp group EBGP local-address 10.1.1.1
set protocols bgp group EBGP neighbor 10.2.2.2 peer-as 65001
set protocols bgp group EBGP multihop ttl 2

※ TTL は環境に応じて 2~255 を設定
※ IGP で相手の Loopback が見えていることが必須

BGPが上がらない場合の確認

● 1. IGPで到達できているか?

show route 10.2.2.2

● 2. local-address が正しいか?

show configuration protocols bgp | display set

● 3. マルチホップ不足(EBGPのみ)

set protocols bgp group EBGP multihop ttl 5

● 4. lo0フィルタで拒否していないか?

Junosは lo0 にフィルタを付けることが多いため
BGP(TCP 179) が block されている可能性あり。

設定例(IBGP:同一ASでLoopback同士でBGP)

▼ set形式

set interfaces lo0 unit 0 family inet address 10.1.1.1/32
set protocols ospf area 0.0.0.0 interface lo0.0 passive

set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.1.1.1
set protocols bgp group IBGP neighbor 10.2.2.2 peer-as 65000

※ ルータB側は .1.2 を逆にしただけの設定になります。

設定例(EBGP + Loopback:異なるASでLoopback同士でBGP)

▼ set形式

Ciscoでいう ebgp-multihop を含む

set interfaces lo0 unit 0 family inet address 10.1.1.1/32
set protocols ospf area 0.0.0.0 interface lo0.0 passive

set protocols bgp group EBGP type external
set protocols bgp group EBGP local-address 10.1.1.1
set protocols bgp group EBGP multihop ttl 5
set protocols bgp group EBGP neighbor 10.2.2.2 peer-as 65001

補足

● IBGPでは multihop は不要

IGP(OSPF)が Loopback を学習していれば OK。

● EBGPでは必ず multihop が必要

EBGPはデフォルト TTL=1 のため、Loopback 同士では TTLが足りません。