ในยุคที่การเข้าถึงอุปกรณ์และข้อมูลจากนอกบ้านกลายเป็นเรื่องธรรมดาสามัญและหลีกเลี่ยงไม่ได้ การชั่งน้ำหนักระหว่างความสะดวกและความปลอดภัยมักเป็นปัจจัยแรกๆ ที่เราต้องคำนึงถึง หลายๆท่านใช้การเชื่อมต่อ NAS จากนอกบ้านผ่าน Synology QuickConnect แน่นอนว่ามันทั้งสะดวกและง่ายแถมความปลอดภัยก็อยู่ในระดับมาตฐาน (ถ้าเราตั้ง Password ให้เดายากๆ) แต่วันนี้จะขอนำเสนอวิธีที่ไม่ใช่แค่สามารถเข้าถึงแค่ NAS อย่างเดียวได้แต่สามารถเข้าถึงระบบ Network ทั้งบ้านของท่านได้เลย โดยใช้ เจ้าตัว NAS เองนั้นแหละเป็น Gateway อีกทั้งยังปลอดภัยกว่า QuickConnect ง่ายและรวดเร็วกว่า OpenVPN ไม่ต้องมี Public IP ไม่ต้องตั้งค่าเราตอร์ ไม่ต้อง Forward Port ให้ยุ่งยาก ใช่แล้วครับ Wireguard VPN บน Tailscale นั่งเอง ซึ่งสามารถติดตั้งได้ง่ายๆ ผ่าน packege Center บน NAS ได้เลย ในบทความนี้เราจะเปรียบเทียบให้เห็นว่า Tailscale ดีกว่า QuickConnect อย่างไร และแนะนำวิธีการตั้งค่าบน DSM เวอร์ชัน 7 ครับ
1 QuickConnect มันง่ายจริงๆ แต่อะไรบ้างละที่เป็นข้อจำกัด?
- QuickConnect ถูกออกแบบสำหรับบริการ Synology NAS เพียงอย่างเดียวและใช้ได้กับแอพที่อยู่บน NAS เท่านั้น ไม่ได้ให้ความยืดหยุ่นเหมือนกับโซลูชัน VPN แบบเต็มรูปแบบที่สามารถเข้าใช้งานฟังก์ชันต่างๆ ได้เต็มที่เหมือนอยู่ใน Network เดียวกัน
- ความปลอดภัยยังเป็นรอง VPN อยู่พอสมควร ถ้าตั้งค่ารหัสผ่านและ link ที่เดาได้ง่าย คนอื่นๆ ก็สามารถเข้า NAS ของเราได้โดยตรงเช่นกัน
- บางแอปพลิเคชันยังต้องการการตั้งค่า Port Forward ถึงจะใช้งานได้แม้ใช้งานผ่าน QuickConnect แล้วก็ตาม เช่น Synology Drive Client ที่ตัวระบบเองยังต้องการ Port 6690 เพื่อ Sync ข้อมูลระหว่าง Server และ Client
2 ทำไมต้องใช้งาน Wireguard VPN (Tailscale) แทน?
- ปลอดภัยมากกว่า Quick Connect และรวดเร็วกว่า OpenVPN: Tailscale นำแนวคิดด้านความปลอดภัยในรูปแบบ Zero Trust มาใช้งาน ทำให้มีความมั่นใจในเรื่องความปลอดภัยมากขึ้น เบื้องหลังการเชื่อมต่อใช้เทคโนโลยี Wireguard VPN Protocol ใช้การเข้ารหัสแบบ Public และ Private Key ที่ไม่ซับซ้อนแต่มีประสิทธิภาพและความปลอดภัยสูง ใช้พลังงาน CPU ในการถอดรหัสต่ำกว่าโปรโตคอล OpenVPN และความเร็วการเชื่อมต่อยังไวกว่า OpenVPN ที่เป็นโปรโตคอลเก่าๆ ค่อนข้างมาก
- มีแอพให้ใช้งานทุกแพลตฟอร์ม: ไม่ว่าท่านจะใช้ Windows, macOS, Linux หรือแม้แต่มือถือ Tailscale ก็มีแอพให้ใช้หมด การติดตั้งง่ายไม่กี่คลิก
- แต่ละอุปกรณ์สามารถเข้าถึงกันได้หมดแม้จะอยู่คนละที่: ไม่เหมือน QuickConnect ที่เข้าถึงได้แค่ Synology NAS การใช้ VPN ช่วยให้ท่านสามารถเข้าถึงเครือข่ายทั้งหมดบนอุปกรณ์ที่เชื่อโยงกับ VPN สามารถเข้าถึงโฟลเดอร์ที่แชร์, ปริ้นเตอร์ และอุปกรณ์อื่นๆ เหมือนกับเชื่อมต่อในวง LAN เดียวกัน อีกทั้งยังสามารถจัดการ Access Controls ของแต่ละอุปกรณ์บนเว็บของ Tailscale ได้
3 ติดตั้งและใช้งาน Synology NAS ผ่าน Tailscale
- ไปที่ Package Center > All Packages ค้นหา Tailscale กด install ให้เรียบร้อย
- เมื่อติดตั้งเสร็จให้กดเริ่มการใช้งาน ตัว tailscale จะเปิดหน้าต่างใหม่ให้เรา Login
- สมัคร Username และทำตามขึ้นตอนให้เรียบร้อย
- เมื่อสำเร็จจะเข้าสู่หน้าต่างดังรูปด้านล่าง ถ้าไอค่อนเป็นสีเขียวและได้ IP 100.x.x.x มาแล้วถือว่าการเชื่อมต่อจาก NAS มายัง tailscale สำเร็จแล้ว
- IP นี้จะเป็น IP ที่เราใช้เชื่อมต่อไปยัง NAS ของเรา จากอุปกรณ์อื่นๆ
- ทำการเพิ่มอุปกรณ์ที่จะใช้เชื่อมต่อเข้ามายัง NAS ของเรา วิธีการดาวน์โหลดบนอุปกรณ์ต่างๆสามารถดูได้จาก link ทางซ้ายมือ ในที่นี้จะใช้ MacOS ในการเชื่อมต่อ
- โหลด Tailscale ใน AppleStore ติดตั้งและทำการเชื่อมต่อโดยใช้ Email account เดียวกัน
- ติดตั้งและเพิ่มอุปกรณ์ตามขั้นตอนปกติ
- อย่าลืมเปิดใช้งาน Tailscale บนอุปกรณ์นั้นๆ ด้วย
- เมื่อเชื่อมอุปกรณ์สำเร็จจะขึ้นมาในหน้า dashboard ดังรูป
- ตอนนี้ได้ทำการเชื่อมต่อ Wifi ของ Macbook กับมือถือ เพื่อทดสอบการใช้งานจากด้านนอก
- ลองเชื่อมต่อ NAS ผ่าน IP ของ tailscale ในที่นี้คือ https://100.81.101.144:5001
- เชื่อมต่อได้สำเร็จ
- ทดสอบเชื่อมต่อ เซอร์วิสที่ทำงานบน NAS เช่น SMB, Photo, File, Drive และอื่นๆ ได้หมดแล้วครับ
- ทดสอบ Speedtest ด้วย iperf3 ทำการเชื่อม MacBook ผ่าน Wifi ของมือถือจำลองการเชื่อมต่อจากนอกบ้าน มือถือมีความเร็วในการ Download/Upload โดยไม่ผ่าน Tailscale อยู่ที่ 27/17.8 Mbps หลังจากเชื่อมต่อ Tailscale ได้ความเร็วในการ Download อยู่ที่ประมาณ 24.4 Mbps เรียกได้ว่า Tailscale แทบไม่ได้ลด Speed การใช้งานลงเลย แต่ทั้งนี้ทั้งนั้นถ้าเชื่อมต่อด้วยความเร็วมากกว่านี้อาจจะถูกจำกัดความเร็วได้จาก CPU ของ NAS เองได้ จากที่เคยลองใช้เน็ต 1Gbps ทดสอบ ความเร็วที่ได้จาก Wireguard จะทำได้สูงสุดประมาณ 500-600 Mbps บน NAS
หากการใช้งานของท่านต้องการแค่เชื่อมต่ออุปกรณ์ภายนอกมายัง NAS อย่างเดียว ไม่ต้องให้เข้าถึงอุปกรณ์อื่นๆ ที่อยู่บน LAN เดียวกันด้วยแค่นี้ก็เสร็จแล้วครับ แต่ถ้าต้องการให้อุปกรณ์ที่เชื่อมเข้ามามองเห็นเครื่องอื่นๆ ในวง LAN ด้วยแล้วเราต้องตั้งค่าเพิ่มเติมครับ
4 ตั้งค่าเพิ่มเติมให้อุปกรณ์ที่เชื่อมต่อเข้ามาเห็นเครื่องอื่นๆ ภายในวง LAN ด้วย
เนื่องจากข้อจำกัดของ DSM 7 ที่ต้องการเพิ่มมาตฐานความปลอดภัยให้สูงขึ้น ทำให้ตัวโปรแกรม Tailscale ใน NAS ไม่สามารถสร้าง Tunnel ขึ้นมาเองได้ ผู้ใช้งานอย่างเรา (ที่มีสิทธิเป็น Admin) จึงต้องเข้าไปเพิ่ม Tunnel เองเพื่อให้ Talescale สามารถเชื่อมต่อไปยังอุปกรณ์ภายนอก NAS ได้ครับ โดยวิธีเพิ่มสามารถทำได้ตามนี้เลยครับ
- เปิด Control Panel > Task Scheduler กด Create เลือก Triggered Task เลือก User-defined script.
- ชื่อ Task ตั้งตามใจชอบ ในที่นี้ตั้งชื่อ Tailscale
- User: เลือก root เท่านั้น
- Event: เลือก Boot-up เพื่อให้ Synology สร้าง Tunnel ทุกครั้งเมื่อมีการเปิด NAS
- เช็คถูกตรง Enabled
- เลือก Task Setting (หมายเลข 4)
- ในช่อง User-defined script ก๊อปปี้คำสั่งด้านล่างนี้ใส่ลงไปได้เลย
/var/packages/Tailscale/target/bin/tailscale configure-host; synosystemctl restart pkgctl-Tailscale.service
- ทำการรีสตาร์ท Synology NAS
ต่อไปเป็นการ Advertising subnet routes เพื่อให้ Tailscale ใน NAS รู้จักกับ IP ในวง LAN ของเรา เพื่อที่จะให้อุปกรณ์ที่เชื่อมต่อเข้ามาเชื่อมต่อไปยังอุปกรณ์ในวง LAN ของเราได้ แน่นอนว่าด้วยข้อจำกัดของ DSM7 ตัวโปรแกรม Tailscale ไม่สามารถทำเองได้ เราจึงต้องเข้าไปทำผ่าน command line ใน NAS ผ่าน SSH
- เปิด SSH ของ NAS โดยไปที่ Control panel > Terminal & SNMP > Enable SSH Service
- SSH ผ่าน Terminal (ใน MacOS หรือ Linux) หรือ Powershell (ใน Windows)
- เมื่อเข้ามาได้แล้วพิมพ์คำสั่งเพิิ่ม advertise-routes ในคำสั่งด้านล่างจะเป็นการ Advertising subnet routes ของวง 10.9.1.0/24 เพื่อให้อุปกรณ์ภายนอกที่เชื่อมต่อผ่าน Tailscale เห็น เปลี่ยนค่านี้ตามวง IP ของท่าน
sudo tailscale up --advertise-routes 10.9.1.0/24 --advertise-exit-node --reset
- เมื่อเรียบร้อยแล้วเข้าไปยืนยันการเข้าถึง Subnet เว็บของ Tailscale https://login.tailscale.com/admin/machines
- หากเพิ่ม Subnet สำเร็จ Subnet IP ที่เราเพิ่มใน Command line จะปรากฏบนเว็บ เข้าไปที่ Edit Route setting.. > และเปิดใช้งาน Subnet ของเราเอง
- เข้าใช้งานหน้าเว็บ Router ที่ IP 10.9.1.1 และ Ping อุปกรณ์ที่มี IP 10.9.1.33 จากภายนอกบ้านได้สำเร็จ
- หากท่านใดเปิด firewall ใน Synology NAS อย่าลืมเพิ่ม Firewall Rule ให้ Allow IP 100.64.0.0 และ Subnet Mask 255.192.0.0 ด้วย
เพียงเท่านี้ก็ใช้งาน VPN จากภายนอกบ้านผ่าน Synology NAS ของเราได้แล้วครับ