Một tunnel Cloud VPN chạy hai vòng đời cùng lúc, và chúng không nằm trên cùng một đồng hồ. Tài nguyên phải được cấp phát và cấu hình trước khi có thể thương lượng, và sau đó giao thức có trình tự thông điệp IKE riêng. Một trường trạng thái có thể báo cáo cái thứ nhất mà không nói gì hữu ích về cái thứ hai. Đọc cả hai như một thứ chính là cách một sai lệch khóa bị quy trách nhiệm cho độ trễ cấp phát.

Bắt đầu với một đối tượng tunnel và một khoảng thời gian.

Hai vòng đời, một đối tượng tunnel

Vòng đời tài nguyên là việc nhà cung cấp chuẩn bị tunnel: địa chỉ, cấu hình, dung lượng. Vòng đời giao thức bắt đầu khi cả hai phía có đủ cấu hình để trao đổi IKE_SA_INIT, rồi IKE_AUTH, rồi các liên kết bảo mật con. Một tunnel vẫn ở giai đoạn đầu chưa thất bại xác thực, vì xác thực chưa được thử.

Chính sự phân biệt đó là toàn bộ vấn đề. Phần còn lại là cách quan sát nó mà không gộp các thông điệp không liên quan.

Đọc đối tượng, không đọc bản tóm tắt trên console

Chỉ hỏi API hai trường quan trọng và không gì khác, để câu trả lời vẫn đủ nhỏ để đọc lúc ba giờ sáng: gcloud compute vpn-tunnels describe NAME --region REGION --format="yaml(status,detailedStatus)". Trường status nêu tên giai đoạn của vòng đời, và detailedStatus mang lý do đọc được gắn với nó. Một bản kết xuất cấu hình đầy đủ trả lời các câu hỏi khác và khó dán vào ticket hơn. Những lệnh gọi chỉ đọc như thế này không thể thay đổi tunnel, điều này quan trọng khi sự cố vẫn đang diễn ra.

Ghi lại dấu thời gian của lệnh gọi bên cạnh các giá trị, vì cả hai trường đều thay đổi.

ALLOCATING_RESOURCES không phải là sai lệch khóa

Khi tunnel báo ALLOCATING_RESOURCES, nhà cung cấp vẫn đang lắp ghép đối tượng. Sai lệch của khóa chia sẻ trước không thể quan sát ở giai đoạn đó, và cổng peer bị chặn cũng không được chứng minh tương tự. Điều bạn có thể kiểm tra là thông điệp chi tiết, liệu dự án và dịch vụ có vẻ khỏe mạnh, và liệu cấu hình tunnel có đủ đầy đủ để liên lạc với peer hay không. Thay bí mật ngay bây giờ là thay đổi một giá trị chưa từng được kiểm thử.

Chờ trạng thái thay đổi trước khi kết luận về cấu hình.

ESTABLISHED là khởi đầu của các kiểm tra truy cập

Một tunnel đã thiết lập nghĩa là IKE đã xong, không phải lưu lượng đang chảy. Xác nhận các tuyến mà tunnel mang và, nơi có Cloud Router tham gia, xác nhận phiên BGP và các tiền tố nó đã học. Sau đó thử một trao đổi ứng dụng được phép, vì một quy tắc tường lửa hoặc một tuyến bị thiếu có thể chặn lưu lượng qua một tunnel hoàn toàn khỏe mạnh. Mỗi điều đó là một quan sát riêng với một cách sửa riêng.

Trạng thái cho bạn biết nên hỏi câu nào tiếp theo. Nó không bao giờ trả lời câu hỏi truy cập thay bạn.

Tương quan một đối tượng và một khoảng thời gian

Một lỗi xác thực cũ trong nhật ký thuộc về một lần thử trước đó, trừ khi dấu thời gian của nó rơi vào khoảng bạn đang điều tra. Kéo nhật ký của tài nguyên tunnel cho đúng những phút đó như trạng thái bạn đã ghi, và giữ các định danh lại với nhau. Một sự kiện IKE muộn hơn có thể cho thấy thương lượng đã bắt đầu trong khi thông điệp trên console bạn đang nhìn đã lỗi thời.

Nếu tunnel phục hồi trước khi bạn thu thập được gì, hãy nói ra. Một nguyên nhân chưa xác định là bản ghi tốt hơn một câu chuyện tự tin được ghép từ những dòng không liên quan.

Bước tiếp theo luôn có cùng hình dạng: một đối tượng, một khoảng, một giai đoạn. Bất cứ điều gì rộng hơn là một bản tóm tắt, không phải chẩn đoán.

Bài viết liên quan