Bài 51b: Thực hành xử lý sự cố OSPF — Tìm vì sao router không thành neighbor
Sơ đồ lab Bài 51b · ⬇️ Tải sơ đồ (SVG) · 🔍 Mở cỡ lớn
💡 Liên hệ thực tế
Cuối tuần, một bạn thực tập "dựng lại" mạng OSPF của công ty ABC — đúng mạng bạn làm ở Bài 49b. Sáng thứ Hai, hệ thống giám sát báo đỏ liên tục và hai chi nhánh không liên lạc được với nhau. Cấu hình nhìn qua thì "có đủ lệnh", nhưng OSPF không chạy.
Phần lớn sự cố OSPF rơi vào hai nhóm: không thành neighbor (sai area, sai timer, cổng passive…) và thành neighbor nhưng thiếu route (lệnh network sai, quên quảng bá). Bài này cho bạn gặp cả hai.
Quy tắc ghi nhớ: hai router chỉ thành neighbor OSPF khi cùng subnet, cùng area, cùng Hello/Dead timer, và cổng không ở chế độ passive.
🎯 Mục tiêu bài lab
- Kiểm tra lần lượt các điều kiện để hai router thành neighbor OSPF.
- Dùng đúng lệnh show để tìm bằng chứng:
show ip ospf neighbor,show ip ospf interface,show ip protocols. - Phân biệt lỗi "không thành neighbor" và lỗi "thiếu route".
- Sửa 5 lỗi và ghi chép theo mẫu ticket.
🧭 Quy trình xử lý sự cố OSPF
- Layer 1–3 trước: cổng up/up chưa, hai đầu ping được nhau chưa? Ping không được thì chưa cần nghĩ tới OSPF.
- Neighbor:
show ip ospf neighborcó đủ neighbor ở trạng thái FULL không? - Thiếu neighbor: so sánh hai đầu dây bằng
show ip ospf interface(area, timer) vàshow ip protocols(cổng passive). - Đủ neighbor mà thiếu route: xem router nguồn có quảng bá mạng đó không (
show ip protocols,show ip ospf interface brief). - Sửa một thứ, kiểm tra lại, ghi chép.
| Câu hỏi cần trả lời | Lệnh hay dùng |
|---|---|
| Router đang có những neighbor nào, trạng thái gì? | show ip ospf neighbor |
| Cổng nào đang chạy OSPF, thuộc area nào, cost bao nhiêu? | show ip ospf interface brief |
| Hello/Dead timer, kiểu mạng, DR/BDR của một cổng? | show ip ospf interface g0/x |
| Router ID, các lệnh network, cổng passive? | show ip protocols |
| Router học được route nào từ OSPF? | show ip route ospf |
| Cấu hình OSPF đang chạy? | show running-config | section router ospf |
⚙️ Chuẩn bị lab
⚙️ Bước 1 — Dựng sơ đồ
Dựng đúng sơ đồ và bảng đấu nối như Bài 49b: 4 router 2911 (R1, R2, R3, ISP) và 2 PC. Nếu đã có file 49b, hãy Save As sang file mới, rồi trên mỗi router chạy erase startup-config và reload để xoá cấu hình cũ.
Đặt IP cho PC1 (192.168.1.10/24, GW 192.168.1.1) và PC3 (192.168.3.10/24, GW 192.168.3.1).
⚙️ Bước 2 — Dán cấu hình khởi tạo (đã cài sẵn lỗi)
⚠️ Đừng soi cấu hình khi dán — hãy làm như thể bạn vừa nhận bàn giao một mạng lạ.
📋 Cấu hình khởi tạo R1
hostname R1
no ip domain-lookup
interface gigabitEthernet 0/0
ip address 192.168.1.1 255.255.255.0
no shutdown
interface gigabitEthernet 0/1
ip address 10.0.12.1 255.255.255.252
no shutdown
interface gigabitEthernet 0/2
ip address 10.0.13.1 255.255.255.252
no shutdown
router ospf 1
router-id 1.1.1.1
network 192.168.1.0 0.0.0.255 area 0
network 10.0.12.0 0.0.0.3 area 0
network 10.0.13.0 0.0.0.3 area 0
passive-interface gigabitEthernet 0/1
end
📋 Cấu hình khởi tạo R2
hostname R2
no ip domain-lookup
interface gigabitEthernet 0/0
ip address 10.0.12.2 255.255.255.252
no shutdown
interface gigabitEthernet 0/1
ip address 10.0.23.1 255.255.255.252
no shutdown
interface gigabitEthernet 0/2
ip address 203.0.113.1 255.255.255.252
no shutdown
ip route 0.0.0.0 0.0.0.0 203.0.113.2
router ospf 1
router-id 2.2.2.2
network 10.0.12.0 0.0.0.3 area 0
network 10.0.23.0 0.0.0.3 area 0
end
📋 Cấu hình khởi tạo R3
hostname R3
no ip domain-lookup
interface gigabitEthernet 0/0
ip address 192.168.3.1 255.255.255.0
no shutdown
interface gigabitEthernet 0/1
ip address 10.0.23.2 255.255.255.252
ip ospf hello-interval 5
no shutdown
interface gigabitEthernet 0/2
ip address 10.0.13.2 255.255.255.252
no shutdown
router ospf 1
router-id 3.3.3.3
network 192.168.30.0 0.0.0.255 area 0
network 10.0.23.0 0.0.0.3 area 0
network 10.0.13.0 0.0.0.3 area 1
passive-interface gigabitEthernet 0/0
end
📋 Cấu hình ISP (không có lỗi)
hostname ISP
interface gigabitEthernet 0/0
ip address 203.0.113.2 255.255.255.252
no shutdown
interface loopback 0
ip address 8.8.8.8 255.255.255.255
ip route 192.168.0.0 255.255.0.0 203.0.113.1
ip route 10.0.0.0 255.0.0.0 203.0.113.1
end
📨 Danh sách ticket
| Ticket | Người báo | Nội dung |
|---|---|---|
| #201 | Hệ thống giám sát (NOC) | "R2 không có neighbor OSPF với R1 (1.1.1.1). Hai router vẫn ping được nhau qua dây 10.0.12.0/30." |
| #202 | Hệ thống giám sát (NOC) | "Không có neighbor OSPF giữa R2 và R3." |
| #203 | Đội vận hành | "Dây dự phòng R1–R3 vẫn up, R1 ping được 10.0.13.2, nhưng hai router không bao giờ thành neighbor." |
| #204 | Anh Minh — chi nhánh 1 (PC1) | "Mạng đã báo xanh hết rồi, nhưng tôi vẫn không truy cập được máy PC3 (192.168.3.10) ở chi nhánh 3." |
| #205 | Cả hai chi nhánh | "Không vào được Internet (8.8.8.8). Đội vận hành thử trên R2 thì R2 tự ping 8.8.8.8 vẫn được." |
📎 Nên xử lý các ticket về neighbor (#201–#203) trước: khi chưa có neighbor thì chưa thể kết luận gì về route.
✍️ Mẫu ghi chép ticket
| Ticket | Triệu chứng đã xác nhận | Lệnh show đã dùng (bằng chứng) | Nguyên nhân | Lệnh sửa | Kiểm tra sau sửa |
|---|---|---|---|---|---|
| #201 | … | … | … | … | … |
| #202 | … | … | … | … | … |
| #203 | … | … | … | … | … |
| #204 | … | … | … | … | … |
| #205 | … | … | … | … | … |
🔍 Gợi ý khoanh vùng (mở từng cái khi cần)
💡 Gợi ý #201
Ping được nghĩa là Layer 1–3 ổn. Trên R1, lệnh nào liệt kê các cổng không gửi Hello? Đối chiếu với cổng nối R2.
💡 Gợi ý #202
Chạy show ip ospf interface g0/1 trên cả R2 và R3, so sánh dòng Timer intervals configured.
💡 Gợi ý #203
Chạy show ip ospf interface brief trên R1 và R3, so cột Area của cổng G0/2.
💡 Gợi ý #204
R1 có route tới 192.168.3.0/24 không? Nếu không, router nào phải quảng bá mạng đó, và nó đang khai báo mạng nào trong show ip protocols?
💡 Gợi ý #205
R1 có route O*E2 0.0.0.0/0 không? R2 có default route tĩnh rồi — vậy R2 còn thiếu lệnh nào để "kể" cho các router khác?
✅ Đáp án từng ticket
👉 Đáp án #201 — R1 đặt passive nhầm cổng
Bằng chứng: trên R1, show ip protocols có dòng Passive Interface(s): GigabitEthernet0/1 — đúng cổng nối R2. R1 không gửi Hello ra đó nên R2 không thấy R1. Cổng LAN G0/0 lại không passive.
R1(config)# router ospf 1
R1(config-router)# no passive-interface gigabitEthernet 0/1
R1(config-router)# passive-interface gigabitEthernet 0/0
Kiểm tra: console hiện %OSPF-5-ADJCHG … Nbr 2.2.2.2 … to FULL; show ip ospf neighbor trên R1 có 2.2.2.2.
👉 Đáp án #202 — Lệch Hello/Dead timer trên dây R2–R3
Bằng chứng: show ip ospf interface g0/1 trên R2 cho Hello 10, Dead 40; trên R3 cho Hello 5, Dead 20. Hai đầu phải giống nhau thì mới thành neighbor. Khi chỉ đổi Hello, router tự đặt Dead bằng 4 lần Hello.
R3(config)# interface gigabitEthernet 0/1
R3(config-if)# no ip ospf hello-interval
Kiểm tra: R3 về Hello 10, Dead 40; R2 thấy neighbor 3.3.3.3 FULL.
👉 Đáp án #203 — Hai đầu dây R1–R3 khác area
Bằng chứng: show ip ospf interface brief trên R1 cho G0/2 thuộc area 0, trên R3 cho G0/2 thuộc area 1. OSPF yêu cầu hai đầu link cùng area.
R3(config)# router ospf 1
R3(config-router)# no network 10.0.13.0 0.0.0.3 area 1
R3(config-router)# network 10.0.13.0 0.0.0.3 area 0
Kiểm tra: R1 và R3 thấy nhau ở trạng thái FULL; mọi cổng của R3 đều thuộc area 0.
👉 Đáp án #204 — R3 không quảng bá LAN3
Bằng chứng: show ip route ospf trên R1 không có 192.168.3.0/24. Trên R3, show ip protocols liệt kê 192.168.30.0 0.0.0.255 area 0 — gõ nhầm 3 thành 30, nên G0/0 (192.168.3.1) không chạy OSPF và không có trong show ip ospf interface brief.
R3(config)# router ospf 1
R3(config-router)# no network 192.168.30.0 0.0.0.255 area 0
R3(config-router)# network 192.168.3.0 0.0.0.255 area 0
Kiểm tra: R1 có O 192.168.3.0/24; PC1 ping 192.168.3.10 thành công.
👉 Đáp án #205 — R2 không bơm default route vào OSPF
Bằng chứng: R1, R3 không có O*E2 0.0.0.0/0. Trên R2, show ip route static có S* 0.0.0.0/0 nhưng show running-config | section router ospf không có default-information originate.
R2(config)# router ospf 1
R2(config-router)# default-information originate
Kiểm tra: R1, R3 có O*E2 0.0.0.0/0; PC1, PC3 ping 8.8.8.8 thành công.
🏆 Thử thách mở rộng
- Sau khi sửa xong, đặt
ip ospf dead-interval 60trên cổng G0/1 của R2 (không đổi Hello). Neighbor R2–R3 có còn không? Vì sao? - Trên R1, đổi router ID thành 3.3.3.3 (trùng R3) rồi chạy
clear ip ospf process. Quan sát console và bảng định tuyến. Đây là lỗi thuộc nhóm nào?
👉 Gợi ý đáp án
Thử thách 1: Neighbor sẽ mất sau khi hết Dead timer, vì Dead interval cũng phải khớp hai đầu (R2: 60, R3: 40). Sửa bằng no ip ospf dead-interval.
Thử thách 2: Router ID phải duy nhất trong cả vùng OSPF. Trùng router ID làm OSPF hoạt động sai (route chập chờn hoặc thiếu); IOS thường báo lỗi trùng router ID trên console. Đổi lại 1.1.1.1 và clear ip ospf process.
💬 Hỏi & Đáp nhanh
❓ Neighbor dừng ở trạng thái 2WAY có phải lỗi không?
✅ Không hẳn. Trên mạng có từ 3 router trở lên, hai router đều là DROTHER sẽ chỉ dừng ở 2WAY với nhau — bình thường. Chúng chỉ lên FULL với DR và BDR.
❓ Neighbor kẹt ở EXSTART/EXCHANGE thì sao?
✅ Hai router đã thấy nhau nhưng không trao đổi xong cơ sở dữ liệu — nguyên nhân kinh điển là lệch MTU giữa hai đầu dây.
❓ Vì sao cổng passive vẫn được quảng bá?
✅ passive-interface chỉ chặn gửi/nhận Hello trên cổng đó. Mạng của cổng vẫn được quảng bá nếu khớp lệnh network — vì vậy nó dùng cho cổng LAN.
📝 Bài tập đánh giá
Câu 1: Hai router nối trực tiếp ping được nhau nhưng không thành neighbor OSPF. Nguyên nhân nào không thể gây ra hiện tượng này?
- A. Hai đầu khác area
- B. Hai đầu khác Hello interval
- C. Hai router dùng process ID khác nhau (router ospf 1 và router ospf 10)
- D. Một đầu đặt passive-interface trên cổng nối
Câu 2: R1 có đủ neighbor FULL nhưng thiếu route tới LAN 192.168.3.0/24 của R3. Nên kiểm tra gì đầu tiên?
- A. Cáp giữa R1 và R3
- B. Lệnh
networktrên R3 có bao trùm 192.168.3.0/24 không - C. Hello timer của R1
- D. Default gateway của PC1
👉 Đáp án
- Câu 1: C — Process ID chỉ có ý nghĩa trong từng router, không cần trùng.
- Câu 2: B — Neighbor đã FULL thì đường liên lạc ổn; thiếu route thường do router đích không quảng bá mạng đó.
💡 Output trong bài là output mẫu trên Packet Tracer, trên máy bạn có thể khác một chút (ví dụ địa chỉ MAC).
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 51: OSPFv2 — Neighbor states, troubleshooting cơ bản | Mục lục khóa học CCNA | Bài 52: OSPFv3 cho IPv6 — điểm khác biệt so với OSPFv2 |