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ピア確立までのチェックリスト(保存版)
- ping / traceroute でIP到達性確認
- TCP 179 が通るか確認(ACL / FW)
- remote-as 一致しているか
- update-source / インターフェース一致
- ebgp-multihop が必要か
- MD5 認証設定が両端一致しているか
- VRFの誤りがないか
- デバッグログでエラー内容を確認
■ まとめ
BGPピアが確立しない原因の多くは、
- 到達性(ルート / ACL / VRF)
- AS / インターフェース設定ミス
- TCP 179 のブロック
- MD5不一致
これらを本記事の手順で順番に確認することで、 ほとんどのBGP障害は短時間で切り分け可能 です。
現場でそのまま使えるよう、コマンド・出力例も含めて構成していますので、ぜひブックマークして対応に活用してください。
あわせて読みたい


BGP(Border Gateway Protocol)の基礎と AS 番号の扱い、経路選択の仕組み
BGP(Border Gateway Protocol)は、インターネット上で異なるネットワーク(AS:Autonomous System)同士が経路情報を交換するためのプロトコルです。 世界中のインタ…
あわせて読みたい


OSPF+BGP併用設計のベストプラクティス【冗長化・負荷分散・経路制御】
企業ネットワークでは OSPF(内部ルーティング)と BGP(外部ルーティング)を併用するケースが一般的です。この記事では、OSPF と BGP を組み合わせた際の冗長化、負荷…
