Home>>รีวิว>>QNAP NAS 101 EP40: Map network drive เข้าถึง QNAP NAS ผ่าน WebDAV
รีวิว

QNAP NAS 101 EP40: Map network drive เข้าถึง QNAP NAS ผ่าน WebDAV

ความสะดวกในการใช้งาน QNAP NAS เพื่อเก็บข้อมูลก็คือการที่มันรองรับโปรโตคอลการรับส่งไฟล์ที่ใช้บนระบบปฏิบัติการต่างๆ คือ SMB ที่ปัจจุบันถูกใช้โดย Windows, macOS, iOS, Linux และ Android หรือ AFP ที่เป็นของ Apple และ NFS เมื่อเราต่อคอมพิวเตอร์อยู่วง LAN เดียวกะ QNAP NAS แล้ว เราก็สามารถเข้าถึง Shared folder ในนั้น และสามารถทำ Map network drive ได้สบายๆ เลย แล้วก็ใช้โปรแกรมอย่าง Windows exploder (Windows) หรือ Finder (macOS) หรือ File manager ใดๆ บนระบบปฏิบติการ Linux ถ่ายโอนไฟล์ได้สะดวกมาก แต่ถ้าเราอยากได้ความสะดวกแบบเดียวกันนี้ ตอนที่เราเชื่อมต่อกับ QNAP NAS ผ่านอินเทอร์เน็ตล่ะ เราจะทำยังไง? บล็อกตอนนี้จะพาไปดูวิธีหนึ่งที่เราทำได้ นั่นก็คือผ่าน WebDAV ครับ

อ่านตรงนี้ก่อนนะครับ

การจะเข้าถึง QNAP NAS จากอินเทอร์เน็ตได้ ต้องเซ็ต Dynamic DNS (DDNS) ให้เรียบร้อยก่อนนะครับ จะใช้บริการของ myQNAPcloud.com (ในกรณีที่ ISP ให้ Public IP เรามา) หรือจะใช้ DDNS ของ ISP ที่เราใช้บริการอยู่ก็ตามแต่ และต้องทำ Port forwarding ให้เรียบร้อยด้วยนะครับ ซึ่งบทความนี้จะไม่พูดถึงเรื่องพวกนั้นนะครับ

WebDAV คืออะไร?

WebDAV ย่อมาจาก Web Distributed Authoring and Versioning เป็นส่วนขยายจากโปรโตคอล HTTP โดยมีจุดประสงค์คือ เพื่อให้ผู้ใช้งานสามารถอ่านและเขียนไฟล์บนเซิร์ฟเวอร์ได้จากระยะไกล ผ่านทำงานผ่านโปรโตคอล HTTP และ HTTPS

ข้อดีของการใช้งาน WebDAV ก็คือ มันทำงานผ่าน HTTP/HTTPS นี่แหละ ดังนั้นมันจึงสามารถเลี่ยงการถูกปิดกั้นด้วย Firewall ได้สบายๆ ส่งผลให้เซ็ตอัปค่อนข้างง่าย ถ้าเราไม่ไปเซ็ตให้ใช้พอร์ตพิเศษโดยเฉพาะสำหรับ WebDAV ละก็ แทบไม่ต้องไปยุ่งอะไรกับฝั่ง Router เลยแหละถ้าเราได้ทำ Port forwarding สำหรับ Web server บน QNAP NAS เรียบร้อยแล้ว ฝั่งผู้ใช้งานก็ไม่ต้องเซ็ตอะไรให้วุ่นวายด้วย ไม่ต้องติดตั้งโปรแกรมอะไรเพิ่มเลย

เปิดใช้งาน WebDAV บน QNAP NAS

เราสามารถเปิดใช้งาน WebDAV บน QNAP NAS ได้โดยไปที่ ControlPanel > Applications > Web Server แล้วทำเครื่องหมายถูกตรง Enable Web Server ก่อน เพราะถ้าไม่เปิดใช้งานอันนี้ ก็จะใช้ WebDAV ไม่ได้นะฮะ ทีนี้เพื่อความปลอดภัยในการใช้งาน ขอแนะนำให้

➊ ทำเครื่องหมายถูกตรง Enable secure connection (HTTPS) ด้วย
➋ กำหนดTLS version compatibility เป็น 1.2 จะดีที่สุด แต่หากมีปัญหากับอุปกรณ์บางตัว อาจต้องพิจารณาเปลี่ยนเป็น 1.1 and higher หรือ 1.0 and higher เลย
➌ และสุดท้ายไปติ๊กถูกตรง Force secure connection (HTTPS) only เพื่อบังคับให้ทุกการเชื่อมต่อทำผ่านโปรโตคอล HTTPS ซึ่งหมายความว่าข้อมูลจะถูกเข้ารหัสเสมอ

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

⦿ Shared folder permission หมายถึง ให้บริหารจัดการสิทธิ์ในการเข้าถึงผ่านการตั้งค่า Permissions ใน Shared folder ตามปกติเลย แบบนี้จะง่าย และจะค่อนข้างสอดคล้องกับการใช้งานกับ QNAP NAS เสมือนหนึ่งอยู่ในวง LAN เดียวกันที่สุด
⦿ WebDAV permission หมายถึง ให้บริหารจัดการสิทธิ์ในการเข้าถึงโดยการไปตั้งค่า Permission ในส่วนของ WebDAV access

