BGPピアが確立しない原因とデバッグ方法【ログと設定の見方】

  • URLをコピーしました!

BGP(Border Gateway Protocol)のピアが Idle / Active / Connect のまま確立(Established)しない問題は、ネットワーク現場で非常によく遭遇するトラブルです。

本記事では、BGPピアが確立しない典型原因の整理と、設定確認からログ・デバッグの見方まで、実務でそのまま使える手順とコマンド例をまとめます。

目次

■ BGPピアが確立しない主な原因一覧

  • ① ピアのIP到達性がない(ルーティング・ACL)
  • ② AS番号の設定ミス(remote-as / local-as 問題)
  • ③ update-source / 候補インターフェースの不一致
  • ④ ebgp-multihop 未設定(L3越え接続時)
  • ⑤ TCP 179番ポートがブロックされている
  • ⑥ タイマ不一致(hold-time / keepalive)
  • ⑦ 認証(MD5)の設定不一致

■ 初動:BGPの現在状態を確認

show ip bgp summary

● 出力例


Neighbor        V    AS MsgRcvd MsgSent  TblVer InQ OutQ Up/Down  State/PfxRcd
192.0.2.2       4 65002       0       0        0   0    0 00:00:12  Active

● 解釈

  • Active → 接続試行中。TCPが張れないことが多い(到達性 or TCP 179)
  • Idle → リソース不足 or 定義ミス or 明確にピアを開始できていない
  • Connect → TCP 3way 中、成功すれば Opensent へ進む

■ 手順① ピアIPの到達性を確認

BGPはTCP 179を使う前に、まずピアIPへ到達できる必要があります。

ping 192.0.2.2
traceroute 192.0.2.2

ACLも確認

show access-lists
show run | include access-group

● よくある落とし穴

  • 管理ネットワークが変わりルートが消えた
  • VRFが異なる
  • 静的ルートが抜けている

■ 手順② remote-as の設定一致を確認

show run | section router bgp

例:AS不一致の誤設定


router bgp 65001
 neighbor 192.0.2.2 remote-as 65003   ←誤り(相手はAS65002)

正しい設定例


router bgp 65001
 neighbor 192.0.2.2 remote-as 65002

■ 手順③ update-source / 接続インターフェースの不一致

ループバックで接続する場合は両端で update-source が必要です。

例:設定不足


router bgp 65001
 neighbor 192.0.2.2 remote-as 65002
 ! update-source がない

正しい例


router bgp 65001
 neighbor 192.0.2.2 remote-as 65002
 neighbor 192.0.2.2 update-source loopback0

■ 手順④ ebgp-multihop の不足

EBGPはデフォルトで 1ホップ しか許容しません。 L3越え or loopback 同士で接続する場合、次を追加します。


neighbor 192.0.2.2 ebgp-multihop 2

■ 手順⑤ TCP 179 の状態を確認(最重要)

TCPセッションの有無を確認

show tcp brief | include 179

出力例


TCB       Local Address      Foreign Address       (state)
12345678  192.0.2.1.179      192.0.2.2.35012       LISTEN

解釈

  • LISTEN のまま → 相手からTCP SYNが来ていない
  • SYN-SENT → SYN送るが応答こない(ACL / FW)

■ 手順⑥ MD5 認証の不一致


neighbor 192.0.2.2 password cisco

片側のみ設定している場合、絶対にEstablishedしません。

debug ip tcp transactions

ログ例:


%TCP-6-BADAUTH: Invalid MD5 digest from 192.0.2.2

■ 手順⑦ 実務でよく使う BGP デバッグコマンド

● BGP パケットのデバッグ

debug ip bgp

● BGP イベントの確認

debug ip bgp events

● BGP更新の確認

debug ip bgp updates

ログ例と読み方


%BGP-5-ADJCHANGE: neighbor 192.0.2.2 Down - Bad header connection not synchronized

Bad header → 通信はできているがBGPメッセージが壊れている → MTU / フラグメント / 途中のFWの影響を疑う

■ BGPピア確立までのチェックリスト(保存版)

  1. ping / traceroute でIP到達性確認
  2. TCP 179 が通るか確認(ACL / FW)
  3. remote-as 一致しているか
  4. update-source / インターフェース一致
  5. ebgp-multihop が必要か
  6. MD5 認証設定が両端一致しているか
  7. VRFの誤りがないか
  8. デバッグログでエラー内容を確認

■ まとめ

BGPピアが確立しない原因の多くは、

  • 到達性(ルート / ACL / VRF)
  • AS / インターフェース設定ミス
  • TCP 179 のブロック
  • MD5不一致

これらを本記事の手順で順番に確認することで、 ほとんどのBGP障害は短時間で切り分け可能 です。

現場でそのまま使えるよう、コマンド・出力例も含めて構成していますので、ぜひブックマークして対応に活用してください。

目次