Sổ tay kỹ thuật

BGP – session không lên, không nhận route

troubleshooting#bgp#iosxr#junos#troubleshooting· cập nhật 2026-11-06

Khoanh vùng khi BGP neighbor kẹt Idle/Active, Established nhưng 0 prefix, route bị policy chặn hoặc session down vì max-prefix.

Sửa trang này
Mục lục

Triệu chứng chính: show bgp summary thấy neighbor ở Idle, Active, Connect hoặc nhảy OpenSent liên tục; hoặc session Established nhưng nhận/gửi 0 prefix; hoặc session tự down kèm log maximum prefix.

Lỗi thường gặp

Triệu chứng Nguyên nhân Cách xử lý
Idle, không thử kết nối Neighbor bị shutdown/deactivate, không có route tới địa chỉ peer, hoặc đang chờ sau max-prefix show route 198.51.100.2; XR bỏ shutdown; Junos show configuration protocols bgp xem có inactive:
Active / Connect kéo dài TCP/179 không thành: sai IP peer, ACL/filter lo0 chặn, thiếu update-source / local-address khi peer bằng loopback Ping từ chính source IP; XR update-source Loopback0; Junos local-address 192.0.2.1; kiểm tra filter lo0 / LPTS
eBGP qua loopback không lên TTL eBGP mặc định 1 XR ebgp-multihop 2; Junos multihop ttl 2
Nhảy OpenSent → Idle, log bad peer AS Sai remote-as / peer-as (NOTIFICATION 2/2) Đối chiếu ASN hai bên, chú ý local-as
NOTIFICATION 4/0 Hold timer expired Mất keepalive: link nghẽn, CPU cao, MTU path chặn update lớn Kiểm tra drop trên link, MSS/MTU; cân nhắc BFD thay vì giảm hold-time
Session lên rồi rớt ngay khi gửi update lớn MTU mismatch, TCP segment lớn bị drop Ping size lớn + do-not-fragment; xem BFD, LAG, MTU
Lỗi xác thực, không có log rõ MD5/TCP-AO sai hoặc chỉ cấu hình một bên XR password / Junos authentication-key khớp hai bên
XR: eBGP Established nhưng 0 prefix nhận/gửi IOS XR không nhận/gửi gì với eBGP khi thiếu route-policy in/out (RFC 8212) Gắn route-policy ... in và ... out dưới address-family của neighbor
Nhận route nhưng không thành best/không vào RIB Next-hop không resolve (iBGP thiếu next-hop-self), AS_PATH chứa AS của mình XR show bgp ... 203.0.113.0/24; Junos show route ... hidden extensive xem Next hop type: Unusable
Junos: route nằm trong hidden Import policy reject, next-hop không resolve, AS loop show route receive-protocol bgp 198.51.100.2 hidden detail; test policy ISP-A-IN 203.0.113.0/24
Không gửi prefix của mình ra ngoài Prefix không có trong RIB (BGP chỉ quảng bá route đang có), export policy không match XR kiểm network + show route; Junos cần static discard + term export match
Session down, log maximum prefix (NOTIFICATION 6/1) Peer gửi vượt maximum-prefix / prefix-limit Liên hệ peer; tăng limit; XR clear bgp ipv4 unicast 198.51.100.2; Junos clear bgp neighbor 198.51.100.2
Sửa policy nhưng route không đổi (XR) Chưa yêu cầu route-refresh clear bgp ipv4 unicast 198.51.100.2 soft in

Các bước khoanh vùng

