ข้ามไปยังเนื้อหา
อีบุ๊ก Cloudflare Workers Playbook เปิดตัวแล้ว — อ่านตัวอย่างฟรีก่อนตัดสินใจ

ZeroTier: VPN แบบ decentralized ที่ทีมเล็กควรมีติดไว้

เมื่อ VPN แบบศูนย์กลางกลายเป็น single point of failure — มาดูว่า ZeroTier ทำงานอย่างไร ตั้งค่าใช้ได้จริงในสิบนาที และควรใช้เมื่อไร

เผยแพร่
18 พฤศจิกายน 2568
อ่าน
2 นาที
เขียนโดย
SSUSEMAN
ZeroTier: VPN แบบ decentralized ที่ทีมเล็กควรมีติดไว้
networking — SUSEMANZeroTier · VPN

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

VPN ที่เราคุ้นเคย vs แบบ overlay network

VPN แบบดั่งเดิมสร้างอุโมงค์จากลูกข่ายไปยังศูนย์กลางเสมอ การเพิ่มสาขาใหม่หมายถึงการเพิ่มคอนฟิกบน gateway และเปิดพอร์ตเพิ่ม — ดูแลง่ายเมื่อมีสามสาขา แต่เริ่มเจ็บเมื่อมีสามสิบ

ZeroTier เปลี่ยนคำถามจาก "จะเชื่อมสาขาเข้าศูนย์กลางอย่างไร" เป็น "จะให้เครื่องไหนคุยกันได้บ้าง" โดยสร้างเครือข่าย layer-2 เสมือนที่ทุกเครื่องเป็นสมาชิกเท่ากัน

สถาปัตยกรรมแบบ peer-to-peer

  • มี root server ทำหน้าที่แค่จับคู่ (matchmaking) และแลกกุญแจ ไม่ได้ขนข้อมูลผู้ใช้
  • ข้อมูลวิ่งตรงระหว่าง peer ด้วย UDP ที่เข้ารหัสแล้ว ถ้า NAT ขวางจะ fallback ผ่าน relay
  • สมาชิกทุกตัวมี address 10 หลักของตัวเอง และเรากำหนด managed route ได้จากหน้าเว็บ
  • สิทธิ์การเข้าถึงแยกเป็น flow rules (เช่น อนุญาตเฉพาะพอร์ต 22 ไปยังเซิร์ฟเวอร์กลุ่มนี้)

เริ่มใช้งานในสิบนาที

ติดตั้งบนเครื่องแรกและ join เข้าเครือข่ายที่สร้างจาก ZeroTier Central:

bash
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli join 8056c2e21c000001
sudo zerotier-cli listnetworks
# 200 listnetworks <nwid> <name> <status> <type> <dev> <address>

จากนั้นติดตั้งบนเครื่องที่สองแล้ว join ด้วย network id เดียวกัน ทั้งสองเครื่องจะเห็นกันผ่าน IP ในวง 10.x ทันที ไม่ต้องแตะ firewall ของเราเลย

ตั้งค่าให้ปลอดภัยสำหรับทีมจริง

  1. ปิด auto-assign ในหน้า Central แล้วกำหนด IP เอง เพื่อให้ตรวจสอบย้อนหลังได้ว่าใครถือ address ไหน
  2. ใช้ flow rules แทนการพึ่ง firewall บนเครื่องปลายทาง
  3. จำกัดสมาชิกด้วย SSO / OIDC ถ้ามีคนมากกว่าสิบคน
  4. เปิด allow managed บนเครื่องลูกข่าย แต่ปิด allow global ไม่ให้ทราฟฟิกอินเทอร์เน็ตทั้งหมดวิ่งผ่าน overlay

หมายเหตุจากหน้างาน: อย่าใช้ ZeroTier แทน VPN สำหรับเข้าระบบ PCI หรือระบบที่มีข้อกำหนด data residency เข้มงวด โดยไม่คุยกับฝ่าย compliance ก่อน — คุณยังต้องพิสูจน์ได้ว่าข้อมูลวิ่งเส้นทางไหน

เมื่อไรควรใช้ และเมื่อไรไม่ควร

ควรใช้เมื่อทีมกระจายอยู่หลายที่ ต้องการเข้าถึงเครื่อง dev, ฐานข้อมูลภายใน หรือ NAS ส่วนตัว โดยไม่อยากแบก gateway องค์กร

ไม่ควรใช้เป็นทางเดียวสำหรับเข้าระบบ production ที่ต้องการ audit trail ระดับองค์กร หรือเมื่อนโยบายบริษัทบังคับให้ทราฟฟิกผ่าน inspection gateway ทุกแพ็กเก็ต

สำหรับผม ZeroTier คือเครื่องมือที่ตอบโจทย์เร็วที่สุดในกล่องเครื่องมือ และเป็นตัวอย่างที่ดีของคำว่า "ทำให้เรียบง่ายก่อน แล้วค่อยเพิ่มความสามารถ"

S

เขียนโดย

SUSEMAN · วิศวกรโครงสร้างพื้นฐาน · นักเขียน

บันทึกวิศวกรรมคลาวด์และเว็บ · กรุงเทพฯ ประเทศไทย

เกี่ยวกับ →

จดหมายรายสัปดาห์

สรุปบทความใหม่ เครื่องมือที่ลองแล้ว และบทเรียนจากการ deploy — ส่งทุกวันพฤหัส ไม่มีสแปม

ไม่ส่งสแปม ยกเลิกได้ทุกเมื่อ

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

ดูทั้งหมด →

บทความถัดไป

มอนิเตอร์ MariaDB Galera ด้วย Prometheus และ Grafana

→