IP công cộng thay đổi và VPN ngừng chuyển tiếp lưu lượng
Một thay đổi ở phía trên có thể làm mất hiệu lực đường đi bên ngoài trong khi mọi địa chỉ cục bộ vẫn giữ nguyên. Hãy kiểm tra hỗ trợ chuyển vùng và một yêu cầu mới đã được xác thực.
Việc nhà cung cấp kết nối lại hoặc một thay đổi trong quá trình dịch địa chỉ phía trên làm thay đổi nguồn công cộng của một phiên VPN, trong khi địa chỉ riêng cục bộ của máy khách thường vẫn y nguyên như cũ. Khi đó đường hầm trông như đã kết nối trong khi không có gì hữu ích đi qua. Cả hai quan sát đều đúng cùng lúc, và chính điều đó khiến báo cáo trở nên khó hiểu.
Hãy thực hiện bốn bước kiểm tra theo thứ tự và dừng ở bước đầu tiên thất bại.
Địa chỉ nào thực sự đã thay đổi
So sánh trạng thái của giao diện cục bộ với nguồn mà một điểm cuối từ xa nhìn thấy, tại một điểm mà bạn được phép xem. Một địa chỉ công cộng mới không có nghĩa là có cổng mới ở cục bộ, và việc giao diện cục bộ thay đổi cũng không bảo đảm nguồn công cộng đã dịch chuyển. Việc dịch địa chỉ ở giữa nghĩa là đây là hai sự thật độc lập. Hãy ghi lại đường đi chính xác và thời điểm bạn quan sát, vì nhãn vị trí địa lý sao chép từ một báo cáo cũ trả lời một câu hỏi khác.
Hỏi cụ thể xem nguồn bên ngoài đã đổi, địa chỉ bên trong của đường hầm đã đổi, hay cả hai. Chỉ điều đầu tiên giải thích được một đối tác vẫn tiếp tục gửi tới một đường đi không còn tồn tại.
Hãy để giao thức tự xử lý việc di chuyển
Các giao thức khác nhau ở cách chúng biết rằng một đối tác đã di chuyển, và sự khác biệt đó quan trọng với câu hỏi liệu bạn có nên can thiệp hay không. WireGuard cập nhật điểm cuối của một đối tác khi nhận được gói tin được xác thực bằng khóa của đối tác đó, nhờ vậy thay đổi địa chỉ có thể được hấp thụ mà không cần cấu hình gì. IKEv2 có MOBIKE cho cùng mục đích ở nơi cả hai đầu đều hỗ trợ. Các thiết kế cũ hơn phục hồi bằng cách dựng lại đường hầm.
Điều bạn không nên làm là chấp nhận một thông điệp chưa được xác thực như bằng chứng rằng danh tính của một đối tác đã di chuyển. Việc làm giả một gói dữ liệu tự nhận có địa chỉ mới là chuyện dễ, và máy khách tin rằng nó có thể bị dẫn tới điểm cuối của kẻ tấn công. Giao thức đã xác thực mới là cơ chế; thông báo thì không.
wg show wg0 endpoints
wg show wg0 latest-handshakes
conntrack -L -p udp --dport 51820 | head -n 10
Xóa liên kết bên ngoài đã cũ
Khi giao thức hỗ trợ chuyển vùng mà lưu lượng vẫn thất bại, trở ngại thường là thiết bị lưu trạng thái ở giữa đường hoặc một chính sách ở đầu xa. Tường lửa theo dõi luồng cũ có thể giữ mục cũ, và quy tắc truy cập phía máy chủ gắn với nguồn cũ sẽ âm thầm bỏ mục mới. Dọn bảng ánh xạ và kiểm tra lại quy tắc nhanh hơn là thay thông tin đăng nhập.
Hãy giữ nguyên các chặn cần thiết trong khi điều tra. Mở rộng chính sách để thử xem đường hầm có phục hồi hay không không dạy cho bạn điều gì về nguyên nhân và để lại việc triển khai tệ hơn lúc bạn phát hiện.
Thử lại bằng một yêu cầu mới
Một phiên ứng dụng được thiết lập trước thay đổi không thể sống sót, vì bộ bốn thành phần mà nó dựa trên không còn tồn tại. Sau khi phục hồi, hãy tạo một yêu cầu mới và xác nhận rằng nó hoàn tất, thay vì nhìn một lượt tải cũ đứng ở mức không rồi kết luận rằng đường hầm vẫn hỏng. Chính sự phân biệt duy nhất đó giải quyết phần lớn các báo cáo kiểu này.
Sau đó ghi lại cả hai nửa của chẩn đoán: điều gì đã thay đổi ở phía trên, và bước phục hồi được hỗ trợ nào đã khôi phục luồng. Lần sau sẽ nhanh hơn, và ghi chú chính là thứ khiến nó nhanh hơn.
Nếu một yêu cầu mới thành công và yêu cầu cũ không bao giờ tiếp tục, đường hầm đã được sửa và ứng dụng chỉ cần kết nối lại.