Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Troubleshooting BGP Routes – Xử lý sự cố Route trong BGP

    Sau khi BGP adjacency được thiết lập thành công, các BGP router bắt đầu trao đổi thông tin định tuyến với nhau. Tuy nhiên, trạng thái neighbor đã Established không có nghĩa là mọi route đều xuất hiện trong BGP Table hoặc được cài đặt vào Routing Table.

    Khi troubleshooting BGP, cần phân biệt hai câu hỏi rất quan trọng:

    Route có vào BGP Table không?

    Route có được chọn để đưa vào Routing Table không? 1. Những nguyên nhân phổ biến khiến BGP route bị thiếu


    Sai hoặc thiếu lệnh network

    Muốn quảng bá một prefix bằng BGP, lệnh network phải khớp với route đang tồn tại trong Routing Table, bao gồm cả subnet mask.

    Ví dụ:
    router bgp 65001
    network 10.10.10.0 mask 255.255.255.0

    Router phải có route 10.10.10.0/24 trong Routing Table. Nếu chỉ tồn tại 10.10.10.0/25 thì BGP sẽ không originate 10.10.10.0/24 bằng lệnh trên.

    BGP Next-Hop không reachable

    Một BGP route có thể xuất hiện trong BGP Table nhưng không sử dụng được nếu router không tìm được đường đến địa chỉ Next Hop.

    Kiểm tra:
    show bgp ipv4 unicast
    show ip route <next-hop>

    Đây là lỗi rất thường gặp trong iBGP, đặc biệt khi route được học từ eBGP rồi quảng bá sang iBGP mà next-hop vẫn được giữ nguyên.

    Một giải pháp thường gặp là:
    neighbor 10.1.1.2 next-hop-self

    Quy tắc BGP Split Horizon của iBGP

    Một nguyên tắc cực kỳ quan trọng:
    Route học từ một iBGP peer sẽ không được quảng bá tiếp cho một iBGP peer khác.

    Ví dụ:
    R1 ----iBGP---- R2 ----iBGP---- R3

    Nếu R2 học route từ R1 qua iBGP, mặc định R2 không quảng bá route đó cho R3.

    Trong mạng lớn, vấn đề này thường được giải quyết bằng iBGP Full Mesh hoặc Route Reflector (RR).

    Có nguồn định tuyến tốt hơn

    Một prefix có thể tồn tại trong BGP Table nhưng không được cài vào Routing Table nếu router đã học chính prefix đó từ một nguồn có Administrative Distance tốt hơn.

    Ví dụ, cùng một prefix được học từ OSPF và iBGP:
    OSPF = AD 110
    iBGP = AD 200

    Trong trường hợp này, route OSPF thường được ưu tiên đưa vào Routing Table.

    Route Filtering

    Prefix có thể bị chặn bởi các chính sách như:
    prefix-list
    route-map
    filter-list
    distribute-list

    Do đó khi neighbor đã Established nhưng route vẫn mất, hãy kiểm tra cả policy theo hai chiều inboundoutbound. 2. Kiểm tra BGP Table


    Lệnh quan trọng:
    show bgp ipv4 unicast

    Tương đương với lệnh truyền thống:
    show ip bgp

    Một route có thể xuất hiện trong BGP Table vì một trong các nguyên nhân: được BGP neighbor quảng bá tới, được đưa vào bằng network, được redistribute từ giao thức khác, hoặc được tạo thành aggregate/summary. 3. Đọc Next Hop và Origin Code


    Nếu trong BGP Table:
    Next Hop = 0.0.0.0

    thì route được router cục bộ originate vào BGP.

    Nếu Next Hop là một địa chỉ khác, chẳng hạn:
    10.1.12.1

    thì route thường được học từ một BGP peer.

    Cuối cột Path, bạn cũng thường thấy Origin Code:
    i
    ?

    Trong đó:

    i – IGP Origin: prefix được originate vào BGP bằng network hoặc cơ chế aggregate/summary phù hợp.

    ? – Incomplete: BGP không biết rõ nguồn gốc ban đầu theo cơ chế origin của BGP; trường hợp điển hình là route được đưa vào BGP bằng redistribution.

    Lưu ý: chữ i ở Origin Code không có nghĩa route được học qua iBGP. Đây là hai khái niệm hoàn toàn khác nhau. 4. Quy trình troubleshooting nên nhớ


    Khi neighbor đã Established nhưng không thấy route, có thể kiểm tra theo chuỗi:

    Neighbor → BGP Table → Next Hop → Best Path → Routing Table → Filtering

    Ví dụ:
    show bgp ipv4 unicast summary
    show bgp ipv4 unicast
    show bgp ipv4 unicast 172.16.10.0/24
    show ip route 172.16.10.0
    show ip route <next-hop>
    show running-config | section router bgp

    Điểm quan trọng nhất khi troubleshooting BGP là: Established chỉ chứng minh hai router đã hình thành BGP session. Nó không chứng minh route đã được quảng bá, được chấp nhận, trở thành best path hay được cài vào Routing Table.

    Đó là lý do kỹ sư mạng nên troubleshooting BGP theo từng lớp: Peer → Prefix → Next-Hop → Policy → Best Path → RIB.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X