ผมมี Synology NAS อยู่ที่บ้านเพื่อเอาไว้เก็บข้อมูลและทำเป็น Web Server ซึ่ง NAS นี้ต่อกับ Router เพื่อให้เข้าถึงได้จากภายนอก ด้วยการ Forward Port ที่ Router มาที่ NAS ซึ่งจำเป็นต้องใช้ Public IP จาก ISP และถึงแม้ว่าทาง Synology จะมีบริการ Quick Connect ID แต่ว่าก็เข้าได้สำหรับบริการของ Synology เท่านั้น

นั่นทำให้ผมจำเป็นต้องใช้บริการ Public IP จาก ISP เพิ่มเติมและมีค่าใช้จ่ายเพิ่ม จนมีพี่ท่านนึงแนะนำให้ลองใช้ Cloudflare Tunnel แทน ซึ่งจะทำให้สามารถเข้าถึง NAS ได้จากภายนอกโดยไม่ต้อง Forward Port ที่ Router ให้วุ่นวาย หรือใช้ Public IP เลยจะมาแชร์วิธีการเผื่อเป็นประโยชน์

Prerequisite:
– มี Synology NAS และต่ออินเตอร์เน็ต
– Domain Name ที่อยู่ใน Cloudflare

STEP1
ทำการติดตั้ง Docker ผ่าน Package Center ของ Synology (ถ้ายังไม่เคยติดตั้ง)

STEP2
เปิด Docker App ใน NAS และทำการค้นหา Container ชื่อ Cloudflared ใน Registry และทำการกด Download

STEP3
หลังจากนั้นไปตั้งค่าฝั่ง Cloudflare บ้าง เข้าหน้าโดเมนเนมของเราผ่าน Cloudflare หลังจากนั้นไปที่ Access แล้วคลิก Launch Zero Trust

หลังจากเข้ามาที่หน้า Zero Trust ของ Cloudflare แล้วให้เข้าไปที่ Access > Tunnel หลังจากนั้นกดปุ่ม Create a Tunnel

STEP4
หลังจากกดแล้วทำการใส่ชื่อ Tunnel แล้วกด Save Tunnel

Cloudflare จะพามาหน้า Configure Tunnel ที่เพิ่งสร้างขึ้น ตรงส่วนของ Choose your environment ให้ทำการคลิกที่ Docker แล้ว Copy คำสั่งในส่วนของ Install and run connector เก็บเอาไว้

STEP5
กลับมาที่ Synology ให้ทำการ Launch Docker Image “cloudflare/cloudflared” ที่ได้ทำการ Download ไว้ใน Step2

หลังจากกดแล้วทำการตั้งค่า Container ที่สร้างขึ้นมาใหม่ ส่วนของ Network ใช้เป็น bridge

ในส่วนของ General Setting ติ๊กเลือก Enable auto-restart แล้วกด Advanced Settings

เมื่อเข้ามาที่ Advanced Settings แล้วไปที่ tab Execution Command ทำการ Copy คำสั่งจาก Step4 โดย Copy มาในส่วนของหลังคำสั่ง Run มาใส่ในช่อง Command

หลังจากนั้นทำการ Save ทั้งหมด กด Next รัว ๆ แล้ว Run Container ได้เลย

STEP6
กลับมาที่ Cloudflare ทำการกด Next หลังจากนั้นเลือก Domain Name ที่ต้องการผูก Tunnel และในส่วนของ Service ให้เลือกเป็น HTTP หรือ HTTPS แล้ว URL ใส่เป็น ip address (local) ของ NAS เราได้เลย หลังจากนั้นกด Save Tunnel

เสร็จเรียบร้อย เมื่อ Run Container แล้ว และสถานะของ Tunnel ใน Cloudflare ขึ้นเป็น Active เราก็สามารถเข้า NAS ของเราผ่าน Domain Name ที่ตั้งค่าไว้ได้ทันทีครับ

ปิดท้าย
ก่อนจะจบบทความ ตัว Token ที่อยู่ใน Step4 ที่ให้ Copy เก็บไว้เราไม่ควรเผยแพร่ให้คนอื่นรู้เนื่องจากอาจจะโดนสวมรอยได้ หลังจาก Set up เสร็จแล้วก็ลบทิ้งได้เลยครับ หากมีคำถามเพิ่มเติมสอบถามใน Comment ได้เลย