Gia hạn hợp đồng thuê và sự cố VPN xuất hiện cùng nhau trong nhật ký đủ thường xuyên đến mức người ta kết luận cái này gây ra cái kia. Sự trùng khớp thời gian là thật; quan hệ nhân quả thường không. Gia hạn là một yêu cầu unicast gửi tới máy chủ đã cấp hợp đồng thuê, xin tiếp tục dùng cùng ràng buộc, và máy chủ có thể gia hạn mà máy khách không đổi một địa chỉ nào. Việc xem xét các giá trị của chính máy khách quanh sự kiện tách một hợp đồng thuê được gia hạn lặng lẽ khỏi một mạng đã thực sự thay đổi bên dưới một đường hầm đang chạy.

Bắt đầu từ máy khách đã rớt

Trước hết mở nhật ký kết nối của máy khách và ghi lại thời điểm rớt đến từng giây. Sau đó mở nhật ký mạng của hệ điều hành cho cùng phút và đọc theo thứ tự giao diện đã làm gì. Thứ tự này chính là toàn bộ cuộc điều tra: một sự kiện DHCP trước khi ngắt kết nối, một lần ngắt kết nối trước sự kiện DHCP và hai sự kiện không có gì ở giữa là ba phát hiện khác nhau. Dòng nhật ký chỉ nhắc đến hợp đồng thuê trong khi đường hầm đã kết nối lại là trang trí, không phải bằng chứng.

Ghi dòng thời gian ngay khi làm thay vì giữ trong đầu. Dấu thời gian từ các công cụ khác nhau hiếm khi khớp hoàn toàn, và chính độ lệch đôi khi là lời giải thích.

So sánh bốn giá trị quanh sự kiện

Bốn giá trị mô tả phía cục bộ của một kết nối đủ tốt để bắt được thay đổi thật: địa chỉ giao diện, cổng mặc định, danh sách bộ phân giải và trạng thái hoạt động của giao diện. Ghi lại chúng trong vòng một phút sau khi rớt và so với bản ghi được chụp khi đường hầm còn khỏe.

ip -4 -brief addr show dev wlan0
ip -4 route show default
resolvectl status | grep -A3 'DNS Servers'
journalctl -u NetworkManager --since -10m --no-pager | grep -i dhcp

Địa chỉ không đổi với cổng không đổi và danh sách bộ phân giải thay đổi chỉ về việc phân giải tên chứ không phải định tuyến, và đường hầm có thể đã sống sót trong khi ứng dụng ngừng tìm thấy máy chủ. Cổng thay đổi nghĩa là đường ra khỏi mạng cục bộ đã dịch chuyển, và thế là đủ để vô hiệu hóa một tuyến từng trỏ tới cổng trước. Nếu cả bốn giá trị khớp với bản ghi khỏe, hợp đồng thuê không phải nguyên nhân của bạn và logic kết nối lại của chính máy khách trở thành chủ đề. Ghi lại so sánh khi lỗi còn hiển thị, vì bản ghi khỏe chụp sau khi khởi động lại có lịch sử địa chỉ khác và sẽ không khớp.

Gia hạn có thể và không thể thay đổi điều gì

RFC 2131 mô tả gia hạn là yêu cầu gửi tới máy chủ gốc ở nửa thời hạn thuê, với việc ràng buộc lại vào bất kỳ máy chủ nào ở bảy phần tám nếu lần thử đầu không được trả lời. Không bước nào đòi hỏi máy khách phải có địa chỉ khác, và máy chủ hợp tác thường gia hạn ràng buộc hiện có. Thay đổi địa chỉ thật thường đến theo con đường khác: máy chủ từ chối gia hạn, máy khách mất trạng thái và bắt đầu lại, hoặc mạng đã chuyển thiết bị sang phân đoạn khác.

Phía công khai của kết nối có thể thay đổi mà không có bất kỳ thay đổi cục bộ nào. Sau bộ dịch cấp nhà mạng, địa chỉ mà đối tác VPN nhìn thấy có thể được gán lại độc lập với mọi việc hợp đồng thuê cục bộ đã làm, và việc gán lại đó trông giống hệt một sự cố mạng cục bộ từ bên trong máy khách. So sánh địa chỉ được báo cáo cục bộ với quan sát từ phía đối tác là cách duy nhất để tách chúng.

Khi máy khách không thích nghi được

Máy khách đã ràng buộc đường truyền với địa chỉ cũ, lưu bộ nhớ đệm một tuyến lỗi thời tới đối tác hoặc lưu danh tính giao diện có thể tiếp tục thử một đường không còn tồn tại. Đó là khiếm khuyết thích nghi, và nó hiện ra như những lần truyền lại lặp đi lặp lại tới một địa chỉ mà máy chủ không còn tới được. Một số máy khách xử lý điều này theo thiết kế: chẳng hạn WireGuard cập nhật điểm cuối của đối tác khi một gói đã xác thực đúng đến từ nguồn mới.

Khởi động lại thủ công mà khôi phục dịch vụ là manh mối về nơi việc thích nghi thất bại, không phải bằng chứng rằng hợp đồng thuê và đường hầm không tương thích. Giữ chính sách chặn trong khi thử nghiệm, nếu không chính thử nghiệm sẽ thành sự cố với nguyên nhân khác. Ghi lại máy khách có tự phục hồi không, mất bao lâu và đã thử lại địa chỉ nào; chuỗi đó cho bạn biết nhiều hơn lý do ngắt kết nối hiển thị trong giao diện.

Lặp lại sự kiện trước khi đổ lỗi

Tái tạo điều kiện thay vì chờ lịch trình: giải phóng và gia hạn hợp đồng thuê, hoặc ép sự kiện có kiểm soát tương đương, và xem đường hầm có sống sót không. Trên mạng được quản lý, hãy phối hợp mọi thay đổi địa chỉ với chủ mạng, vì một phép gán tĩnh tùy tiện có thể xung đột với thiết bị đã giữ địa chỉ đó.

Sau một bản sửa được hỗ trợ, lặp lại cùng sự kiện rồi kiểm tra một ứng dụng và một truy vấn tên, vì đường hầm kết nối lại nhưng làm hỏng DNS sẽ qua một bài kiểm tra yếu hơn bài kiểm tra quan trọng. Báo cáo thay đổi cụ thể bạn quan sát được, kèm dấu thời gian của nó, thay vì gọi hợp đồng thuê theo lịch là nguyên nhân. Khác biệt giữa hai báo cáo là người tiếp theo có thể tái tạo lỗi hay chỉ tái tạo tin đồn.

Bài viết liên quan