VPN đã kết nối nhưng một dịch vụ hỏng: khoanh vùng giai đoạn
Một handshake hoàn tất không nói gì về tên, tuyến đường, kích thước gói hay bộ lắng nghe. Đi qua bốn giai đoạn và để lần hỏng đầu tiên gọi tên lỗi.
«Đã kết nối» là dữ kiện ít thông tin nhất trong một phiếu VPN. Nó ghi rằng hai bên đã hoàn tất handshake và không nói gì về tên được truy vấn, giao diện mà gói tin đi ra, kích thước của nó hay việc đầu xa có chấp nhận nó không. Đó là lý do một dịch vụ có thể hỏng trong khi mọi ứng dụng khác trên cùng máy tính vẫn chạy. Đi qua các giai đoạn theo thứ tự và giai đoạn hỏng đầu tiên sẽ gọi tên lỗi.
Bắt đầu bằng tên, không phải đường hầm
Phân giải trước khi định tuyến, vì một câu trả lời tồi khiến mọi bài kiểm tra sau đó vô nghĩa. Hỏi tên qua bộ phân giải của hệ thống và so câu trả lời đó với địa chỉ mà ứng dụng thực sự dùng. Một tên riêng trả về địa chỉ công cộng nghĩa là truy vấn đã đi tới một bộ phân giải không có việc gì phải trả lời nó. Một tên không phân giải được cũng cùng loại, chỉ to hơn.
resolvectl query host.internal
getent hosts host.internal
Các trình duyệt có thiết lập DNS an toàn riêng hỏng ở đây trong khi phần còn lại của hệ thống chạy. Vì thế một phàn nàn chỉ liên quan tới trình duyệt thuộc về giai đoạn này trước tiên, trước khi ai đó chạm vào tuyến đường. So cả hai lệnh chứ không phải một, vì getent đi theo đường NSS còn truy vấn bộ phân giải thì không.
Hỏi nhân hệ điều hành xem nó chọn đường nào
Bảng định tuyến là một thứ tự ưu tiên, và đường mà nhân chọn không phải lúc nào cũng là đường trong sơ đồ. Hỏi thẳng nó về đích đang xét. Câu trả lời nêu giao diện, chặng kế tiếp và địa chỉ nguồn sẽ được dùng. Một gói có thể rời đường hầm mang địa chỉ nguồn mà đầu xa từ chối, và một mục cụ thể hơn trong bảng vật lý có thể đẩy nó ra qua giao diện Wi-Fi.
ip route get 10.20.30.40
ip -brief address show
Đọc các trường dev, via và src theo thứ tự đó, vì mỗi trường loại bỏ một nghi ngờ khác. Giai đoạn này cũng sở hữu trạng thái mà ứng dụng khách đã cài, vì các quy tắc tường lửa và tuyến đường có thể còn lại sau khi thoát bất thường. Vì thế «không internet nếu không có đường hầm» và «không internet trừ khi ứng dụng khách chạy» là một họ lỗi, không phải hai.
Kiểm tra kích thước gói
Một câu trả lời nhỏ quay về trong khi một lần truyền lớn bị kẹt trước hết chỉ vào MTU của tuyến. Một lần dò với bit do-not-fragment được bật, gửi từ bên trong đường hầm, tách giai đoạn này khỏi các giai đoạn khác. Tăng tải trọng cho tới khi lần dò hỏng và bạn có con số quan trọng.
ping -M do -s 1400 10.20.30.40
Các lần dò nhỏ đi qua trong khi danh sách thư mục hoặc một lần tải lên bị treo là dấu hiệu của giai đoạn này. Phàn nàn nghe như thông tin đăng nhập hoặc một quy tắc tường lửa, và không phải cả hai.
Con số là thuộc tính của tuyến chứ không phải của ứng dụng khách, nên một giá trị chạy được trên kết nối văn phòng có thể hỏng trên liên kết di động. Giữ lệnh dò cùng phiếu, vì người tiếp theo cần cùng phép đo. Nếu tải trọng nhỏ hơn đi qua, cách sửa là clamp hoặc MTU đường hầm thấp hơn, không phải mật mã mới.
Kiểm tra đầu xa
Kiểm tra đích bằng địa chỉ của nó, rồi xem cái gì đang lắng nghe ở đó. Một kết nối bị từ chối và một kết nối không bao giờ trả lời là hai phát hiện khác nhau. Cái đầu nói rằng có gì đó đang chạy và không phục vụ cổng đó, cái sau nói rằng không có gì quay về. Cả hai đều không phải vấn đề của ứng dụng khách theo mặc định.
curl -sv http://10.20.30.41:8080/health
nc -vz -w 3 10.20.30.41 3389
ss -lnt 'sport = :8080'
Không gì tiếp cận được qua đường hầm lại có thể là dịch vụ chỉ lắng nghe trên 127.0.0.1, vì bộ lắng nghe không bao giờ thấy gói tin. Khi tường lửa của máy chủ xa cho phép mạng con văn phòng và từ chối nhóm đường hầm, kết quả trông như lỗi của ứng dụng khách và không phải vậy. Remote Desktop hoặc chia sẻ tệp bị hỏng trong khi lưu lượng web sống sót thường dừng ở đây, dù người dùng diễn đạt thế nào.
Ánh xạ phàn nàn tới một giai đoạn
Hầu hết báo cáo rơi vào một trong năm dạng, và mỗi dạng gọi tên một giai đoạn. Một trang chỉ chạy qua đường hầm là câu trả lời tên hoặc một chính sách gắn với địa chỉ nguồn. Cập nhật hỏng khi không có đường hầm trong khi duyệt web vẫn chạy là vấn đề tên hoặc tuyến đối với ứng dụng khách đó.
Việc mọi thứ dừng khi ứng dụng khách của nhà cung cấp khởi động là trạng thái đã cài, tức là câu hỏi về tuyến và tường lửa. Một dịch vụ không tiếp cận được trong khi phần còn lại ổn là đầu xa. Các lần truyền kẹt sau vài giây là kích thước gói. Ghép dạng trước khi chạy lệnh, vì nó quyết định bằng chứng nào được thu thập trước.
Ghi lại giai đoạn tạo ra lần hỏng đầu tiên cùng với đầu ra của lệnh. Một phiếu nói rằng địa chỉ nguồn sai, kèm dòng tuyến, đáng để xử lý, còn phiếu báo VPN hỏng thì không.