โดยปกติแล้ว การเข้าถึง QNAP NAS ผ่าน WebDAV ก็จะทำผ่านโปรโตคอล HTTP/HTTPS อย่างที่ผมบอกไปในตอนต้น ไม่ต้องไปวุ่นกับการกำหนดเลขพอร์ตและทำ Port forwarding เพิ่มเติมแต่อย่างใด แต่สำหรับคนที่ต้องการป้องกันตัวเป็นพิเศษ อาจจะอยากกำหนดเลขพอร์ตเอง ก็ไปทำเครื่องหมายถูกตรง Use dedicated port for WebDAV service แล้วไปกำหนดเฉพาะ HTTPS port number ก็ได้ ผมแนะนำให้ไปดูรายชื่อเลขพอร์ตจาก Wikipedia ก่อนว่าพอร์ตไหนถูกใครเอาไปใช้ทำอะไรบ้าง จะได้ไม่ต้องไปเลือกซ้ำครับ เดี๋ยวไปชนกับอะไรอย่างอื่นที่เราอาจจะใช้อยู่โดยไม่รู้ตัว

แต่ถ้าเราเลือกการบริหารจัดการสิทธิ์เป็น WebDAV permission แล้ว เวลาเรากำหนดสิทธิ์เนี่ย เราก็ไปที่ ControlPanel > Privilege > Shared Folders แล้วไปที่แท็บ Shared Folder เพื่อคลิกเลือก Edit Shared Folder Permission เหมือนปกตินี่แหละ แต่เราต้องไปเลือก Select permission type เป็น WebDAV access เหมือนในรูปด้านล่าง เพื่อกำหนดสิทธิ์การเข้าถึงแยกต่างหาก

พูดง่ายๆ มันจะทำให้เราแยกได้ว่า User หรือ User group นึง จะมีสิทธิ์ในการเข้าถึง Shared folder แตกต่างกันได้ เวลาที่อยู่ในวง LAN เดียวกัน หรือเข้าผ่าน WebDAV

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

แต่มันก็มีข้อจำกัดอยู่นะครับ นั่นคือเวลา Grant access อะ มันเลือกได้แค่อย่างใดอย่างหนึ่ง (Deny access, Read only, Full access) สำหรับทุก User เลย จะมากำหนดว่า UserA ได้ Full access UserB ได้ Read only เนี่ย ไม่ได้ ถ้ากำหนดเป็น Full access ก็ต้องเป็นมาตรฐานเดียวกันทั้งหมดเลย

ถ้าใครอยากแยกสิทธิ์กันเป็นราย User หรือ User group ต้องไปเลือกใช้การบริหารจัดการแบบ Shared folder permission ครับ

Map network drive บน Windows 10 หรือ Windows 11

เปิด Windows Explorer ขึ้นมาครับ จากนั้นคลิกไปที่ตรง This PC แล้วคลิกขวา แล้วเลือก Map network drive… (ถ้าเป็น Windows 11 คุณอาจต้องคลิก Show more options ก่อน ถึงจะเห็นตัวเลือกนี้)

จากนั้นมันก็จะเข้าสู่หน้าจอ Map network drive ที่เราคุ้นเคยครับ เลือกเลยว่าอยาก Map มาเป็นไดร์ฟอะไร แต่ในช่อง Folder อะ แทนที่จะคลิกปุ่ม Browse ก็ให้เราพิมพ์ URL ของ QNAP NAS ของเราเข้าไป (ไอ้ myQNAPcloud หรือ DDNS ของเรานั่นแหละ) และต้องใส่ไปจนถึงชื่อ Shared folder เลยนะครับ เช่น ถ้า Shared folder ที่เราจะ Map network drive ชื่อ Public และ URL ของเราคือ kafaaktest.myqnapcloud.com ส่วนพอร์ต HTTPS คือ 8081 ตามที่ตั้งไว้เมื่อกี้ เราก็ต้องใส่เป็น https://kafaaktest.myqnapcloud.com:8081/Public ครับ

จากนั้น มันก็จะเด้งหน้าจอ Windows Security ขึ้นมาเพื่อให้เรากรอก Username กับ Password ก็กรอกไป ติ๊กถูกตรง Remember my credentials จะได้ไม่ต้องถูกถามบ่อยๆ แล้วคลิก OK แค่นี้ก็จบ

เสร็จเรียบร้อย เราก็จะเห็น Network drive ของเราแล้วครับ จากนั้นเราก็จะสามารถรับส่งไฟล์ไปที่ Network drive นี้ได้เหมือนกับการใช้งานผ่าน LAN ปกติเลยครับ

อย่าลืมว่าค่า Default ของ Windows คือ ดาวน์โหลดผ่าน WebDAV ได้ไม่เกิน 50MB หรือใช้เวลาดาวน์โหลดไม่เกิน 30 นาที

