VPN kẹt ở Connecting trong chế độ máy bay: tìm đường lên
Một ứng dụng khách đứng ở Connecting trong chế độ máy bay có thể đơn giản là không có đường lên. Hãy tách trạng thái sóng, kết nối, đăng nhập cổng và chính sách chặn.
Điện thoại hiện biểu tượng máy bay, ứng dụng VPN đã ở Connecting được hai phút và hồ sơ là đúng. Một giờ trước nó vẫn chạy trong cùng tòa nhà. Không có gì hỏng: VPN là một kết nối được mạng khác chuyên chở, và chế độ máy bay vừa bỏ đi mạng đang chuyên chở nó. Ứng dụng cứ thử lại, vì đó là việc nó làm khi không có đường lên.
Điều gây bối rối là biểu tượng máy bay không cho biết Wi-Fi có sẵn hay không, và Connecting không cho biết ứng dụng đang xác thực hay chỉ chờ. Tách hai cách đọc đó ra và việc chẩn đoán mất một phút.
Biểu tượng máy bay không phải báo cáo sóng
Trên thiết bị Android được hỗ trợ, Wi-Fi và Bluetooth có thể vẫn bật trong chế độ máy bay, và thiết bị nhớ lựa chọn bạn đã làm lần trước. Hướng dẫn của Google về chế độ máy bay trên Pixel mô tả đúng hành vi đó. Vậy biểu tượng chỉ có thể nghĩa là mạng di động đã tắt, và không gì hơn.
Hãy kiểm tra trạng thái thật thay vì glyph. adb shell settings get global airplane_mode_on trả về 0 hoặc 1 cho chính chế độ, và adb shell dumpsys connectivity liệt kê các mạng thiết bị đang có, kèm trạng thái xác thực của chúng. Hai đầu ra đó cùng nhau trả lời câu hỏi mà biểu tượng không thể.
Nếu Wi-Fi tắt, hoặc bật nhưng không kết nối với gì, thì không có đường tới điểm cuối VPN và bao nhiêu lần kết nối lại cũng không tạo ra được. Đó là trường hợp nên loại trừ trước, vì đây là trường hợp duy nhất mà cách sửa đúng nằm ngoài ứng dụng VPN.
Connecting thực sự nghĩa là gì
Ứng dụng có thể giữ một hồ sơ đã lưu, hiển thị tên của nó và quay một chỉ báo mà chưa hề liên hệ với gì. Cấu hình là cục bộ. Dựng đường hầm cần một máy chủ tiếp cận được, một bắt tay đã hoàn tất và một giao diện để định tuyến. Chỉ phần cuối cần mạng hoạt động, nên hai phần đầu có thể trông thành công khi sóng đã tắt.
Vì vậy chỉ báo phù hợp với ít nhất ba tình huống khác nhau: không có đường lên, đường lên không tới được điểm cuối, và đường lên tới được nhưng xác thực thất bại. Trên màn hình chúng giống hệt nhau, trong nhật ký thì hoàn toàn khác. Vì thế thứ hữu ích đầu tiên trong mọi trường hợp này là nhật ký, không phải một lần thử nữa.
Tài liệu VPN của chính Android cũng vạch cùng ranh giới giữa việc thiết lập kết nối và các chính sách riêng là luôn bật và chặn. Chính sự tách biệt đó giải thích vì sao điện thoại có thể trông được bảo vệ khi ngoại tuyến mà vẫn không có đường hầm.
Bốn trạng thái đáng phân biệt
Bốn trạng thái dưới đây là những trạng thái đáng đặt tên, vì màn hình hiển thị chúng giống nhau.
| State | What you will see | What to do |
|---|---|---|
| Airplane mode, Wi-Fi off | No networks in dumpsys, VPN retries forever | Turn Wi-Fi on, or accept that the tunnel cannot exist |
| Wi-Fi on, not associated | Interface exists, no default network | Join the access point |
| Associated, not validated | Network listed, captive-portal flag set | Complete the portal sign-in, then reconnect |
| Validated, tunnel down | Internet works, VPN fails or blocks | Debug the tunnel, not the radio |
Hàng thứ ba bắt được phần lớn người ở khách sạn và sân bay. Kết nối không phải là được vào: một cổng chưa cho điện thoại đi qua sẽ vui vẻ nhận mật khẩu Wi-Fi rồi sau đó từ chối chuyển lưu lượng tới điểm cuối VPN. Đăng nhập qua trình duyệt trước, khi đường hầm đang tắt, thường là cách duy nhất để đi qua.
Vì sao chặn khiến mọi thứ trông tệ hơn
Nếu VPN luôn bật và chặn kết nối không có VPN cùng bật, mọi ứng dụng được bao phủ đều bị chặn mỗi khi đường hầm chưa lên. Đó là tính năng đang hoạt động, không phải lỗi thứ hai. Triệu chứng chuyển từ một ứng dụng hỏng sang mọi thứ hỏng, điều này đọc như một vấn đề lớn hơn nhiều.
Nó cũng giải thích trình tự mà người ta đọc sai: chế độ máy bay bật, không có đường lên, ứng dụng bị chặn, VPN báo connecting. Việc chặn là chính sách đang làm việc của nó. Tắt chính sách để thử đường lên sẽ bỏ đi lớp bảo vệ mà bạn có lẽ muốn và không dạy bạn điều gì.
Thay vào đó hãy kiểm tra phạm vi. Ứng dụng nào được bao phủ, ứng dụng nào bị loại trừ, và hồ sơ là theo người dùng hay toàn thiết bị. Một tác vụ khởi chạy ứng dụng VPN ngay khi Wi-Fi xuất hiện là một trình kích hoạt, không phải bảo đảm rằng không có gói nào ra ngoài trước khi nó chạy.
Một thứ tự chẩn đoán chấm dứt việc đoán
Hãy làm từ dưới lên. Xác nhận chế độ, xác nhận có mạng, rằng mạng đã được xác thực, rằng nó tới được một thứ gì ngoài mạng con cục bộ, và chỉ sau đó mới nhìn vào ứng dụng. adb shell ping -c 3 1.1.1.1 là một phép thử thô nhưng nó tách đường đi thiếu khỏi đường đi tồn tại trong khi đường hầm không vui.
Nếu ping thất bại khi có mạng trong danh sách, vấn đề nằm phía trên VPN và không cài đặt nào của ứng dụng sửa được. Nếu ping thành công mà đường hầm vẫn không dựng, hãy chụp nhật ký của ứng dụng đúng lúc đó: lỗi sẽ phân biệt quá hạn với từ chối xác thực, và hai thứ đó không có điểm chung.
Kết thúc bằng việc khôi phục trạng thái mong muốn: cho phép Wi-Fi trong chế độ máy bay nếu đó là thiết lập thường ngày của bạn, cổng đăng nhập đã xong, và chính sách chặn bật lại. Rồi kết nối lại một lần và xác nhận đường hầm tự lên, vì một cấu hình chỉ chạy sau khi thử tay sẽ lại hỏng ở lần khởi động sau.