🌐 VI ▾
🔑 Đăng nhậpMở ứng dụng
Blog › Hướng dẫn

Kiểm tra cấu hình BGP, OSPF, VRF trên nhiều router

Kiểm tra cấu hình BGP, OSPF và VRF trên từng router thì dễ, nhưng lỗi thật thường nằm ở chỗ hai đầu liên kết không khớp nhau. Bài này liệt kê các lỗi hay gặp và cách soát chéo cả mạng chỉ từ file cấu hình, không cần đăng nhập thiết bị.

ThienNV ·

Kiểm tra cấu hình BGP, OSPF, VRF trên nhiều router

Phần lớn sự cố định tuyến sau tác động không đến từ một dòng lệnh sai cú pháp, mà từ việc hai router không khớp nhau: đầu này khai area 0, đầu kia khai area 10; đầu này chờ peer AS 64512, đầu kia lại đang chạy AS 64513. Từng file cấu hình nhìn riêng đều “đúng”. Vì vậy, muốn kiểm tra cấu hình BGP OSPF cho chắc, phải soát chéo: ghép các router lại thành một mạng rồi đối chiếu từng liên kết, từng phiên. Đây cũng là ý tưởng của các công cụ phân tích cấu hình như Batfish.

Trong bài, địa chỉ IP dùng dải tài liệu (192.0.2.0/24, 198.51.100.0/24), số AS dùng dải private, tên router là ký hiệu như R1, PE-A.

1. Vì sao nên soát từ file cấu hình thay vì vào từng thiết bị

Cách quen thuộc là đăng nhập từng router và chạy lệnh xem trạng thái phiên:

HãngXem phiên BGPXem láng giềng OSPF
Ciscoshow ip bgp summaryshow ip ospf neighbor
Huawei VRPdisplay bgp peerdisplay ospf peer
Nokia SR OSshow router bgp summaryshow router ospf neighbor
Juniper Junosshow bgp summaryshow ospf neighbor

Các lệnh này cho biết phiên đang lên hay xuống, nhưng có ba hạn chế:

Lấy file cấu hình của từng hãng thế nào đã có trong bài lệnh xuất cấu hình router, switch theo từng hãng. Nhớ tắt phân trang để file không bị cắt.

2. Nguyên tắc soát chéo: ghép interface thành liên kết

Bước nền của mọi phép soát chéo là dựng lại sơ đồ liên kết từ chính cấu hình: hai interface ở hai router có IP thuộc cùng một subnet (ví dụ 192.0.2.1/30 trên R1 và 192.0.2.2/30 trên R2) được coi là hai đầu của một liên kết. Khi đã có danh sách liên kết, việc kiểm tra trở thành so từng cặp thuộc tính: MTU, OSPF area, có bật OSPF hay không, IP neighbor BGP có trỏ đúng đầu kia không.

Cách ghép này cũng phát hiện luôn lỗi trùng IP: một địa chỉ xuất hiện trên hai thiết bị là dấu hiệu copy cấu hình mẫu mà quên sửa. Nếu cần soát riêng các dải IP thì dùng IP Toolbox để kiểm tra chồng lấn; nếu muốn có sơ đồ vật lý thật thì vẽ từ LLDP/CDP như bài vẽ sơ đồ mạng tự động từ LLDP, CDP.

3. Lỗi OSPF hay gặp: lệch area, lệch MTU, bật một đầu

Ví dụ hai đầu một liên kết trên Cisco IOS:

! R1
interface GigabitEthernet0/0/1
 ip address 192.0.2.1 255.255.255.252
 mtu 9000
router ospf 1
 network 192.0.2.0 0.0.0.3 area 0

! R2
interface GigabitEthernet0/0/1
 ip address 192.0.2.2 255.255.255.252
router ospf 1
 network 192.0.2.0 0.0.0.3 area 10

Đoạn này có hai lỗi cùng lúc:

Lỗi thứ ba hay gặp là chỉ bật OSPF ở một đầu: R1 có lệnh network phủ liên kết nhưng R2 thì không (hoặc cổng bị đặt passive). Lệnh network trên Cisco dùng wildcard mask; nếu chưa chắc cách tính thì xem lại bài wildcard mask là gì, vì gõ sai wildcard là cách phổ biến khiến một cổng lọt ra ngoài OSPF mà không ai để ý.

4. Lỗi BGP hay gặp: sai remote-as, peering một chiều

! R1 (AS 64512)
router bgp 64512
 neighbor 198.51.100.2 remote-as 64514