ข้อจำกัดที่โหดมากของ WebDAV สองเรื่อง ในกรณีที่ใช้งานผ่านระบบปฏิบัติการ Windows คือ มันถูกกำหนดเอาไว้ใน Registry ว่าให้ดาวน์โหลดไฟล์ขนาดใหญ่ได้ไม่เกิน 50MB และแม้ว่าการอัปโหลดไฟล์จะไม่มีการจำกัดขนาด แต่หากใช้เวลาอัปโหลดไฟล์เกิน 30 นาที ก็จะ Error ฮะ ดังนั้นหากเสียเวลาในการอัปโหลดหรือดาวน์โหลดเกินเท่านี้ ก็จะใช้ไม่ได้ครับ เช่น ผมลองดาวน์โหลดไฟล์วิดีโอที่ผมทำตอนรีวิวโน้ตบุ๊ก ASUS BR1100FK ขนาดไฟล์ 112MB มาดู ผลก็คือ มันเด้ง Error เลยว่า The file size exceeds the limit allowed and cannot be saved

ฉะนั้น สำหรับการใช้งานทั่วไป WebDAV จึงเหมาะสำหรับการถ่ายโอนไฟล์ขนาดไม่ใหญ่มาก ทีละไม่กี่ไฟล์มากกว่าที่จะไปใช้งานถ่ายโอนไฟล์วิดีโอใหญ่เบิ้มมหึมาครับ แต่ถ้าถามผมว่า มีวิธีปรับตั้งค่าเพื่อให้ Windows มันยอมให้เราดาวน์โหลดไฟล์ใหญ่ๆ หรือให้ Server Timeout มันยาวนานกว่านี้ไหม ผมก็ขอตอบว่า “มี” ครับ ก็อย่างที่บอก มันถูกกำหนดค่าไว้ใน Registry สิ่งที่เราต้องทำก็คือไปแก้ Registry ดิ

อ่านตรงนี้ก่อนนะ

การแก้ไขค่าใน Registry มั่วๆ อาจส่งผลกระทบต่อเสถียรภาพและการทำงานของระบบปฏิบัติการ Windows นะครับ ขอให้คุณรู้ตัวนะว่ากำลังทำอะไรอยู่ จะให้ดี แบ็กอัพไว้หน่อยก็ดีนะเออ ถ้าคุณจะถามผมว่า แล้วจะแบ็กอัพยังไง แบบนี้แสดงว่าคุณอาจจะไม่รู้ตัวว่ากำลังทำอะไรอยู่ อย่าทำดีกว่านะครับ

แก้ Registry ให้ดาวน์โหลดไฟล์เกิน 50MB ได้

เปิดโปรแกรม Registry Editor ขึ้นมา จากนั้นก็ไปที่

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

ก๊อปอันนี้ไปวางเลย ง่ายดี Registry ที่คุณต้องแก้คือ FileSizeLimitInBytes ซึ่งเอาไว้กำหนดขนาดของไฟล์หน่วยเป็นไบต์ครับ ค่าของมันกำหนดไว้ที่ 50000000 ไบต์ หรือก็คือ 50MB นั่นแหละ เราก็ไปแก้ตัวเลขซะใหม่ฮะ แต่ก่อนอื่น สังเกตว่าตัวเลขมันเป็น 2faf080 ซึ่งเป็นเลขฐาน 16 เราต้องเลือก Base เป็น Decimal ก่อน จะได้พิมพ์ตัวเลขแบบฐาน 10 ลงไปแทนได้ อยากดาวน์โหลดไฟล์ให้ใหญ่สุดเท่าไหร่ ก็ใส่ไปเลยครับ จำไว้นะ หน่วยเป็นไบต์ ถ้าจะเซ็ตเป็น 4GB ก็ต้องพิมพ์ 4294967295 (จำไว้ว่า 1024B = 1KB, 1024KB = 1MB, 1024MB = 1GB แต่ถ้าขี้เกียจคูณนัก ใส่กลมๆ 4000000000 ไปก็ได้ มันจะไม่ 4GB เป๊ะๆ อะ มันจะ 3GB ปลายๆ) แก้เสร็จ คลิก OK ไป

แก้ Registry ให้สามารถอัปโหลดไฟล์นานเกิน 30 นาทีได้

เปิดโปรแกรม Registry Editor ขึ้นมา จากนั้นไปที่

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxDAV\Parameters

เช่นเคย ก๊อปอันนี้ไปวางเลย ง่ายดี แล้วมองหา Registry ชื่อ FsCtlRequestTimeoutInSec แล้วไปเลือก Base เป็น Decimal จะเห็นว่าตัวเลขข้างในคือ 1800 (หน่วยเป็นวินาที ตามชื่อของ Registry นั่นแหละ) หรือก็คือ 30 นาทีนั่นเอง อยากได้ให้เป็นกี่นาที ก็คูณ 60 ไป แล้วเอาเลขไปกรอกในนั้น เช่น อยากได้ 4 ชั่วโมง ก็คือ 240 นาที หรือ 14440 วินาที ก็กรอกไปจ้า

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.