A app do iPhone non atopa dispositivos locais coa VPN activa
Dúas portas deciden se unha app do iPhone pode chegar a unha impresora ou a un televisor por unha VPN: o permiso de Rede local e as rutas do túnel. Compóbaas en orde.
A túa aplicación de impresión mostra unha lista baleira, a aplicación de cámara informa de que non se atopou ningún dispositivo e o botón de emisión dunha aplicación de vídeo xira ata renderse. A icona de VPN está na barra de estado, o teléfono ten sinal completo e Safari carga páxinas sen problema, así que nada da conexión parece roto. Despois abres os axustes da propia aplicación e non atopas nada que activar.
Toppei exactamente con este muro cunha impresora de etiquetas nunha rede doméstica: á aplicación nunca se lle concedera acceso á rede local, e o perfil que estaba probando era un túnel completo que tragaba cada paquete dirixido a 192.168.1.0/24. Dúas portas independentes estaban pechadas, e abrir unha non tería eliminado o síntoma.
Dúas portas entre unha aplicación e unha impresora
A primeira porta é unha decisión de privacidade que pertence ao sistema operativo e non á aplicación. iOS decide se unha aplicación pode enviar tráfico a enderezos da rede local, e pregúntalle ao usuario a primeira vez que a aplicación o intenta. A segunda porta é a táboa de rutas. Un paquete dirixido a 192.168.1.50 ou sae por Wi-Fi cara á impresora, ou entra no túnel, e esa escolla está escrita no perfil de VPN.
As dúas portas fallan de xeitos distintos, e iso é o que fai posible o diagnóstico. Un permiso denegado fai fallar a propia chamada de socket da aplicación, así que non ten nada que informar e cae nun estado baleiro xenérico. Un problema de encamiñamento parece un tempo de espera esgotado, porque os paquetes saíron do teléfono e morreron nalgún punto do outro lado. Mesma pantalla en branco, distinta reparación.
Le o estado do permiso antes de tocar a VPN
Abre Axustes, despois Privacidade e seguridade, despois Rede local. Cada aplicación que pediu acceso aparece alí cun interruptor. Apple moveu e renomeou partes desta pantalla entre iOS 14 e iOS 18, así que se a entrada non está onde a esperas, escribe Rede local no campo de busca dos Axustes en lugar de percorrer a árbore.
O que pilla á xente é o aviso único. iOS pregunta cando unha aplicación toca a rede local por primeira vez, e só entón. Preme Non permitir e o aviso non volve no seguinte arranque; o interruptor é a única volta atrás, e comeza desactivado. Reinstalar a aplicación reinicia a decisión, por iso algúns fíos de solución de problemas afirman que unha reinstalación arranxou o descubrimento. Fíxoo, borrando a denegación.
Nun iPhone supervisado ou xestionado o interruptor ás veces aparece en gris. Unha carga de preferencias de privacidade enviada por MDM pode predefinir ou bloquear o acceso á rede local, e un interruptor bloqueado que está desactivado significa que a reparación é un cambio de política e non un cambio de teléfono. Apple documenta o aviso e o interruptor por aplicación aquí: support.apple.com/en-us/102229.
Comproba que encamiña realmente o túnel
Un túnel completo toma 0.0.0.0/0 e, con el, todos os rangos privados. Os paquetes para 10.x, 172.16.0.0/12 e 192.168.x.x viaxan ao servidor, que normalmente os descarta ou os traduce á súa propia subrede, así que a impresora queda inalcanzable mesmo despois de conceder o permiso. Un túnel dividido fai o contrario, pero só para os rangos que enumera o perfil.
Os perfis IKEv2 creados con Apple Configurator ou distribuídos como .mobileconfig expresan isto como un axuste de enviar todo o tráfico máis, en modo dividido, unha lista explícita de redes locais que excluír. As aplicacións cliente baseadas en NEPacketTunnelProvider expresan a mesma decisión mediante includedRoutes. Ningún dos dous é visible desde a barra de estado, e ambos anulan o que a aplicación espera ver.
Esta é a proba que uso. Coa VPN conectada, abre a páxina de administración do router polo seu enderezo LAN en Safari. Se os sitios públicos cargan mentres esa páxina esgota o tempo, o teu rango privado está dentro do túnel. Se a páxina carga, o tráfico local segue saíndo por Wi-Fi e o bloqueo está noutro sitio.
Asigna o síntoma á porta
Dúas aplicacións no mesmo teléfono poden discrepar, porque o permiso concédese por aplicación mentres que as rutas se conceden por perfil. Compara que falla antes de cambiar nada: o patrón adoita nomear a porta por si só.
| 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 |
A fila de mDNS merece unha nota. O tráfico de descubrimento de Bonjour e da maioría dos protocolos de emisión vai por multicast a 224.0.0.251 e ff02::fb con alcance de enlace local, e un túnel encamiñado non o transporta. Por iso un dispositivo pode responder a unha conexión directa sen aparecer nunca nunha lista.
Proba a operación, non a icona
Despois de cambiar o interruptor de Rede local, forza o peche da aplicación desde o selector e volve abrila. Un proceso en execución pode conservar o estado denegado anterior ao cambio, e unha aplicación que segue devolvendo unha lista baleira vese igual tanto se o permiso funcionou como se non. Despois executa unha acción concreta, como imprimir unha páxina de proba ou iniciar un vídeo, en lugar de esperar a que se encha unha lista de dispositivos.
Mantén fixo o perfil de VPN durante a comparación. Se o descubrimento só comeza a funcionar despois de desconectar, aprendiches que o culpable é o túnel e non o permiso. Cambia unha soa variable por intento, senón a proba seguinte non che di nada.
Arranxa-o nesta orde
A secuencia de abaixo é a que sigo agora, porque nunca deixa un teléfono nun estado a medio cambiar onde a proba seguinte é ilexible.
- Confirma que a aplicación aparece en Privacidade e seguridade, Rede local, e que o seu interruptor está activado.
- Forza o peche, volve abrir a aplicación e reintenta a operación real unha vez.
- Abre a páxina do router polo seu enderezo LAN mentres estás conectado para demostrar se o rango privado vai polo túnel.
- Se vai polo túnel, edita o perfil para excluír as redes locais, ou pide a quen é dono do perfil que o faga.
- Se o interruptor está en gris, trata o dispositivo como xestionado e dirixe a solicitude ao administrador.
Normalmente só se aplica unha. Se ningunha cambia o resultado, os sospeitosos restantes son a propia rede, como o illamento de puntos de acceso ou unha lista de clientes permitidos ligada a enderezos Wi-Fi, e a táboa de correspondencia de arriba sinala cal.