! R2 (AS 64513), interface có IP 198.51.100.2
router bgp 64513
 neighbor 198.51.100.1 remote-as 64512

Soát chéo cho thấy ngay các vấn đề mà xem riêng từng file không thấy:

LỗiDấu hiệu trong cấu hìnhHậu quả
Sai remote-asR1 khai remote-as 64514 nhưng router giữ IP 198.51.100.2 có local AS 64513Phiên không lên, thiết bị báo peer sai AS
Peering một chiềuR1 có neighbor trỏ tới R2 nhưng R2 không có neighbor trỏ lại R1Phiên không lên (trừ khi đầu kia cố ý dùng cấu hình nhận peer động)
Neighbor không tồn tạiIP neighbor không có trên bất kỳ thiết bị nào trong bộ cấu hìnhGõ sai IP, hoặc thiếu file cấu hình của đầu kia

Dòng cuối cần đọc có chọn lọc: neighbor là router của nhà mạng khác hay của khách hàng thì đương nhiên không có trong bộ file của mình. Khi đó chỉ cần đánh dấu là “ngoài phạm vi”, không phải lỗi.

5. Lỗi VRF: trùng RD, route-target xuất mà không ai nhập

! PE-A
vrf definition KH-XANH
 rd 64512:100
 address-family ipv4
  route-target export 64512:100
  route-target import 64512:100

! PE-B
vrf definition KH-DO
 rd 64512:100
 address-family ipv4
  route-target export 64512:200
  route-target import 64512:201

Lưu ý: cùng một VRF dùng chung RD trên nhiều PE là cách làm có chủ ý ở một số mạng; công cụ soát nên báo để người đọc xác nhận, không nên tự kết luận là lỗi.

6. So sánh các cách soát: Batfish, vào thiết bị và công cụ trên trình duyệt

CáchƯu điểmHạn chế
Đăng nhập từng thiết bịThấy trạng thái thật đang chạyChỉ thấy sau khi áp dụng; chậm với nhiều node; cần quyền truy cập
Batfish (mã nguồn mở)Mô hình hóa sâu, truy vấn được đường đi gói tinCần cài đặt (Docker, Python), cần thời gian làm quen
Soát Định Tuyến trên trình duyệtNạp file là xem; đọc được Cisco, Huawei, Nokia SR OS, Juniper; xuất ExcelTập trung vào các lỗi khớp cấu hình phổ biến, không mô phỏng đường đi gói tin

Với nhu cầu hằng ngày như duyệt CR hay rà lại sau ca tác động, cách nhanh nhất thường là soát tĩnh trên file. Quy trình gợi ý:

Công cụ Soát Định Tuyến Nhiều Router (BGP / OSPF / VRF) làm đúng các bước trên ngay trên trình duyệt: ghép interface theo subnet thành liên kết, báo lệch MTU, trùng IP, lệch area hoặc OSPF chỉ bật một đầu, sai remote-as, peering một chiều, neighbor không có trên thiết bị nào, trùng RD và route-target không ai nhập, kèm bảng tổng hợp theo thiết bị xuất Excel. Kết hợp với So sánh cấu hình mạng và Vẽ sơ đồ mạng từ LLDP / CDP là đủ bộ rà soát cho một ca tác động.

Câu hỏi thường gặp

Có kiểm tra cấu hình BGP, OSPF được khi không có quyền vào router không?

Được, nếu có file cấu hình của từng router. Công cụ soát tĩnh ghép interface theo subnet thành liên kết rồi đối chiếu area, MTU, remote-as, RD, route-target giữa các thiết bị mà không cần đăng nhập.

Vì sao láng giềng OSPF kẹt ở EXSTART hoặc EXCHANGE?

Nguyên nhân hay gặp nhất là hai đầu khai MTU khác nhau trên liên kết. Kiểm tra lệnh mtu ở cả hai interface và đặt cho bằng nhau.

Trùng route-distinguisher có phải luôn là lỗi?

Không hẳn. Hai VRF khác nhau dùng chung RD là lỗi nên sửa. Cùng một VRF dùng chung RD trên nhiều PE là lựa chọn thiết kế ở một số mạng, cần người vận hành xác nhận.

Soát cấu hình trên trình duyệt có thay được Batfish không?

Với các lỗi khớp cấu hình phổ biến (area, MTU, remote-as, RD, route-target) thì đủ dùng và nhanh hơn vì không cần cài đặt. Nếu cần mô phỏng đường đi gói tin hay chính sách phức tạp, Batfish vẫn mạnh hơn.

Công cụ liên quan