flowchart TD A["show bgp summary"] --> B{"State?"} B -->|Idle/Active/Connect| C["Ping peer từ source IP, kiểm ACL/TTL/update-source"] B -->|OpenSent lặp| D["Xem NOTIFICATION: AS, auth, capability"] B -->|Established| E{"Có prefix?"} E -->|Không| F["Kiểm route-policy in/out, max-prefix"] E -->|Có nhưng không active| G["Kiểm next-hop, hidden routes, best path"]
  1. Xem state và lý do reset gần nhất: XR show bgp neighbor 198.51.100.2 (dòng Last reset), Junos show bgp neighbor 198.51.100.2 (dòng Last error, Last State).
  2. Session chưa lên: kiểm tra lớp IP/TCP trước (route, ping từ đúng source, filter), sau đó mới tới cấu hình BGP.
  3. Session lên nhưng thiếu route: so route nhận trước và sau policy, rồi đọc policy. Lệnh đầy đủ ở BGP CLI cheatsheet.

Cấu hình đúng

eBGP tới upstream có policy hai chiều và max-prefix.

! IOS XR
prefix-set OUR-PREFIXES
  203.0.113.0/24
end-set
!
route-policy ISP-A-IN
  if destination in (0.0.0.0/0 le 7, 0.0.0.0/0 ge 25) then
    drop
  endif
  pass
end-policy
!
route-policy ISP-A-OUT
  if destination in OUR-PREFIXES then
    pass
  else
    drop
  endif
end-policy
!
router bgp 64500
 bgp router-id 192.0.2.1
 address-family ipv4 unicast
  network 203.0.113.0/24
 !
 neighbor 198.51.100.2
  remote-as 64510
  description ISP-A
  address-family ipv4 unicast
   route-policy ISP-A-IN in
   route-policy ISP-A-OUT out
   maximum-prefix 1000 80 restart 15
  !
 !
!
router static
 address-family ipv4 unicast
  203.0.113.0/24 Null0
# Junos
set routing-options autonomous-system 64500
set routing-options router-id 192.0.2.1
set routing-options static route 203.0.113.0/24 discard
set policy-options prefix-list OUR-PREFIXES 203.0.113.0/24
set policy-options policy-statement ISP-A-IN term BOGON-LEN from route-filter 0.0.0.0/0 upto /7
set policy-options policy-statement ISP-A-IN term BOGON-LEN from route-filter 0.0.0.0/0 prefix-length-range /25-/32
set policy-options policy-statement ISP-A-IN term BOGON-LEN then reject
set policy-options policy-statement ISP-A-IN term ACCEPT then accept
set policy-options policy-statement ISP-A-OUT term OURS from prefix-list OUR-PREFIXES
set policy-options policy-statement ISP-A-OUT term OURS then accept
set policy-options policy-statement ISP-A-OUT term REST then reject
set protocols bgp group ISP-A type external
set protocols bgp group ISP-A peer-as 64510
set protocols bgp group ISP-A import ISP-A-IN
set protocols bgp group ISP-A export ISP-A-OUT
set protocols bgp group ISP-A neighbor 198.51.100.2 family inet unicast prefix-limit maximum 1000
set protocols bgp group ISP-A neighbor 198.51.100.2 family inet unicast prefix-limit teardown 80 idle-timeout 15

restart 15 (XR) và idle-timeout 15 (Junos) tính bằng phút: session tự thử lại sau 15 phút. Bỏ đi thì phải clear bằng tay. Chỉ muốn cảnh báo mà không cắt session: XR maximum-prefix 1000 80 warning-only, Junos bỏ teardown (chỉ log khi vượt maximum).

Kiểm tra nhanh

! IOS XR
show bgp ipv4 unicast summary
show bgp neighbor 198.51.100.2 | include "BGP state|Last reset|Maximum prefixes"
show bgp ipv4 unicast neighbor 198.51.100.2 routes
show bgp ipv4 unicast neighbor 198.51.100.2 advertised-routes
show bgp ipv4 unicast 203.0.113.0/24 bestpath-compare
show rpl route-policy ISP-A-IN
# Junos
show bgp summary
show bgp neighbor 198.51.100.2 | match "State|Last error|Prefix"
show route receive-protocol bgp 198.51.100.2
show route receive-protocol bgp 198.51.100.2 hidden detail
show route advertising-protocol bgp 198.51.100.2
test policy ISP-A-IN 203.0.113.0/24