Android не можа адкрыць файлы на файлавым рэсурсе праз VPN
VPN дае тэлефону маршрут, а не файлавы браўзер. Праверце даступнасць службы, пратакол кліента і тое, ці прымае рэдактар URI.
Тэлефон у VPN, файлавы сервер адказвае на ping, а файлавы дадатак усё роўна паведамляе, што не можа падключыцца; або падключаецца, і ніводзін рэдактар на прыладзе не адкрывае тое, што ён паказвае. Гэта дзве розныя паломкі, і ні адна не азначае, што тунель зламаны. VPN дае толькі маршрут у прыватную сетку; прагляд рэсурсу, аўтэнтыфікацыя на ім і перадача дакумента іншаму дадатку — асобныя крокі з асобнымі спосабамі збою. Ніжэй парадак, у якім я іх правяраю, і момант, калі спыняюся замест здагадак.
Праверце службу, перш чым вінаваціць тунель
Адказ на ping або вэб-старонка NAS даказвае толькі маршрутызацыю і нічога больш. Патрэбная вам служба, SMB на 445, SFTP на 22 або WebDAV на 443, можа быць адключанай, закрытай файрволам або прывязанай да інтэрфейсу, да якога падсетка VPN не дастае. З тэлефона праверце менавіта гэты порт кліентам, які паказвае сапраўдную памылку, а не агульны банер сеткі. Калі порт фільтруецца, выпраўце службу або правіла файрвола, бо ніводзін файлавы дадатак не абыдзе закрыты порт.
Праверце таксама, які адрас крыніцы бачыць сервер. Раздвоены тунель, што выключае падсетку рэсурсу, або тунель для асобнага дадатка, які пакідае файлавы дадатак па-за VPN, даюць менавіта сімптом падключэння без дасяжнасці.
Не ідзіце шляхам уключэння гасцявога доступу або SMB1 праз тое, што адзін кліент не можа аўтэнтыфікавацца. Такія змены пашыраюць тое, што сервер прымае для кожнай прылады ў сетцы, і нічога не выпраўляюць, калі асновай з’яўляецца маршрутызацыя або развязанне імёнаў. Калі рэсурсу патрэбен пэўны акаўнт, выкарыстайце яго, разам з прэфіксам дамена або працоўнай групы, якога чакае сервер.
Выкарыстоўвайце файлавы дадатак, які сам размаўляе на пратаколе
У Android няма убудаванага браўзера для сеткавых рэсурсаў, таму кліенцкі дадатак — сапраўдная залежнасць, а не дробязь. Выберыце той, што рэалізуе пратакол, які вы сапраўды запускаеце, і яшчэ падтрымліваецца, бо кліент, зроблены для версіі Android, якой вы больш не карыстаецеся, збоіць так, што выглядае як сеткавая няспраўнасць.
Паспрабуйце сервер па IP адзін раз, каб аддзяліць DNS ад маршрутызацыі. Калі IP працуе, а імя не, тэлефон развязвае праз DNS-сервер, які не бачыць вашу прыватную зону.
Што атрымлівае прымаючы дадатак: URI, а не шлях
Калі ваш файлавы дадатак рэалізуе DocumentsProvider, Storage Access Framework у Android можа паказаць яго змесціва ў сістэмным выбаршчыку, і абраны дадатак атрымлівае content:// URI разам з дазволам. Гэты дазвол не з’яўляецца шляхам файлавай сістэмы, таму рэдактар, які патрабуе сыры шлях, не адкрые дакумент, нават калі выбаршчык яго паказаў. Кіраўніцтва Android па доступе да дакументаў апісвае мадэль: пастаўшчык валодае байтамі, а спажывец чытае іх праз сістэму.
Альтэрнатыва — наўмысная копія: перацягнуць файл у ўласнае сховішча рэдактара, змяніць і загрузіць назад. Гэта добры працэс, але ён стварае другую копію і пытанне канфлікту, таму вырашыце, чый бок перамагае, перш чым пачаць працаваць у цягніку.
Палітыка VPN для асобных дадаткаў таксама вартая ўвагі. Пакет, што выконвае сеткавае чытанне, часта з’яўляецца дадаткам-пастаўшчыком, а не рэдактарам, таму ўключыце ў тунель патрэбны пакет, а не арыентуйцеся на іконку.
Праверце чытанне, запіс і захаванне дазволаў асобна
Спіс каталога даказвае толькі шлях чытання. Вазьміце бясшкодны тэставы файл і прайдзіце ўвесь ланцуг: спіс, адкрыццё, праўка, захаванне, потым паўторнае адкрыццё таго ж файла з працоўнага кліента.
Сачыце за захаваннем дазволаў пасля перазапуску. Дазволы сховішча часовыя, пакуль дадатак не зробіць іх пастаяннымі; адны рэдактары запытваюць зноў пры кожным запуску, другія моўчкі збояць і паказваюць састарэлую копію. Калі захаванне выглядае паспяховым, пацвердзіце яго на серверы па часе змянення або адкрыўшы з іншай машыны.
Трымайце дазвол URI у Android асобна ад аўтарызацыі сервера. Дазвол адкрыць дакумент нічога не кажа пра акаўнт SMB за ім.
Пакіньце змантаваныя рэсурсы для выпадкаў, дзе яны патрэбныя
Мантаванні CIFS на ўзроўні кораня і модулі файлавай сістэмы ядра яшчэ існуюць і даюць кожнаму дадатку ілюзію лакальнага каталога. Яны ж патрабуюць root, ламаюцца пры зменах ядра і хаваюць сеткавыя збоі ў пласце файлавай сістэмы, дзе іх цяжэй дыягнаставаць.
Праверце, ці перажыве мантаванне змену сеткі, перш чым будаваць на ім працэс. Рэсурс, змантаваны з ноўтбука на стале, паводзіць сябе інакш, чым з тэлефона, што скача паміж Wi-Fi і мабільнай сеткай, і састарэлае мантаванне можа павесіць дадатак.
Калі вы ўсё яшчэ захраслі, прайдзіце спіс па парадку і спыніцеся на першым кроку, што збоіць: порт дасяжны, кліент пратакола ўсталяваны, рэсурс аўтэнтыфікаваны, выбаршчык паказвае файл, рэдактар прымае URI, захаванне даходзіць да сервера. Гэты крок паказвае, які кампанент выпраўляць, і гэта рэдка тунель.