Pripojíte iPhone, aby sa nabíjal, a o minútu neskôr VPN na Macu prestane prepúšťať prevádzku. Nastavenia systému zobrazia novú službu s názvom iPhone USB a zjavným krokom je zmazať ju. Ten krok je často nesprávny. Služba môže byť osobný hotspot telefónu, alebo to môže byť prepojenie, ktoré Xcode a nástroje pre zariadenia používajú na komunikáciu s telefónom, a obe sa správajú dosť odlišne, takže identifikácia musí prísť pred zmazaním.

Krok 1: Prečítajte si službu, ktorú telefón skutočne vytvoril

Otvorte Nastavenia systému, potom Sieť, a porovnajte zoznam služieb s telefónom odpojeným a pripojeným. V aktuálnom macOS je služba uvedená ako iPhone USB. Všimnite si, či je aktívna, kde stojí v poradí služieb a či ju Mac používa pre predvolenú trasu. Poradie služieb je dôležité, pretože macOS vyberá najvyššiu aktívnu službu, ktorá sa dostane k cieľu, nie tú, ktorej názov poznáte.

Apple sprievodca osobným hotspotom opisuje mechanizmus: kým je osobný hotspot v telefóne zapnutý, pripojenie cez USB môže prinútiť Mac používať mobilné pripojenie telefónu, aj keď ste chceli len nabíjať. To nie je chyba VPN klienta; smerovacia tabuľka nasleduje službu, ktorá sa zdvihla pred Wi-Fi.

Ak služba existuje, ale s pripojeným telefónom zostáva neaktívna, pravdepodobne vidíte spojenie len na nabíjanie alebo prepojenie zariadenia, nie hotspot. Zachovajte ten rozdiel, pretože nasledujúce dva kroky ho testujú, namiesto aby hádali z ikony.

Krok 2: Skontrolujte, ktorú trasu používa koncový bod VPN

Prečítajte trasu k preloženej adrese servera VPN, nie k webovej stránke. route -n get je len na čítanie a vypíše rozhranie a bránu, ktoré by jadro použilo, a oba riadky sú dôležité.

scutil --dns | head -20
route -n get 203.0.113.10

Adresa vyššie je zástupný údaj pre dokumentáciu. Nahraďte ju koncovým bodom, ktorý zobrazuje váš klient, a použite route -n get -inet6 pre koncový bod IPv6. Porovnajte výstup s telefónom odpojeným a pripojeným a medzi dvoma čítaniami trasy nepridávajte ani neodoberajte. Ak sa rozhranie zmení z en0 na rozhranie iPhone USB, vyhralo vyhľadávanie trasu cez hotspot a vonkajšie spojenie VPN teraz ide cez mobilnú sieť.

Zmena trasy nevysvetlí každé zlyhanie. Klient sa stále môže dostať na server a zlyhať neskôr na vnútornej prevádzke tunela, pretože nová cesta má iné MTU alebo operátor blokuje protokol. Prečítajte si vlastnú chybu klienta, kým niečo zmeníte: vonkajší časový limit nadviazania spojenia ukazuje na dostupnosť, kým zavedený tunel, ktorý prestane prepúšťať prevádzku, ukazuje na MTU, DNS alebo politiku.

Krok 3: Oddeľte hotspot od prepojenia komunikácie so zariadením

Xcode 15 a novší hovoria so zariadením pripojeným cez USB cez sieťový kanál, ktorý zahŕňa link-local IPv6, takže vývojový Mac môže zobraziť ďalšie rozhranie, ktoré nemá nič spoločné s prístupom na internet. Technická poznámka Apple TN3158 dokumentuje toto správanie a varuje, že VPN alebo bezpečnostné filtrovanie doň môže zasahovať. To je opak problému s hotspotom: VPN sa nepokazí preto, že telefón ponúka internet; spojenie so zariadením sa pokazí preto, že ho VPN zachytí.

Dve pozorovania oddeľujú prípady bez zachytávania paketov. Najprv skontrolujte, či má rozhranie smerovateľnú adresu a predvolenú trasu, alebo len link-local adresu fe80::; len link-local znamená, že cesta na internet neexistuje. Potom vypnite VPN a pozrite sa, či sa Xcode k zariadeniu znova dostane. Ak áno, trasy alebo obsahový filter VPN zachytávajú link-local prevádzku a oprava patrí do konfigurácie rozdeleného tunela alebo filtra, nie do panela Sieť.

ifconfig | grep -A4 -E '^en[0-9]+:'
netstat -rn -f inet6 | head

Nesúďte len podľa názvu rozhrania. macOS tieto rozhrania vytvára a ničí, ako sa zariadenia pripájajú, a číslo en sa prideľuje za behu, takže ten istý Mac môže po reštarte alebo výmene kábla ukázať iné číslo.

Krok 4: Reprodukujte zlyhanie s jednou premennou naraz

Keď viete, ktorá služba je v hre, reprodukujte problém v pevnom poradí. Začnite s odpojeným telefónom a pripojenou VPN. Pripojte telefón s vypnutým osobným hotspotom, počkajte, kým sa zoznam Sieť ustáli, a znova spustite dotaz na trasu. Odpojte, zapnite osobný hotspot, pripojte znova a zopakujte. Zapíšte rozhranie, bránu a chybu klienta pre každý z troch stavov a máte porovnanie namiesto spomienky.

Ak VPN zlyháva len v stave hotspotu, držte telefón mimo tej cesty: vypnite osobný hotspot počas nabíjania alebo presuňte službu iPhone USB pod Wi-Fi v poradí služieb. Ak zlyháva v každom pripojenom stave, aj s vypnutým hotspotom, pozrite sa, ako klient zvláda prechod siete. Niektorí klienti pri zmene primárnej služby tunel strhnú a potrebujú nové pripojenie; to je správanie klienta, nie porucha telefónu.

Meňte jednu vec na pokus. Zmazanie služby, reset konfigurácie VPN a preinštalovanie klienta v tej istej minúte vás nechajú s funkčným Macom a bez tušenie, ktorá akcia to spravila.

Krok 5: Rozhodnite, čo si nechať a čo overiť

Nechajte prepojenie zariadenia na pokoji. Odobratie rozhrania, ktoré Xcode používa, neopraví trasu VPN a pokazí nasadzovanie do zariadení až do ďalšieho pripojenia. Ak je služba hotspotu naozaj nežiaduca, najprv vypnite osobný hotspot v telefóne; to je dokumentovaná kontrola a prežije reštart.

Ak službu predsa odoberiete, odoberte tú, ktorú ste identifikovali, a potom overte dve veci: trasa ku koncovému bodu VPN je späť na očakávanom rozhraní a tunel prepúšťa prevádzku do internej adresy, nielen do internetu. Poznamenajte si poradie služieb a verziu klienta, pretože aktualizácia macOS môže zmeniť, ako sa telefón javí.

Potom klasifikujte zlyhanie, ktoré ste skutočne videli. Časový limit nadviazania spojenia, zaseknutie MTU po zdvihnutí tunela a odpovede DNS prichádzajúce od operátora sú tri rôzne problémy s tromi rôznymi opravami. Služba USB je spúšťačom vo všetkých troch; príčinou býva zriedka.

Súvisiace články