Android kan ikkje opne filer på VPN-fildelinga
Ein VPN gir telefonen ei rute, ikkje ein filutforskar. Sjekk om tenesta er tilgjengeleg, kva protokoll klienten brukar, og om teksthandsamaren din godtar ein content-URI.
Telefonen er på VPN-en, filserveren svarar på ping, og likevel melder filappen at han ikkje får samband, eller han koplar til og ingen teksthandsamar på eininga opnar det som er lista opp. Det er to ulike feil, og ingen av dei tyder at tunnelen er øydelagd. Ein VPN gir berre ei rute inn i det private nettet; å bla gjennom ei deling, autentisere seg mot henne og gi eit dokument vidare til ein annan app er separate steg med kvar sine måtar å feile på. Nedanfor kjem rekkjefølgja eg sjekkar dei i, og punktet der eg stoppar i staden for å gjetta.
Sjekk tenesta før du gir tunnelen skulda
Eit ping-svar eller nettsida til NAS-en beviser berre ruting og ingenting anna. Tenesta du faktisk treng, SMB på 445, SFTP på 22 eller WebDAV på 443, kan vere slått av, blokkert av brannmuren eller bunden til eit grensesnitt som VPN-subnettet ikkje når. Test den aktuelle porten frå telefonen med ein klient som viser den verkelege feilen i staden for ei generell nettverksmelding. Er porten filtrert, må du rette tenesta eller brannmurregelen, for ingen filapp kan kome rundt ein stengd port.
Sjekk òg kva kjeldeadresse serveren ser. Ein split tunnel som utelèt subnettet til delinga, eller ein per-app-tunnel som lèt filappen stå utanfor VPN-en, gir nett det symptomet at han er tilkopla men utilgjengeleg.
Stå imot snarvegen med å slå på gjestetilgang eller SMB1 fordi éin klient ikkje får autentisert seg. Slike endringar vidar ut kva serveren godtar for kvar eining i nettet, og dei løyser ingenting om det underliggjande problemet er ruting eller namneoppslag. Treng delinga ein bestemd konto, bruk han, inkludert domene- eller arbeidsgruppeprefikset serveren ventar.
Bruk ein filapp som snakkar protokollen sjølv
Android har ingen innebygd lesar for nettverksdelingar, så klientappen er ein reell avhengigheit og ikkje ein detalj. Vel ein som implementerer protokollen du faktisk køyrer og som framleis blir vedlikehalden, for ein klient bygd for ein Android-versjon du ikkje brukar lenger, feilar på måtar som liknar nettverksfeil. Når oppdaging ikkje kryssar subnett, skriv vertsnamnet eksplisitt i staden for å vente på at appen finn det.
Prøv serveren via IP éin gong for å skilje DNS frå ruting. Virkar IP-en og ikkje namnet, slår telefonen opp gjennom ein DNS-server som ikkje ser den private sona di.
Vit kva mottakarappen får: ein URI, ikkje ein sti
Viss filappen din implementerer ein DocumentsProvider, kan Storage Access Framework i Android vise innhaldet i systemveljaren, og appen du vel frå, får ein content://-URI pluss ei løyve. Løyvet er ikkje ein filsystemsti, og difor kan ikkje ein teksthandsamar som krev eit rått stinamn opne dokumentet sjølv om veljaren lista det opp. Android-rettleiinga om dokumenttilgang skildrar modellen: leverandøren eig byta og forbrukaren les dei gjennom systemet. Appar som godtar URI-en, verkar, og appar som kallar open() på ein sti, gjer det ikkje. Dette er den vanlegaste grunnen til at ei deling verkar i filappen og feilar overalt elles.
Alternativet er ei medviten kopiering: hent fila inn i lagringa til teksthandsamaren, rediger ho og last ho opp att. Det er ein heilt grei arbeidsflyt, men han lagar ei andre kopi og eit konfliktsørsmål, så avgjer kva side som vinn før du byrjar å redigere på toget.
Per-app-VPN-policy fortener òg eit blikk her. Pakka som gjer nettverkslesinga, er ofte leverandørappen og ikkje teksthandsamaren, så ta med den rette pakka i tunnelen i staden for å dømme etter ikonet du trykte på.
Test lesing, skriving og kor lenge løyva varer kvar for seg
Ei mappeliste beviser berre lesestien. Bruk ei ufarleg testfil og gå gjennom heile rekkja: liste, opne, redigere, lagre og så opne same fila på nytt frå ein skrivebordsklient.
Følg med på om løyva blir verande etter omstart. Lagringsløyve er mellombelse med mindre appen tek dei varig, og nokre teksthandsamarar spør på nytt kvar gong dei startar, medan andre feilar stille og viser deg ein gamal kopi. Ser ei lagring ut til å lykkast, stadfest ho på serversida ved å sjekke endringstida eller ved å opne på nytt frå ein annan maskin. Test òg eit brot midt i lagringa, for eit VPN-brot under opplasting er nettopp då ein klient mest sannsynleg lèt att ei delvis fil eller ei lokal endring som aldri blir synkronisert.
Hald URI-løyvet i Android åtskilt frå autorisasjonen på serveren. Å få lov til å opne eit dokument seier ingenting om SMB-kontoen bak det.
Spar monterte delingar til dei tilfella som treng dei
CIFS-monteringar på root-nivå og filsystemmodular i kjernen finst framleis, og dei gir kvar app illusjonen av ei lokal mappe. Dei krev òg root, dei brekk ved endringar i kjernen, og dei gøymer nettverksfeil inne i filsystemlaget der dei er vanskelegare å diagnostisere. For å redigere dokument på ein telefon dekkjer leverandør- eller kopieringsarbeidsflyten det meste folk faktisk treng.
Sjekk om monteringa overlever ei endring i nettet før du byggjer ein arbeidsflyt på henne. Ei deling montert frå ein laptop på ein pult oppfører seg annleis enn ein telefon som hoppar mellom Wi-Fi og mobilnett, og ei forelda montering kan få ein app til å henge i staden for å feile ryddig.
Er du framleis fast, gå gjennom lista i rekkjefølgje og stopp ved første steg som feilar: porten er nåbar, protokollklienten er installert, delinga er autentisert, veljaren viser fila, teksthandsamaren godtar URI-en, lagringa hamnar på serveren. Det steget fortel deg kva komponent du skal rette, og det er sjeldan tunnelen.