Một máy chủ trở nên không thể truy cập trong khi giao diện đường hầm vẫn báo rằng nó đã được thiết lập, và hai quan sát này không mâu thuẫn. Một thứ gì đó đã gỡ bỏ đường đi mà lưu lượng đang dùng: một hàng xóm rút tiền tố của nó, một tuyến tĩnh được theo dõi bị gỡ bỏ, hoặc một tuyến khác trở nên được ưu tiên. Liên kết bảo mật có thể vẫn hoàn toàn khỏe mạnh trong cả ba trường hợp. Tách các sự kiện nghĩa là hỏi lớp nào thay đổi trước, không phải VPN có hỏng hay không.

Ba giai đoạn trông như một sự kiện

Một quyết định định tuyến có ba giai đoạn. Tiền tố được nhận, được chọn là tốt nhất và được cài vào bảng chuyển tiếp. Mỗi giai đoạn có thể hỏng riêng, và sự cố trông giống hệt từ phía ứng dụng. Một tiền tố đã học nhưng thua lựa chọn không thể phân biệt với tiền tố chưa bao giờ đến khi bằng chứng duy nhất bạn xem là bảng chuyển tiếp.

Vì vậy câu hỏi đầu tiên là giai đoạn nào bị hỏng, không phải giao thức nào có lỗi. Câu trả lời quyết định sự cố thuộc về ai và công cụ nào mà lần kiểm tra tiếp theo dùng.

Đọc tuyến đã cài trước

Hỏi nhân hệ điều hành xem lưu lượng đến đích bị lỗi thực sự đi đâu. ip route get in bước nhảy tiếp theo, giao diện và địa chỉ nguồn mà nhân sẽ dùng, và nó trả lời cho một đích chứ không phải cả bảng. Nếu câu trả lời nêu tên đường hầm, bảng chuyển tiếp vẫn tin rằng đường đi tồn tại và vấn đề nằm ở phía trên nó.

ip route get 10.20.5.10
ip route show 10.20.0.0/16

Câu trả lời «unreachable» nghĩa là không có tuyến nào được cài, điều này chỉ ra một lần rút hoặc một lần cài đặt còn thiếu. Câu trả lời nêu tên một giao diện vật lý nghĩa là lưu lượng đã rời đường hầm mà không ai quyết định vậy, và lần kiểm tra tiếp theo là mức ưu tiên đã thắng. Còn câu trả lời nêu tên đường hầm trong khi gói vẫn biến mất chỉ ra xa hơn trên đường đi, ở việc lọc hoặc ở phía bên kia.

Sau đó xem góc nhìn của chính giao thức

Một trình nền định tuyến giữ nhiều hơn một bảng, và phép so sánh thú vị là giữa chúng. Với BGP, trạng thái phiên hàng xóm, quảng cáo nhận được và tuyến đã cài là ba bằng chứng riêng biệt. Một tiền tố có thể nằm trong bảng nhận được và không bao giờ đến nhân vì một tuyến có khoảng cách quản trị ngắn hơn thắng. Kiểm tra cả ba trước khi kết luận rằng bên kia đã ngừng quảng cáo.

vtysh -c "show bgp summary"
vtysh -c "show bgp ipv4 unicast 10.20.0.0/16"

Bản tóm tắt cho biết phiên đã được thiết lập chưa, chế độ xem theo tiền tố cho biết tiền tố đã được chấp nhận chưa, và tra cứu trong nhân cho biết nó đã được cài chưa. Đọc chúng theo thứ tự đó tránh nhầm sự rung của phiên với một lần rút, và một lần rút với một lần từ chối theo chính sách.

Khi đồng hồ không đồng ý

Đặt nhật ký đường hầm, nhật ký định tuyến và sự cố ứng dụng đầu tiên trên một dòng thời gian bằng múi giờ thật của chúng. Nếu mất hàng xóm đến trước, đường hầm đã kéo tuyến xuống theo. Nếu lần rút đến trước, định tuyến đã thay đổi và đường hầm phản ứng sau đó. Đây là những sự cố khác nhau với chủ sở hữu khác nhau, và thứ tự chính là toàn bộ phát hiện.

Một phút lệch đồng hồ là đủ để đảo ngược kết luận đó, vì vậy hãy xác nhận múi giờ và độ lệch trước khi tin vào thứ tự. Các thiết bị ghi nhật ký theo giờ địa phương không có độ lệch là nguồn thường gặp của một dòng thời gian tự tin nhưng sai.

Khôi phục không vòng lặp

Sau một lần rút, hai đường có thể đủ điều kiện: đường mà giao thức chọn và đường bạn ghim bằng tay. Chỉ đường thứ nhất là quyết định mà mạng tiếp tục đưa ra cho bạn, vì vậy tuyến thủ công là biện pháp tạm thời chứ không phải kế hoạch khôi phục. Một quảng cáo thay thế cũng không giữ trạng thái tường lửa hay NAT cho một phiên đã thiết lập, nên các luồng mới có thể hoạt động trong khi luồng gốc vẫn hỏng. Xác nhận bản dự phòng nào nên trở thành hoạt động và liệu trang từ xa có chấp nhận đường quay về qua nó không.

Đừng cài một ghi đè tĩnh vĩnh viễn trước khi hiểu vì sao lần rút xảy ra. Lối tắt đó có thể ghim lưu lượng vào một đường đã hỏng hoặc âm thầm bỏ qua một chính sách định tuyến có chủ đích, và nó chôn nguyên nhân gốc dưới một cấu hình mới. Kiểm tra lại ứng dụng khi tuyến đã được khôi phục, và xác nhận tiền tố đã chọn có một đường dữ liệu hoạt động chứ không chỉ một mục trong bảng.

Bài viết liên quan