Zašto VPN na Mac-u pada kada iPhone priključite preko USB-a
iPhone priključen preko USB-a može dodati rutu hotspotа ili vezu uređaja iz Xcode-a. Provjerite uslugu, rutu i grešku klijenta prije nego što bilo šta izbrišete.
Priključite iPhone da se puni, a minut kasnije VPN na vašem Mac-u prestane propuštati saobraćaj. Postavke sistema prikazuju novu uslugu pod nazivom iPhone USB, a očigledan potez je da je izbrišete. Taj potez je često pogrešan. Usluga može biti lični hotspot telefona, a može biti i veza koju Xcode i alati za uređaje koriste za razgovor s telefonom, i te dvije se ponašaju dovoljno različito da identifikacija mora doći prije brisanja.
Korak 1: Pročitajte uslugu koju je telefon zaista stvorio
Otvorite Postavke sistema, zatim Mrežu i uporedite listu usluga s telefonom isključenim i priključenim. Na aktuelnom macOS-u usluga je navedena kao iPhone USB. Zabilježite da li je aktivna, gdje stoji u redoslijedu usluga i koristi li je Mac za zadanu rutu. Redoslijed usluga je važan jer macOS bira najvišu aktivnu uslugu koja može doći do odredišta, a ne onu čije ime prepoznajete.
Appleovo uputstvo za lični hotspot opisuje mehanizam: dok je lični hotspot uključen na telefonu, povezivanje preko USB-a može natjerati Mac da koristi mobilnu vezu telefona, čak i kada ste željeli samo da ga punite. To nije greška VPN klijenta; tabela rutiranja slijedi uslugu koja je podignuta prije Wi-Fi-ja.
Ako usluga postoji ali ostane neaktivna s priključenim telefonom, najvjerovatnije gledate vezu samo za punjenje ili vezu uređaja, a ne hotspot. Zadržite tu razliku, jer je naredna dva koraka testiraju umjesto da nagađaju po ikoni.
Korak 2: Provjerite koju rutu koristi VPN krajnja tačka
Pročitajte rutu do razriješene adrese VPN servera, a ne do web stranice. route -n get je samo za čitanje i ispisuje interfejs i gateway koje bi kernel koristio, a oba reda su važna.
scutil --dns | head -20
route -n get 203.0.113.10Adresa iznad je rezervisano mjesto za dokumentaciju. Zamijenite je krajnjom tačkom koju prikazuje vaš klijent i koristite route -n get -inet6 za IPv6 krajnju tačku. Uporedite izlaz s telefonom isključenim i priključenim i ne dodajte ni uklanjajte rute između dva čitanja. Ako se interfejs promijeni s en0 na iPhone USB interfejs, hotspot put je pobijedio u pretrazi i vanjska veza VPN-a sada ide preko mobilne mreže.
Promjena rute ne objašnjava svaki kvar. Klijent i dalje može doći do servera i kasnije pasti na unutrašnjem saobraćaju tunela, jer novi put ima drugačiji MTU ili operater blokira protokol. Pročitajte vlastitu grešku klijenta prije nego što bilo šta promijenite: vanjski timeout rukovanja ukazuje na dostupnost, dok uspostavljen tunel koji prestane propuštati saobraćaj ukazuje na MTU, DNS ili politiku.
Korak 3: Razdvojite hotspot od veze za komunikaciju s uređajem
Xcode 15 i noviji razgovaraju s USB priključenim uređajem preko mrežnog kanala koji uključuje link-local IPv6, pa razvojni Mac može prikazati dodatni interfejs koji nema nikakve veze s pristupom internetu. Appleova tehnička bilješka TN3158 dokumentuje to ponašanje i upozorava da VPN ili sigurnosno filtriranje može ometati to. To je obrnuto od problema s hotspotom: VPN se ne kvari zato što telefon nudi internet; veza s uređajem se kvari zato što je VPN presreće.
Dva zapažanja razdvajaju slučajeve bez hvatanja paketa. Prvo, provjerite ima li interfejs rutabilnu adresu i zadanu rutu ili samo link-local fe80:: adresu; samo link-local znači da nema puta do interneta. Drugo, isključite VPN i pogledajte može li Xcode ponovo doći do uređaja. Ako može, VPN rute ili filter sadržaja hvataju link-local saobraćaj, a ispravka pripada konfiguraciji podijeljenog tunela ili filtera, ne panelu Mreža.
ifconfig | grep -A4 -E '^en[0-9]+:'
netstat -rn -f inet6 | headNe sudite samo po imenu interfejsa. macOS stvara i uništava te interfejse kako se uređaji priključuju, a en broj se dodjeljuje u toku rada, pa isti Mac može prikazati drugačiji broj nakon restarta ili zamjene kabla.
Korak 4: Reproducirajte kvar s jednom promjenljivom odjednom
Kada znate koja je usluga uključena, reproducirajte problem u fiksnom redu. Počnite s isključenim telefonom i povezanim VPN-om. Priključite telefon s isključenim ličnim hotspotom, sačekajte da se lista Mreža stabilizuje i ponovo pokrenite upit rute. Isključite, uključite lični hotspot, priključite ponovo i ponovite. Zapišite interfejs, gateway i grešku klijenta za svako od tri stanja i imate poređenje umjesto sjećanja.
Ako VPN pada samo u stanju hotspota, držite telefon dalje od tog puta: isključite lični hotspot dok punite ili pomjerite uslugu iPhone USB ispod Wi-Fi-ja u redoslijedu usluga. Ako pada u svakom priključenom stanju, uključujući i s isključenim hotspotom, pogledajte kako klijent obrađuje prelaz mreže. Neki klijenti ruše tunel kada se primarna usluga promijeni i traže ponovno povezivanje; to je ponašanje klijenta, a ne kvar telefona.
Mijenjajte jednu stvar po pokušaju. Brisanje usluge, resetovanje VPN konfiguracije i ponovna instalacija klijenta u istoj minuti ostavljaju vas s radnim Mac-om i bez ideje koja je radnja pomogla.
Korak 5: Odlučite šta zadržati, a šta provjeriti
Ostavite vezu uređaja na miru. Uklanjanje interfejsa koji Xcode koristi ne popravlja VPN rutu i kvari raspoređivanje na uređaje do sljedećeg priključenja. Ako je usluga hotspota zaista neželjena, prvo isključite lični hotspot na telefonu; to je dokumentovana kontrola i preživljava restart.
Ako ipak uklonite uslugu, uklonite onu koju ste identifikovali i zatim provjerite dvije stvari: ruta do VPN krajnje tačke je ponovo na očekivanom interfejsu i tunel propušta saobraćaj do interne adrese, a ne samo do interneta. Zabilježite redoslijed usluga i verziju klijenta, jer ažuriranje macOS-a može promijeniti kako se telefon pojavljuje.
Zatim klasifikujte kvar koji ste zaista vidjeli. Timeout rukovanja, zastoj MTU-a nakon podizanja tunela i DNS odgovori koji dolaze od operatera tri su različita problema s tri različita rješenja. USB usluga je okidač u sva tri; rijetko je uzrok.