โทรศัพท์อยู่ใน VPN เซิร์ฟเวอร์ไฟล์ตอบ ping แต่แอปไฟล์ยังรายงานว่าต่อไม่ได้ หรือต่อได้แต่ไม่มีโปรแกรมแก้ไขใดบนอุปกรณ์เปิดสิ่งที่แสดงไว้ได้ นั่นคือความล้มเหลวสองแบบที่ต่างกัน และไม่มีความหมายว่า tunnel เสีย VPN ให้เพียงเส้นทางเข้าสู่เครือข่ายส่วนตัว การเรียกดูแชร์ การยืนยันตัวตนกับแชร์ และการส่งเอกสารให้แอปอื่นเป็นขั้นตอนแยกกันซึ่งมีวิธีล้มเหลวแยกกัน ต่อไปนี้คือลำดับที่ผมตรวจสอบ และจุดที่ผมหยุดแทนที่จะเดา

ตรวจสอบบริการก่อนโทษ tunnel

การตอบ ping หรือหน้าเว็บของ NAS พิสูจน์เพียงการกำหนดเส้นทางเท่านั้น ไม่ได้พิสูจน์อย่างอื่น บริการที่คุณต้องการจริง ๆ คือ SMB บน 445, SFTP บน 22 หรือ WebDAV บน 443 อาจถูกปิด ถูกไฟร์วอลล์บล็อก หรือผูกกับอินเทอร์เฟซที่ซับเน็ต VPN เข้าไม่ถึง จากโทรศัพท์ ให้ทดสอบพอร์ตนั้นด้วยไคลเอนต์ที่แสดงข้อผิดพลาดจริงแทนข้อความเครือข่ายทั่วไป หากพอร์ตถูกกรอง ให้แก้ไขบริการหรือกฎไฟร์วอลล์ เพราะไม่มีแอปไฟล์ใดเลี่ยงพอร์ตที่ปิดอยู่ได้

ตรวจสอบด้วยว่าเซิร์ฟเวอร์เห็นที่อยู่ต้นทางใด split tunnel ที่ตัดซับเน็ตของแชร์ออก หรือ tunnel แบบต่อแอปที่ปล่อยให้แอปไฟล์อยู่นอก VPN ให้อาการเชื่อมต่อได้แต่เข้าถึงไม่ได้พอดี

อย่าหลงทางลัดด้วยการเปิด guest access หรือ SMB1 เพราะไคลเอนต์หนึ่งตัวยืนยันตัวตนไม่ได้ การเปลี่ยนแปลงเช่นนั้นทำให้สิ่งที่เซิร์ฟเวอร์ยอมรับจากทุกอุปกรณ์ในเครือข่ายกว้างขึ้น และไม่แก้ไขอะไรเลยหากปัญหาพื้นฐานคือการกำหนดเส้นทางหรือการแปลงชื่อ หากแชร์ต้องใช้บัญชีเฉพาะ ก็ใช้บัญชีนั้น รวมถึงคำนำหน้าโดเมนหรือเวิร์กกรุ๊ปที่เซิร์ฟเวอร์คาดหวัง

ใช้แอปไฟล์ที่พูดโปรโตคอลได้เอง

Android ไม่มีเบราว์เซอร์ในตัวสำหรับแชร์เครือข่าย แอปไคลเอนต์จึงเป็นสิ่งที่ต้องพึ่งจริง ๆ ไม่ใช่รายละเอียด เลือกตัวที่ใช้งานโปรโตคอลที่คุณใช้จริงและยังได้รับการดูแล เพราะไคลเอนต์ที่สร้างสำหรับ Android เวอร์ชันที่คุณเลิกใช้แล้วจะล้มเหลวในลักษณะที่ดูเหมือนปัญหาเครือข่าย เมื่อการค้นหาไม่ข้ามซับเน็ต ให้พิมพ์ชื่อโฮสต์เองแทนที่จะรอให้แอปหาให้

ลองเซิร์ฟเวอร์ด้วย IP สักครั้งเพื่อแยก DNS ออกจากการกำหนดเส้นทาง หาก IP ใช้ได้แต่ชื่อใช้ไม่ได้ โทรศัพท์กำลังแปลงชื่อผ่านเซิร์ฟเวอร์ DNS ที่มองไม่เห็นโซนส่วนตัวของคุณ

รู้ว่าแอปปลายทางได้รับอะไร: URI ไม่ใช่พาธ

หากแอปไฟล์ของคุณใช้งาน DocumentsProvider ได้ Storage Access Framework ของ Android ก็แสดงเนื้อหาในตัวเลือกของระบบได้ และแอปที่คุณเลือกจะได้รับ URI แบบ content:// พร้อมการให้สิทธิ์ การให้สิทธิ์นั้นไม่ใช่พาธของระบบไฟล์ ซึ่งเป็นเหตุให้โปรแกรมแก้ไขที่ยืนกรานใช้ชื่อพาธดิบเปิดเอกสารไม่ได้แม้ตัวเลือกจะแสดงไว้แล้ว คู่มือการเข้าถึงเอกสารของ Android อธิบายรูปแบบนี้ว่า ผู้ให้บริการเป็นเจ้าของไบต์และผู้บริโภคอ่านผ่านระบบ แอปที่รับ URI ทำงานได้ ส่วนแอปที่เรียก open() บนพาธทำงานไม่ได้ นี่คือสาเหตุที่พบบ่อยที่สุดที่แชร์ทำงานในแอปไฟล์แต่ล้มเหลวที่อื่นทั้งหมด

