Aplicația ta de imprimantă arată o listă goală, aplicația de cameră raportează că nu a găsit niciun dispozitiv, iar butonul de difuzare dintr-o aplicație video se învârte până când renunță. Pictograma VPN stă în bara de stare, telefonul are semnal complet și Safari încarcă paginile fără probleme, așa că nimic la conexiune nu pare stricat. Apoi deschizi setările aplicației și nu găsești nimic de comutat.

M-am lovit exact de acest zid cu o imprimantă de etichete într-o rețea de acasă: aplicației nu i se acordase niciodată acces la rețeaua locală, iar profilul pe care îl testam era un tunel complet care înghițea fiecare pachet adresat către 192.168.1.0/24. Două porți independente erau închise, iar deschiderea uneia nu ar fi eliminat simptomul.

Două porți între o aplicație și o imprimantă

Prima poartă este o decizie de confidențialitate care aparține sistemului de operare, nu aplicației. iOS decide dacă o aplicație poate trimite trafic către adrese din rețeaua locală și întreabă utilizatorul prima dată când aplicația încearcă. A doua poartă este tabelul de rutare. Un pachet către 192.168.1.50 fie pleacă prin Wi-Fi spre imprimantă, fie intră în tunel, iar această alegere este scrisă în profilul VPN.

Cele două porți eșuează în moduri diferite, iar asta face posibil diagnosticul. O permisiune refuzată face să eșueze apelul de socket al aplicației, așa că aplicația nu are ce raporta și revine la o stare goală generică. O problemă de rutare arată ca un timeout, pentru că pachetele au părăsit telefonul și au murit undeva de cealaltă parte. Același ecran gol, altă reparație.

Citește starea permisiunii înainte de a atinge VPN-ul

Deschide Setări, apoi Confidențialitate și securitate, apoi Rețea locală. Fiecare aplicație care a cerut acces apare acolo cu un comutator. Apple a mutat și a redenumit părți ale acestui ecran între iOS 14 și iOS 18, așa că dacă intrarea nu este unde te aștepți, scrie Rețea locală în câmpul de căutare din Setări în loc să răsfoiești arborele.

Partea care prinde lumea este solicitarea unică. iOS întreabă când o aplicație atinge rețeaua locală pentru prima dată, și numai atunci. Apasă Nu permite și solicitarea nu mai revine la următoarea lansare; comutatorul este singura cale de întoarcere și pornește oprit. Reinstalarea aplicației resetează decizia, motiv pentru care unele fire de depanare susțin că o reinstalare a reparat descoperirea. A reparat-o, ștergând refuzul.

Pe un iPhone supravegheat sau administrat comutatorul este uneori gri. Un payload de preferințe de confidențialitate trimis de MDM poate prestabili sau bloca accesul la rețeaua locală, iar un comutator blocat care este oprit înseamnă că reparația este o schimbare de politică și nu o schimbare a telefonului. Apple documentează solicitarea și comutatorul pe aplicație aici: support.apple.com/en-us/102229.

Verifică ce rutează de fapt tunelul

Un tunel complet ia 0.0.0.0/0 și, odată cu el, fiecare interval privat. Pachetele pentru 10.x, 172.16.0.0/12 și 192.168.x.x călătoresc către server, care de obicei le aruncă sau le traduce în propriul subnet, așa că imprimanta rămâne inaccesibilă chiar și după ce acorzi permisiunea. Un tunel divizat face opusul, dar numai pentru intervalele pe care le enumeră profilul.

Profilurile IKEv2 create cu Apple Configurator sau livrate ca .mobileconfig exprimă asta ca o setare de trimitere a întregului trafic plus, în modul divizat, o listă explicită de rețele locale de exclus. Aplicațiile client bazate pe NEPacketTunnelProvider exprimă aceeași decizie prin includedRoutes. Niciuna nu este vizibilă din bara de stare, iar ambele anulează ce se așteaptă aplicația să vadă.

Acesta este testul pe care îl folosesc. Cu VPN-ul conectat, deschide pagina de administrare a routerului prin adresa sa LAN în Safari. Dacă site-urile publice se încarcă în timp ce pagina respectivă ajunge la timeout, intervalul tău privat este în tunel. Dacă pagina se încarcă, traficul local încă iese prin Wi-Fi, iar blocajul este în altă parte.

Asociază simptomul porții

Două aplicații pe același telefon pot fi în dezacord, pentru că permisiunea se acordă pe aplicație, iar rutele se acordă pe profil. Compară ce eșuează înainte de a schimba ceva: modelul numește de obicei poarta de unul singur.

What you seeGateNext step
Device list stays empty, Local Network switch is offPermissionEnable the switch, force-quit the app, reopen it
Switch is on, router page times out, public sites loadRoutingExclude the local range in the profile, or move to a split tunnel
Both pass, direct IP works, discovery stays emptyLink-local multicastEnter the device address by hand, or check profile discovery support
Works by IP address, never by name such as printer.localName resolutionFix mDNS reachability or use the numeric address
Everything fails with the VPN off, on hotel Wi-FiClient isolationChange network, do not change permissions

Rândul mDNS merită o notă. Traficul de descoperire pentru Bonjour și pentru majoritatea protocoalelor de difuzare merge prin multicast către 224.0.0.251 și ff02::fb cu scop de legătură locală, iar un tunel rutat nu îl transportă. De aceea un dispozitiv poate răspunde la o conexiune directă fără să apară vreodată într-o listă.

Testează operația, nu pictograma

După ce comuți comutatorul Rețea locală, forțează închiderea aplicației din selectorul de aplicații și pornește-o din nou. Un proces care rulează poate păstra starea refuzată de dinainte de schimbare, iar o aplicație care tot returnează o listă goală arată la fel indiferent dacă permisiunea a funcționat sau nu. Apoi rulează o acțiune concretă, cum ar fi imprimarea unei pagini de test sau pornirea unui video, în loc să aștepți să se umple o listă de dispozitive.

Păstrează profilul VPN fix pe parcursul comparației. Dacă descoperirea începe să funcționeze doar după ce deconectezi, ai aflat că vina este a tunelului, nu a permisiunii. Schimbă o singură variabilă pe încercare, altfel runda următoare nu îți spune nimic.

Repară în această ordine

Secvența de mai jos este cea pe care o urmez acum, pentru că nu lasă niciodată un telefon într-o stare pe jumătate schimbată, în care testul următor este ilizibil.

  1. Confirmă că aplicația apare în Confidențialitate și securitate, Rețea locală, și că comutatorul ei este pornit.
  2. Forțează închiderea, redeschide aplicația și reîncearcă operația reală o dată.
  3. Deschide pagina routerului prin adresa LAN cât timp ești conectat, pentru a dovedi dacă intervalul privat este tunelat.
  4. Dacă este tunelat, editează profilul ca să excludă rețelele locale sau roagă persoana care deține profilul să o facă.
  5. Dacă comutatorul este gri, tratează dispozitivul ca administrat și trimite cererea administratorului.

De obicei se aplică doar una. Dacă niciuna nu schimbă rezultatul, suspecții rămași sunt rețeaua în sine, cum ar fi izolarea punctului de acces sau o listă de clienți permiși legată de adrese Wi-Fi, iar tabelul de corespondență de mai sus arată care.

Articole similare