„iPhone“ programėlė nemato vietinių įrenginių, kai VPN įjungtas
Du vartai nusprendžia, ar iPhone programėlė pasieks spausdintuvą ar televizorių per VPN: Vietinio tinklo leidimas ir paties tunelio maršrutai. Patikrinkite juos iš eilės.
Jūsų spausdintuvo programėlė rodo tuščią sąrašą, kameros programėlė praneša, kad įrenginio nerasta, o vaizdo programėlės transliavimo mygtukas sukasi, kol pasiduoda. VPN piktograma yra būsenos juostoje, telefonas turi pilną ryšį, o Safari įkelia puslapius be problemų, tad ryšyje niekas neatrodo sugedę. Tada atidarote pačios programėlės nustatymus ir nerandate nieko, ką būtų galima perjungti.
Aš atsitrenkiau būtent į šią sieną su etikečių spausdintuvu namų tinkle: programėlei niekada nebuvo suteiktas priėjimas prie vietinio tinklo, o profilis, kurį testavau, buvo pilnas tunelis, prarijęs kiekvieną paketą, adresuotą 192.168.1.0/24. Du nepriklausomi vartai buvo uždaryti, ir vienus atidarius simptomas nebūtų išnykęs.
Du vartai tarp vienos programėlės ir vieno spausdintuvo
Pirmieji vartai yra privatumo sprendimas, priklausantis operacinei sistemai, o ne programėlei. iOS nusprendžia, ar programėlė gali siųsti srautą į vietinio tinklo adresus, ir paklausia naudotojo pirmą kartą, kai programėlė bando. Antrieji vartai yra maršrutų lentelė. Paketas, adresuotas 192.168.1.50, arba išeina per Wi-Fi link spausdintuvo, arba patenka į tunelį, ir šis pasirinkimas įrašytas VPN profilyje.
Du vartai sugenda skirtingai, ir būtent tai leidžia diagnozuoti. Uždraustas leidimas užmuša patį programėlės socket iškvietimą, todėl programėlė neturi ką pranešti ir grįžta į bendrą tuščią būseną. Maršrutavimo problema atrodo kaip skirtasis laikas, nes paketai paliko telefoną ir mirė kažkur kitoje pusėje. Tas pats tuščias ekranas, kitas remontas.
Perskaitykite leidimo būseną prieš liesdami VPN
Atidarykite Nustatymai, tada Privatumas ir saugumas, tada Vietinis tinklas. Kiekviena programėlė, paprašiusi prieigos, rodoma ten su jungikliu. Apple perkėlė ir pervadino šio ekrano dalis nuo iOS 14 iki iOS 18, todėl jei įrašo nėra ten, kur tikritės, įrašykite Vietinis tinklas į nustatymų paieškos lauką, o ne naršykite medį.
Žmones labiausiai pagauna vienkartinis klausimas. iOS paklausia, kai programėlė pirmą kartą paliečia vietinį tinklą, ir tik tada. Bakstelėkite Neleisti ir klausimas nebegrįš kitą kartą paleidus; jungiklis yra vienintelis kelias atgal, ir iš pradžių jis išjungtas. Programėlės perdiegimas atstato sprendimą, todėl kai kurie trikčių šalinimo siūlai teigia, kad perdiegimas sutvarkė aptikimą. Taip ir padarė, ištrindamas draudimą.
Prižiūrimame ar valdomame iPhone jungiklis kartais būna pilkas. MDM siunčiama privatumo nuostatų našta gali iš anksto nustatyti arba užrakinti prieigą prie vietinio tinklo, o užrakintas išjungtas jungiklis reiškia, kad taisymas yra politikos pakeitimas, o ne telefono pakeitimas. Apple dokumentuoja klausimą ir jungiklį kiekvienai programėlei čia: support.apple.com/en-us/102229.
Patikrinkite, ką tunelis iš tikrųjų maršrutizuoja
Pilnas tunelis paima 0.0.0.0/0 ir kartu kiekvieną privatų diapazoną. Paketai į 10.x, 172.16.0.0/12 ir 192.168.x.x keliauja į serverį, kuris paprastai juos išmeta arba išverčia į savo potinklį, todėl spausdintuvas lieka nepasiekiamas net suteikus leidimą. Skeltas tunelis daro priešingai, bet tik tiems diapazonams, kuriuos profilis išvardija.
IKEv2 profiliai, sukurti su Apple Configurator arba pateikti kaip .mobileconfig, tai išreiškia nustatymu siųsti visą srautą plius skeltu režimu aiškiu vietinių tinklų, kuriuos reikia išskirti, sąrašu. Kliento programėlės, sukurtos ant NEPacketTunnelProvider, tą patį sprendimą išreiškia per includedRoutes. Nė vienas nėra matomas iš būsenos juostos, ir abu nepaiso to, ko programėlė tikisi matyti.
Štai testas, kurį naudoju. Su prijungtu VPN atidarykite Safari maršrutizatoriaus administravimo puslapį jo LAN adresu. Jei viešos svetainės įkeliamos, o tas puslapis baigia laukti, jūsų privatus diapazonas yra tunelio viduje. Jei puslapis įkeliamas, vietinis srautas vis dar išeina per Wi-Fi, o blokavimas yra kitur.
Susiekite simptomą su vartais
Dvi programėlės tame pačiame telefone gali nesutarti, nes leidimas suteikiamas programėlei, o maršrutai – profiliui. Palyginkite, kas nepavyksta, prieš ką nors keisdami: modelis paprastai pats įvardija vartus.
| 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 |
mDNS eilutė nusipelno pastabos. Aptikimo srautas Bonjour ir daugumai transliavimo protokolų eina multicast į 224.0.0.251 ir ff02::fb su vietinės jungties aprėptimi, o maršrutizuotas tunelis jo neperduoda. Todėl įrenginys gali atsakyti į tiesioginį ryšį taip ir neatsirasdamas sąraše.
Testuokite veiksmą, ne piktogramą
Perjungę Vietinio tinklo jungiklį, priverskite programėlę užsidaryti iš programėlių perjungiklio ir paleiskite ją iš naujo. Veikiantis procesas gali išlaikyti uždraustą būseną nuo pakeitimo, o programėlė, kuri vis grąžina tuščią sąrašą, atrodo vienodai nepriklausomai nuo to, ar leidimas suveikė. Tada atlikite vieną konkretų veiksmą, pavyzdžiui, atspausdinkite bandomąjį puslapį arba paleiskite vaizdo įrašą, o ne laukite, kol prisipildys įrenginių sąrašas.
Laikykite VPN profilį nepakeistą viso palyginimo metu. Jei aptikimas pradeda veikti tik po atsijungimo, sužinojote, kad kaltas tunelis, o ne leidimas. Keiskite vieną kintamąjį per bandymą, kitaip kitas paleidimas jums nieko nepasakys.
Taisykite šia tvarka
Toliau pateikta seka yra ta, kurios dabar laikausi, nes ji niekada nepalieka telefono pusiau pakeistoje būsenoje, kai kitas testas neįskaitomas.
- Patikrinkite, ar programėlė yra skiltyje Privatumas ir saugumas, Vietinis tinklas, ir ar jos jungiklis įjungtas.
- Priverskite programėlę užsidaryti, paleiskite ją iš naujo ir vieną kartą pakartokite tikrąjį veiksmą.
- Atidarykite maršrutizatoriaus puslapį LAN adresu, kol esate prisijungę, kad įrodytumėte, ar privatus diapazonas eina per tunelį.
- Jei eina, redaguokite profilį, kad išskirtumėte vietinius tinklus, arba paprašykite profilio savininko tai padaryti.
- Jei jungiklis pilkas, laikykite įrenginį valdomu ir perduokite prašymą administratoriui.
Paprastai galioja tik vienas. Jei nė vienas nekeičia rezultato, likę įtariamieji yra pats tinklas, pavyzdžiui, prieigos taško izoliacija arba su Wi-Fi adresais susietas leidžiamų klientų sąrašas, o viršuje esanti atitikties lentelė nurodo, kuris.