Aplikasi iPhone tidak menemui peranti setempat apabila VPN dihidupkan
Dua pintu menentukan sama ada aplikasi iPhone boleh mencapai pencetak atau TV melalui VPN: kebenaran Rangkaian Setempat dan laluan terowong itu sendiri. Semak kedua-duanya mengikut urutan.
Aplikasi pencetak anda menunjukkan senarai kosong, aplikasi kamera melaporkan tiada peranti ditemui, dan butang cast dalam aplikasi video berputar sehingga menyerah. Ikon VPN ada di bar status, telefon mempunyai isyarat penuh dan Safari memuatkan halaman dengan lancar, jadi tiada apa tentang sambungan yang kelihatan rosak. Kemudian anda membuka tetapan aplikasi itu sendiri dan tidak menemui apa-apa untuk ditukar.
Saya merempuh tepat dinding ini dengan pencetak label pada rangkaian rumah: aplikasi itu tidak pernah diberi akses kepada rangkaian setempat, dan profil yang saya uji ialah terowong penuh yang menelan setiap paket yang dialamatkan ke 192.168.1.0/24. Dua pintu bebas tertutup, dan membuka satu pun tidak akan menghilangkan gejalanya.
Dua pintu antara satu aplikasi dan satu pencetak
Pintu pertama ialah keputusan privasi yang dimiliki sistem pengendalian, bukan aplikasi. iOS menentukan sama ada aplikasi boleh menghantar trafik ke alamat pada rangkaian setempat, dan bertanya kepada pengguna kali pertama aplikasi mencuba. Pintu kedua ialah jadual laluan. Paket yang ditujukan ke 192.168.1.50 sama ada keluar melalui Wi-Fi menuju pencetak, atau masuk ke dalam terowong, dan pilihan itu tertulis dalam profil VPN.
Kedua-dua pintu gagal dalam bentuk berbeza, dan itulah yang membolehkan diagnosis. Kebenaran yang ditolak mematikan panggilan soket aplikasi itu sendiri, jadi aplikasi tiada apa untuk dilaporkan dan jatuh kembali ke keadaan kosong generik. Masalah laluan kelihatan seperti tamat masa, kerana paket telah meninggalkan telefon dan mati di suatu tempat di sebelah sana. Skrin kosong yang sama, pembaikan berbeza.
Baca keadaan kebenaran sebelum menyentuh VPN
Buka Tetapan, kemudian Privasi & Keselamatan, kemudian Rangkaian Setempat. Setiap aplikasi yang meminta akses muncul di sana dengan suis. Apple telah memindahkan dan menamakan semula bahagian skrin ini antara iOS 14 dan iOS 18, jadi jika entri tidak berada di tempat yang anda jangkakan, taip Rangkaian Setempat dalam medan carian Tetapan dan bukannya menyelongkar pokok.
Yang paling menangkap orang ialah gesaan sekali sahaja. iOS bertanya apabila aplikasi pertama kali menyentuh rangkaian setempat, dan hanya ketika itu. Ketik Jangan Benarkan dan gesaan itu tidak kembali pada pelancaran seterusnya; suis ialah satu-satunya jalan balik, dan ia bermula dalam keadaan mati. Memasang semula aplikasi menetapkan semula keputusan itu, sebab itu sesetengah benang penyelesaian masalah mendakwa pemasangan semula membaiki penemuan. Ia memang membaiki, dengan memadamkan penolakan.
Pada iPhone yang diselia atau diurus, suis kadang-kadang kelabu. Muatan keutamaan privasi yang dihantar oleh MDM boleh menetapkan lebih awal atau mengunci akses kepada rangkaian setempat, dan suis berkunci yang mati bermaksud pembaikannya ialah perubahan dasar, bukan perubahan telefon. Apple mendokumenkan gesaan dan suis setiap aplikasi di sini: support.apple.com/en-us/102229.
Semak apa yang sebenarnya dilalukan terowong
Terowong penuh mengambil 0.0.0.0/0 dan bersamanya setiap julat peribadi. Paket untuk 10.x, 172.16.0.0/12 dan 192.168.x.x bergerak ke pelayan, yang biasanya membuangnya atau menterjemahkannya ke subnetnya sendiri, jadi pencetak kekal tidak dapat dicapai walaupun selepas anda memberi kebenaran. Terowong berpecah melakukan sebaliknya, tetapi hanya untuk julat yang disenaraikan oleh profil.
Profil IKEv2 yang dibina dengan Apple Configurator atau dihantar sebagai .mobileconfig menyatakan ini sebagai tetapan hantar semua trafik serta, dalam mod berpecah, senarai jelas rangkaian setempat yang perlu dikecualikan. Aplikasi klien yang dibina atas NEPacketTunnelProvider menyatakan keputusan yang sama melalui includedRoutes. Kedua-duanya tidak kelihatan dari bar status, dan kedua-duanya mengatasi apa yang aplikasi jangkakan untuk dilihat.
Ini ujian yang saya gunakan. Dengan VPN disambungkan, buka halaman pentadbir penghala melalui alamat LAN-nya dalam Safari. Jika tapak awam dimuatkan sementara halaman itu tamat masa, julat peribadi anda berada di dalam terowong. Jika halaman dimuatkan, trafik setempat masih keluar melalui Wi-Fi dan sekatan berada di tempat lain.
Petakan gejala kepada pintu
Dua aplikasi pada telefon yang sama boleh tidak bersetuju, kerana kebenaran diberikan setiap aplikasi manakala laluan diberikan setiap profil. Bandingkan apa yang gagal sebelum mengubah apa-apa: coraknya biasanya menamakan pintu itu sendiri.
| 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 |
Baris mDNS wajar diberi nota. Trafik penemuan untuk Bonjour dan kebanyakan protokol cast pergi sebagai multicast ke 224.0.0.251 dan ff02::fb dengan skop pautan setempat, dan terowong yang dilalukan tidak membawanya. Itulah sebabnya peranti boleh menjawab sambungan terus tanpa pernah muncul dalam senarai.
Uji operasi, bukan ikon
Selepas menukar suis Rangkaian Setempat, paksa tutup aplikasi dari penukar aplikasi dan mulakannya semula. Proses yang sedang berjalan boleh mengekalkan keadaan ditolak dari sebelum perubahan, dan aplikasi yang terus memulangkan senarai kosong kelihatan sama sama ada kebenaran berkesan atau tidak. Kemudian jalankan satu tindakan konkrit, seperti mencetak halaman ujian atau memulakan video, daripada menunggu senarai peranti dipenuhi.
Kekalkan profil VPN sepanjang perbandingan. Jika penemuan mula berfungsi hanya selepas anda memutuskan sambungan, anda telah belajar bahawa terowong yang bersalah, bukan kebenaran. Tukar satu pemboleh ubah setiap percubaan, jika tidak, pusingan seterusnya tidak memberitahu anda apa-apa.
Baiki dalam urutan ini
Urutan di bawah ialah yang saya ikuti sekarang, kerana ia tidak pernah meninggalkan telefon dalam keadaan separuh berubah di mana ujian seterusnya tidak boleh dibaca.
- Sahkan aplikasi tersenarai di bawah Privasi & Keselamatan, Rangkaian Setempat, dan suisnya dihidupkan.
- Paksa tutup, mulakan semula aplikasi, kemudian cuba semula operasi sebenar sekali.
- Buka halaman penghala melalui alamat LAN semasa bersambung untuk membuktikan sama ada julat peribadi masuk ke terowong.
- Jika masuk, sunting profil untuk mengecualikan rangkaian setempat, atau minta pemilik profil melakukannya.
- Jika suis kelabu, anggap peranti sebagai diurus dan salurkan permintaan kepada pentadbir.
Biasanya hanya satu yang terpakai. Jika tiada satu pun mengubah hasilnya, yang disyaki selebihnya ialah rangkaian itu sendiri, seperti pengasingan titik akses atau senarai klien dibenarkan yang terikat pada alamat Wi-Fi, dan jadual pemetaan di atas menunjukkan yang mana.