Android không mở được tệp trên thư mục chia sẻ qua VPN
VPN cho điện thoại một tuyến đường, không phải trình duyệt tệp. Hãy kiểm tra dịch vụ có tới được không, giao thức của ứng dụng khách và việc trình soạn thảo của bạn có chấp nhận content URI hay không.
Điện thoại đang ở trong VPN, máy chủ tệp trả lời ping, mà ứng dụng tệp vẫn báo không kết nối được, hoặc kết nối được nhưng không trình soạn thảo nào trên máy mở được thứ nó liệt kê. Đó là hai lỗi khác nhau, và không lỗi nào có nghĩa là đường hầm hỏng. VPN chỉ cung cấp một tuyến đường vào mạng riêng; duyệt một thư mục chia sẻ, xác thực với nó và trao tài liệu cho ứng dụng khác là những bước riêng biệt với những cách hỏng riêng. Dưới đây là thứ tự tôi kiểm tra chúng, và điểm tôi dừng lại thay vì đoán.
Kiểm tra dịch vụ trước khi đổ lỗi cho đường hầm
Một phản hồi ping hay trang web của NAS chỉ chứng minh định tuyến và không gì khác. Dịch vụ bạn thực sự cần, SMB trên 445, SFTP trên 22 hay WebDAV trên 443, có thể bị tắt, bị tường lửa chặn hoặc bị gắn vào một giao diện mà mạng con VPN không tới được. Từ điện thoại, hãy kiểm tra đúng cổng đó bằng một ứng dụng khách hiển thị lỗi thật thay vì thông báo mạng chung. Nếu cổng bị lọc, hãy sửa dịch vụ hoặc quy tắc tường lửa, vì không ứng dụng tệp nào vòng qua được một cổng đã đóng.
Cũng hãy kiểm tra máy chủ nhìn thấy địa chỉ nguồn nào. Một đường hầm chia tách loại trừ mạng con của thư mục chia sẻ, hoặc đường hầm theo ứng dụng để ứng dụng tệp ở ngoài VPN, tạo ra đúng triệu chứng đã kết nối nhưng không tới được.
Đừng chiều theo lối tắt bật truy cập khách hoặc SMB1 chỉ vì một ứng dụng khách không xác thực được. Những thay đổi như vậy mở rộng thứ máy chủ chấp nhận từ mọi thiết bị trong mạng, và không sửa được gì nếu vấn đề gốc là định tuyến hay phân giải tên. Nếu thư mục chia sẻ cần một tài khoản cụ thể, hãy dùng nó, kể cả tiền tố miền hoặc nhóm làm việc mà máy chủ mong đợi.
Dùng ứng dụng tệp tự nói được giao thức
Android không có trình duyệt sẵn cho thư mục chia sẻ mạng, nên ứng dụng khách là một phụ thuộc thật chứ không phải chi tiết. Hãy chọn ứng dụng triển khai giao thức bạn thực sự dùng và vẫn được bảo trì, vì một ứng dụng khách xây cho phiên bản Android bạn không còn dùng sẽ hỏng theo cách trông như lỗi mạng. Khi việc dò tìm không vượt qua mạng con, hãy gõ rõ tên máy chủ thay vì chờ ứng dụng tìm ra.
Thử máy chủ bằng IP một lần để tách DNS khỏi định tuyến. Nếu IP chạy mà tên không chạy, điện thoại đang phân giải qua một máy chủ DNS không thấy vùng riêng của bạn.
Biết ứng dụng nhận được gì: URI, không phải đường dẫn
Nếu ứng dụng tệp của bạn triển khai DocumentsProvider, Storage Access Framework của Android có thể hiển thị nội dung của nó trong bộ chọn hệ thống, và ứng dụng bạn chọn nhận một URI content:// cùng một lần cấp quyền. Lần cấp đó không phải đường dẫn hệ thống tệp, nên một trình soạn thảo đòi tên đường dẫn thô không mở được tài liệu dù bộ chọn đã liệt kê nó. Hướng dẫn truy cập tài liệu của Android mô tả mô hình: nhà cung cấp sở hữu các byte và người tiêu thụ đọc chúng qua hệ thống. Ứng dụng chấp nhận URI thì chạy, ứng dụng gọi open() trên một đường dẫn thì không. Đây là lý do phổ biến nhất khiến một thư mục chia sẻ chạy trong ứng dụng tệp mà hỏng ở mọi nơi khác.
Cách thay thế là sao chép có chủ đích: kéo tệp vào vùng lưu trữ riêng của trình soạn thảo, sửa nó, rồi tải lại. Đó là một quy trình hoàn toàn ổn, nhưng nó tạo ra bản sao thứ hai và một câu hỏi xung đột, nên hãy quyết định bên nào thắng trước khi bắt đầu sửa trên tàu.
Chính sách VPN theo từng ứng dụng cũng đáng để xem ở đây. Gói thực hiện việc đọc mạng thường là ứng dụng nhà cung cấp chứ không phải trình soạn thảo, nên hãy đưa đúng gói vào đường hầm thay vì đánh giá theo biểu tượng bạn đã chạm.
Kiểm tra riêng việc đọc, ghi và độ bền của quyền
Danh sách thư mục chỉ chứng minh đường đọc. Hãy dùng một tệp thử vô hại và đi hết chuỗi: liệt kê, mở, sửa, lưu, rồi mở lại chính tệp đó từ một ứng dụng khách trên máy tính.
Chú ý xem quyền có bền sau khi khởi động lại không. Quyền lưu trữ là tạm thời trừ khi ứng dụng nhận chúng lâu dài, và một số trình soạn thảo hỏi lại mỗi lần khởi chạy trong khi những cái khác hỏng âm thầm và cho bạn xem một bản sao cũ. Nếu một lần lưu có vẻ thành công, hãy xác nhận ở phía máy chủ bằng cách xem thời gian sửa đổi hoặc mở lại từ máy khác. Cũng hãy thử ngắt kết nối giữa lúc lưu, vì VPN rớt trong khi tải lên đúng là lúc một ứng dụng khách dễ để lại tệp dở dang hoặc một thay đổi cục bộ không bao giờ đồng bộ nhất.
Giữ quyền URI của Android tách khỏi sự cho phép trên máy chủ. Được phép mở một tài liệu không nói gì về tài khoản SMB phía sau nó.
Để dành thư mục chia sẻ được gắn kết cho những trường hợp cần đến
Các điểm gắn CIFS cấp root và mô-đun hệ thống tệp trong nhân vẫn tồn tại, và chúng cho mọi ứng dụng ảo giác về một thư mục cục bộ. Chúng cũng cần root, hỏng khi nhân thay đổi, và giấu lỗi mạng bên trong lớp hệ thống tệp nơi khó chẩn đoán hơn. Để sửa tài liệu trên điện thoại, quy trình nhà cung cấp hoặc sao chép bao phủ phần lớn thứ người ta thực sự cần.
Hãy kiểm tra điểm gắn có sống sót qua thay đổi mạng không trước khi xây một quy trình trên nó. Một thư mục chia sẻ gắn từ máy tính xách tay trên bàn hành xử khác với điện thoại nhảy giữa Wi-Fi và mạng di động, và một điểm gắn cũ có thể làm ứng dụng treo thay vì hỏng gọn.
Nếu vẫn bí, hãy đi theo danh sách và dừng ở bước đầu tiên hỏng: cổng tới được, ứng dụng khách giao thức đã cài, thư mục chia sẻ đã xác thực, bộ chọn hiện tệp, trình soạn thảo nhận URI, bản lưu tới được máy chủ. Bước đó cho bạn biết phải sửa thành phần nào, và hiếm khi là đường hầm.