Ứng dụng iPhone không tìm thấy thiết bị cục bộ khi VPN bật
Hai cánh cổng quyết định liệu ứng dụng iPhone có tới được máy in hay TV qua VPN: quyền Mạng cục bộ và tuyến của chính tunnel. Hãy kiểm tra lần lượt.
Ứng dụng máy in của bạn hiện danh sách trống, ứng dụng camera báo không tìm thấy thiết bị nào, và nút truyền trong ứng dụng video cứ quay cho đến khi bỏ cuộc. Biểu tượng VPN nằm trên thanh trạng thái, điện thoại có sóng đầy và Safari tải trang bình thường, nên không có gì ở kết nối trông như hỏng. Rồi bạn mở phần cài đặt của chính ứng dụng và không thấy gì để bật.
Tôi đâm đúng vào bức tường này với một máy in nhãn trong mạng gia đình: ứng dụng chưa từng được cấp quyền truy cập mạng cục bộ, và cấu hình tôi đang thử là một tunnel toàn phần nuốt mọi gói tin gửi tới 192.168.1.0/24. Hai cánh cổng độc lập đều đóng, và mở một cánh sẽ không xóa được triệu chứng.
Hai cánh cổng giữa một ứng dụng và một máy in
Cánh cổng thứ nhất là một quyết định riêng tư thuộc về hệ điều hành chứ không phải ứng dụng. iOS quyết định liệu một ứng dụng có được gửi lưu lượng tới các địa chỉ trong mạng cục bộ hay không, và hỏi người dùng lần đầu ứng dụng thử. Cánh cổng thứ hai là bảng định tuyến. Một gói tin nhắm tới 192.168.1.50 hoặc đi ra qua Wi-Fi về phía máy in, hoặc đi vào tunnel, và lựa chọn đó được ghi trong cấu hình VPN.
Hai cánh cổng hỏng theo hình dạng khác nhau, và chính điều đó khiến việc chẩn đoán khả thi. Một quyền bị từ chối giết chính lời gọi socket của ứng dụng, nên ứng dụng không có gì để báo và rơi về một trạng thái trống chung chung. Một vấn đề định tuyến trông như hết thời gian chờ, vì các gói tin đã rời điện thoại và chết ở đâu đó phía bên kia. Cùng một màn hình trống, cách sửa khác nhau.
Đọc trạng thái quyền trước khi chạm vào VPN
Mở Cài đặt, rồi Quyền riêng tư và Bảo mật, rồi Mạng cục bộ. Mọi ứng dụng đã yêu cầu quyền truy cập đều xuất hiện ở đó với một công tắc. Apple đã di chuyển và đổi tên các phần của màn hình này giữa iOS 14 và iOS 18, nên nếu mục không ở nơi bạn mong đợi, hãy gõ Mạng cục bộ vào ô tìm kiếm của Cài đặt thay vì lục tung cây mục lục.
Điều khiến người ta mắc kẹt là lời nhắc một lần. iOS hỏi khi ứng dụng lần đầu chạm vào mạng cục bộ, và chỉ khi đó. Chạm Không cho phép thì lời nhắc không quay lại ở lần mở kế tiếp; công tắc là con đường duy nhất để quay lại, và nó khởi đầu ở trạng thái tắt. Cài lại ứng dụng sẽ đặt lại quyết định, nên một số luồng xử lý sự cố khẳng định rằng cài lại đã sửa được việc dò tìm. Đúng thế, bằng cách xóa lệnh từ chối.
Trên iPhone được giám sát hoặc quản lý, công tắc đôi khi bị xám. Một tải trọng tùy chọn quyền riêng tư do MDM đẩy xuống có thể đặt trước hoặc khóa quyền truy cập mạng cục bộ, và một công tắc bị khóa ở trạng thái tắt nghĩa là cách sửa là thay đổi chính sách chứ không phải thay đổi điện thoại. Apple ghi lại lời nhắc và công tắc theo từng ứng dụng ở đây: support.apple.com/en-us/102229.
Kiểm tra xem tunnel thực sự định tuyến gì
Tunnel toàn phần lấy 0.0.0.0/0 và kéo theo mọi dải riêng. Các gói tin cho 10.x, 172.16.0.0/12 và 192.168.x.x đi tới máy chủ, nơi thường bỏ chúng hoặc dịch chúng vào subnet của chính nó, nên máy in vẫn không tới được kể cả sau khi bạn cấp quyền. Tunnel chia tách làm ngược lại, nhưng chỉ cho những dải mà cấu hình liệt kê.
Cấu hình IKEv2 dựng bằng Apple Configurator hoặc phát hành dưới dạng .mobileconfig diễn đạt điều này bằng thiết lập gửi toàn bộ lưu lượng, cộng thêm, khi chia tách, một danh sách rõ ràng các mạng cục bộ cần loại trừ. Các ứng dụng khách dựng trên NEPacketTunnelProvider diễn đạt cùng quyết định đó qua includedRoutes. Không cái nào nhìn thấy được từ thanh trạng thái, và cả hai ghi đè thứ mà ứng dụng mong đợi thấy.
Đây là phép thử tôi dùng. Khi VPN đã kết nối, mở trang quản trị của router bằng địa chỉ LAN của nó trong Safari. Nếu các trang công cộng vẫn tải được trong khi trang đó hết thời gian chờ, dải riêng của bạn nằm trong tunnel. Nếu trang tải được, lưu lượng cục bộ vẫn ra qua Wi-Fi và chỗ chặn nằm ở nơi khác.
Ánh xạ triệu chứng với cánh cổng
Hai ứng dụng trên cùng một điện thoại có thể bất đồng, vì quyền được cấp theo ứng dụng còn tuyến được cấp theo cấu hình. Hãy so sánh cái gì hỏng trước khi thay đổi bất cứ điều gì: kiểu hỏng thường tự gọi tên cánh cổng.
| What you see | Gate | Next step |
|---|---|---|
| Device list stays empty, Local Network switch is off | Permission | Enable the switch, force-quit the app, reopen it |
| Switch is on, router page times out, public sites load | Routing | Exclude the local range in the profile, or move to a split tunnel |
| Both pass, direct IP works, discovery stays empty | Link-local multicast | Enter the device address by hand, or check profile discovery support |
| Works by IP address, never by name such as printer.local | Name resolution | Fix mDNS reachability or use the numeric address |
| Everything fails with the VPN off, on hotel Wi-Fi | Client isolation | Change network, do not change permissions |
Dòng mDNS đáng một ghi chú. Lưu lượng dò tìm cho Bonjour và hầu hết giao thức truyền phát đi multicast tới 224.0.0.251 và ff02::fb với phạm vi liên kết cục bộ, và một tunnel có định tuyến không mang nó. Đó là lý do một thiết bị có thể trả lời kết nối trực tiếp mà không bao giờ xuất hiện trong danh sách.
Kiểm tra thao tác, không phải biểu tượng
Sau khi bật công tắc Mạng cục bộ, buộc ứng dụng đóng hẳn từ trình chuyển ứng dụng rồi mở lại. Một tiến trình đang chạy có thể giữ trạng thái bị từ chối từ trước khi thay đổi, và một ứng dụng cứ trả về danh sách trống trông giống nhau dù quyền có hiệu lực hay không. Sau đó thực hiện một hành động cụ thể, như in một trang thử hoặc phát một video, thay vì chờ danh sách thiết bị đầy lên.
Giữ nguyên cấu hình VPN trong suốt quá trình so sánh. Nếu việc dò tìm chỉ bắt đầu hoạt động sau khi bạn ngắt kết nối, bạn đã biết rằng tunnel là thủ phạm chứ không phải quyền. Mỗi lần thử chỉ đổi một biến, nếu không lần chạy sau sẽ chẳng nói gì với bạn.
Sửa theo thứ tự này
Trình tự dưới đây là trình tự tôi theo bây giờ, vì nó không bao giờ để điện thoại ở trạng thái thay đổi nửa vời khiến phép thử tiếp theo không đọc được.
- Xác nhận ứng dụng có trong Quyền riêng tư và Bảo mật, Mạng cục bộ, và công tắc của nó đang bật.
- Buộc đóng rồi mở lại ứng dụng, sau đó thử lại thao tác thật một lần.
- Mở trang router bằng địa chỉ LAN khi đang kết nối để chứng minh dải riêng có đi vào tunnel hay không.
- Nếu có, sửa cấu hình để loại trừ các mạng cục bộ, hoặc nhờ người sở hữu cấu hình làm việc đó.
- Nếu công tắc bị xám, hãy coi thiết bị là được quản lý và chuyển yêu cầu tới quản trị viên.
Thường chỉ một trong số đó đúng. Nếu không cái nào thay đổi kết quả, nghi phạm còn lại là chính mạng lưới, như cách ly điểm truy cập hoặc danh sách máy khách được phép gắn với địa chỉ Wi-Fi, và bảng ánh xạ ở trên chỉ ra cái nào.