ทางเลือกคือการคัดลอกโดยเจตนา: ดึงไฟล์เข้าพื้นที่เก็บของโปรแกรมแก้ไขเอง แก้ไข แล้วอัปโหลดกลับ นั่นเป็นเวิร์กโฟลว์ที่ดีใช้ได้ แต่สร้างสำเนาที่สองและคำถามเรื่องความขัดแย้ง จึงควรตัดสินว่าฝั่งไหนชนะก่อนเริ่มแก้ไขบนรถไฟ

นโยบาย VPN รายแอปก็ควรพิจารณาตรงนี้ด้วย แพ็กเกจที่อ่านเครือข่ายมักเป็นแอปผู้ให้บริการ ไม่ใช่โปรแกรมแก้ไข ดังนั้นให้ใส่แพ็กเกจที่ถูกต้องใน tunnel แทนการตัดสินจากไอคอนที่คุณแตะ

ทดสอบการอ่าน การเขียน และความคงอยู่ของสิทธิ์แยกกัน

รายการไดเรกทอรีพิสูจน์เพียงเส้นทางการอ่าน ใช้ไฟล์ทดสอบที่ไม่เป็นอันตรายแล้วเดินครบลำดับ: แสดงรายการ เปิด แก้ไข บันทึก แล้วเปิดไฟล์เดิมอีกครั้งจากไคลเอนต์เดสก์ท็อป

สังเกตว่าสิทธิ์ยังอยู่หลังรีบูตหรือไม่ สิทธิ์การจัดเก็บเป็นแบบชั่วคราวเว้นแต่แอปจะถือไว้ถาวร โปรแกรมแก้ไขบางตัวถามใหม่ทุกครั้งที่เริ่มทำงาน ขณะที่บางตัวล้มเหลวเงียบ ๆ แล้วแสดงสำเนาเก่าให้คุณเห็น หากการบันทึกดูเหมือนสำเร็จ ให้ยืนยันฝั่งเซิร์ฟเวอร์ด้วยการตรวจเวลาที่แก้ไขหรือเปิดใหม่จากเครื่องอื่น ทดสอบการตัดการเชื่อมต่อกลางการบันทึกด้วย เพราะ VPN หลุดระหว่างอัปโหลดคือจังหวะที่ไคลเอนต์มีแนวโน้มที่สุดที่จะทิ้งไฟล์บางส่วนหรือการเปลี่ยนแปลงในเครื่องที่ไม่เคยซิงก์

แยกสิทธิ์ URI ของ Android ออกจากสิทธิ์อนุญาตบนเซิร์ฟเวอร์ การได้รับอนุญาตให้เปิดเอกสารไม่ได้บอกอะไรเกี่ยวกับบัญชี SMB ที่อยู่ข้างหลัง

เก็บแชร์ที่เมานต์ไว้สำหรับกรณีที่จำเป็นจริง ๆ

การเมานต์ CIFS ระดับ root และโมดูลระบบไฟล์ของเคอร์เนลยังมีอยู่ และทำให้ทุกแอปได้ภาพลวงของไดเรกทอรีในเครื่อง พวกมันต้องใช้ root แตกเมื่อเคอร์เนลเปลี่ยน และซ่อนความล้มเหลวของเครือข่ายไว้ในชั้นระบบไฟล์ซึ่งวินิจฉัยได้ยากขึ้น สำหรับการแก้ไขเอกสารบนโทรศัพท์ เวิร์กโฟลว์แบบผู้ให้บริการหรือการคัดลอกครอบคลุมสิ่งที่คนต้องการจริงส่วนใหญ่

ตรวจสอบว่าการเมานต์อยู่รอดหลังเครือข่ายเปลี่ยนก่อนสร้างเวิร์กโฟลว์บนมัน แชร์ที่เมานต์จากแล็ปท็อปบนโต๊ะทำงานต่างจากโทรศัพท์ที่สลับระหว่าง Wi-Fi กับเครือข่ายมือถือ และการเมานต์ที่ค้างอยู่อาจทำให้แอปค้างแทนที่จะล้มเหลวอย่างสะอาด

หากยังติดขัด ให้ไล่รายการตามลำดับและหยุดที่ขั้นแรกที่ล้มเหลว: พอร์ตเข้าถึงได้ ติดตั้งไคลเอนต์โปรโตคอลแล้ว แชร์ยืนยันตัวตนแล้ว ตัวเลือกแสดงไฟล์ โปรแกรมแก้ไขรับ URI การบันทึกไปถึงเซิร์ฟเวอร์ ขั้นนั้นบอกว่าควรแก้ส่วนประกอบใด และแทบไม่เคยเป็น tunnel

บทความที่เกี่ยวข้อง