2 คะแนน โดย GN⁺ 2026-02-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Tailscale Peer Relays เปิดตัวอย่างเป็นทางการแล้ว ทำให้ผู้ใช้สามารถใช้อุปกรณ์ของตนเองเป็น โหนดรีเลย์ประสิทธิภาพสูง ได้
  • รองรับ การส่งต่อทราฟฟิกที่เสถียรและรวดเร็ว แม้ในสภาพแวดล้อมที่เชื่อมต่อโดยตรงได้ยากเนื่องจากไฟร์วอลล์, NAT, หรือข้อจำกัดของเครือข่ายคลาวด์
  • มีการปรับปรุง throughput, การลด lock contention และ การกระจายการประมวลผล UDP socket ทำให้ประสิทธิภาพดีขึ้นอย่างมากเมื่อมีไคลเอนต์หลายรายเชื่อมต่อพร้อมกัน
  • ผ่าน การรวม static endpoint ทำให้สามารถ รันรีเลย์หลัง AWS NLB เป็นต้น ได้ แม้ในสภาพแวดล้อมคลาวด์ที่ไม่สามารถค้นหาอัตโนมัติได้
  • มี การรวมด้านการมองเห็นและการมอนิเตอร์ ทำให้ตรวจสอบเส้นทางทราฟฟิก, latency และสถานะรีเลย์ได้อย่างชัดเจน ซึ่งสำคัญต่อการดูแลเครือข่ายขนาดใหญ่

ภาพรวมของ Tailscale Peer Relays

  • Peer Relays เป็นฟีเจอร์ที่ทำให้สามารถ รันความสามารถรีเลย์ประสิทธิภาพสูงบนอุปกรณ์ของตนเอง ได้
    • นอกเหนือจาก DERP relay เดิมแล้ว ยังสามารถใช้โหนดที่ผู้ใช้ดีพลอยเองเป็นรีเลย์ได้
    • หลังช่วงเบต้า มีการปรับปรุง ประสิทธิภาพ, ความเสถียร, และการมองเห็น อย่างมากจนพร้อมใช้งานระดับโปรดักชัน
  • เริ่มต้นจากฟีเจอร์สำหรับหลบเลี่ยง สภาพแวดล้อม NAT ที่ซับซ้อน และขยายไปสู่ ตัวเลือกการเชื่อมต่อสำหรับเครือข่ายขนาดใหญ่
    • มอบโครงสร้างที่ช่วยให้ทีมมีทั้ง ประสิทธิภาพ, การควบคุม, และความยืดหยุ่น

การปรับปรุงด้านประสิทธิภาพและความน่าเชื่อถือ

  • เมื่อมีไคลเอนต์จำนวนมากเชื่อมต่อผ่านรีเลย์ จะมี throughput ที่ดีขึ้นอย่างมาก
    • ไคลเอนต์จะเลือก อินเทอร์เฟซและ address family ที่เหมาะสมที่สุด ภายในรีเลย์โดยอัตโนมัติ
    • รีเลย์เพิ่มประสิทธิภาพการประมวลผลแพ็กเก็ตด้วย การลด lock contention และ การกระจายงานผ่านหลาย UDP socket
  • การปรับปรุงเหล่านี้ช่วยให้ ทั้งประสิทธิภาพและความเสถียรดีขึ้นในทราฟฟิกใช้งานทั่วไป และแม้ในกรณีที่เชื่อมต่อโดยตรงไม่ได้ก็ยังให้ ประสิทธิภาพใกล้เคียง mesh network

การรองรับ static endpoint

  • ใน สภาพแวดล้อม public cloud มักมีกรณีที่การค้นหา endpoint แบบอัตโนมัติทำได้ยาก
    • อาจไม่สามารถเปิดพอร์ตตามต้องการได้เนื่องจากกฎไฟร์วอลล์, การทำ port forwarding หรือโหลดบาลานเซอร์
  • Peer Relays สามารถประกาศ คู่ค่า IP:port แบบคงที่ ได้ผ่านแฟลก --relay-server-static-endpoints
    • ทำให้ไคลเอนต์ภายนอกสามารถส่งต่อทราฟฟิกผ่านรีเลย์ได้ แม้อยู่หลังโครงสร้างพื้นฐานอย่าง AWS Network Load Balancer
  • ฟีเจอร์นี้ช่วยให้สามารถสร้าง การเชื่อมต่อความเร็วสูงในสภาพแวดล้อมคลาวด์ที่มีข้อจำกัด และสามารถ แทนที่ subnet router เพื่อทำ โครงสร้าง full mesh ได้

การรวมด้านการมองเห็นและการมอนิเตอร์

  • Peer Relays ผสานเข้ากับเครื่องมือสังเกตการณ์ของ Tailscale โดยตรง ทำให้เข้าใจการทำงานของรีเลย์ได้อย่างชัดเจน
    • คำสั่ง tailscale ping ใช้ตรวจสอบได้ว่ารีเลย์ถูกใช้งานอยู่หรือไม่, เข้าถึงได้หรือไม่, และมีผลต่อ latency กับความน่าเชื่อถืออย่างไร
    • เมื่อเกิดปัญหา สามารถตัดสินได้ทันทีว่าทราฟฟิกกำลังผ่านรีเลย์หรือไม่ และสถานะของรีเลย์ปกติหรือไม่
  • มี ตัวชี้วัดสำหรับการมอนิเตอร์ คือ tailscaled_peer_relay_forwarded_packets_total, tailscaled_peer_relay_forwarded_bytes_total
    • สามารถเชื่อมต่อกับ Prometheus, Grafana เป็นต้น เพื่อ วิเคราะห์รูปแบบทราฟฟิก, ตรวจจับความผิดปกติ, และติดตามสถานะเครือข่าย

การเปิดให้ใช้งานทั่วไปและแนวทางการดีพลอย

  • Peer Relays ที่เปิดให้ใช้งานทั่วไปแล้ว กลายเป็น องค์ประกอบหลักของความสามารถในการขยายตัวของ Tailscale
    • มอบ การเชื่อมต่อความเร็วสูงและ latency ต่ำ เมื่อไม่สามารถใช้เส้นทางตรงได้
    • ทำงานได้แม้ในสภาพแวดล้อมคลาวด์ที่มีข้อจำกัด ด้วย การดีพลอยแบบอิง static endpoint
    • รองรับ โครงสร้าง full mesh ภายใน private subnet และ การกำหนดเส้นทางควบคุมขาเข้า/ขาออก
  • ยังคงรักษาหลักการความปลอดภัยพื้นฐานของ Tailscale เช่น การเข้ารหัสแบบ end-to-end, การเข้าถึงแบบสิทธิ์น้อยที่สุด, และ พฤติกรรมที่คาดการณ์ได้
  • สามารถเปิดใช้งานผ่าน CLI ได้บนทุกโหนดที่รองรับ และรองรับ การควบคุมด้วย ACL และการทยอยดีพลอย
  • Peer Relays สามารถใช้งานได้ใน ทุกแพ็กเกจราคา (รวมถึงแผน Personal ฟรี)

1 ความคิดเห็น

 
GN⁺ 2026-02-19
ความคิดเห็นจาก Hacker News
  • ถ้า Tailscale ได้รับความไว้วางใจเพราะ “เปิดกว้าง (open)” ก็ควรรู้ไว้ด้วยว่าในขณะเดียวกัน ไคลเอนต์บางตัวเป็นซอฟต์แวร์ปิด
    มันถูกแจกจ่ายผ่านช่องทางทางการเท่านั้น (เช่น Apple App Store) และอยู่ภายใต้การควบคุมของพวกเขาอย่างสมบูรณ์
    ตรรกะที่ใช้อธิบายจุดยืนนี้ค่อนข้างน่าประหลาดใจ คือประมาณว่า “ถ้าผู้ใช้ยอมใช้ OS แบบปิดได้ Tailscale จะปิดด้วยก็ไม่เป็นไร”
    โครงสร้างแบบนี้ทำให้น่าเชื่อถือได้ยากใน สภาพแวดล้อมที่มีข้อจำกัดด้านการเชื่อมต่อ
    ต่อให้เหนือกว่าคู่แข่งในทางเทคนิค ท้ายที่สุดมันก็เป็นแค่ ธุรกิจ เท่านั้น ถ้าเป็นไปได้ก็ควรสนับสนุนทางเลือกซอฟต์แวร์เสรี
    ประเด็นบน GitHub ที่เกี่ยวข้อง

    • อยากชี้ให้ชัดว่าในบางแพลตฟอร์ม มีแค่ GUI ที่เป็นซอฟต์แวร์ปิด (Tailscalar)
    • ฉันให้ความสำคัญกับ อำนาจในการควบคุม (control) มากกว่าประสิทธิภาพ
      ถ้าผู้ใช้สามารถบิลด์จากซอร์สได้เอง ก็ยังพอปรับปรุงประสิทธิภาพได้ แต่ถ้าไม่มีอำนาจควบคุม ก็ไม่มีทางแก้จุดที่ไม่พอใจได้เลย
      ซอฟต์แวร์เชิงพาณิชย์มักมีคุณภาพต่ำ ต้องพึ่งการอัปเดต และให้ความสำคัญกับความเร็วในการออกของมากกว่าความสมบูรณ์ของตัวผลิตภัณฑ์
    • ไคลเอนต์ CLI สำหรับ macOS สามารถบิลด์จากซอร์สได้โดยตรง
      ติดตั้งได้ด้วยคำสั่ง go install tailscale.com/cmd/tailscale{,d}@latest และมีคำอธิบายในวิกิทางการ
      GUI เป็นซอฟต์แวร์ปิด แต่ CLI เปิดทั้งหมด จึงยังใช้งานได้ในสภาพแวดล้อมเครือข่ายที่มีข้อจำกัด
    • แอปบน Mac ส่วนใหญ่ก็เป็นซอฟต์แวร์ปิดอยู่แล้ว ดังนั้นไอคอนบนเมนูบาร์ของ Tailscale อันเดียวไม่ได้ทำให้รู้สึกอะไรนัก
      ถ้ารำคาญจริง ๆ ก็ใช้ brew หรือ CLI ควบคุมแทนได้
    • ผมคิดว่าโมเดลแบบ ไฮบริดระหว่างโอเพนซอร์สกับเชิงพาณิชย์ เป็นทางประนีประนอมที่สมจริง
      ผมก็กำลังพัฒนาแอปที่มีโครงสร้างคล้ายกัน โดยจะให้ CLI เป็นโอเพนซอร์สทั้งหมด และขาย GUI แบบเสียเงิน
      วิธีนี้ทำให้พัฒนาต่อและยังเลี้ยงชีพได้
      ตอนนี้กำลังพัฒนา GUI และ CLI ควบคู่กันบนพื้นฐานของไลบรารี validate
  • เพิ่งตั้งค่า Tailscale ไปเมื่อไม่นานนี้ แล้ว ping ลดจาก 16ms เหลือ 10ms และแบนด์วิดท์เพิ่มขึ้นสามเท่า
    พอใช้ร่วมกับ Moonlight/Sunshine ก็สามารถสตรีมเกม Windows จากเดสก์ท็อป Linux มายัง MacBook ได้ที่ 50Mbps/10ms
    ตั้งเราเตอร์ให้เป็นแค่ peer node โดยไม่ต้องทำ port forwarding

    • ถ้าเกี่ยวกับ Sunshine ลองดู Apollo ได้
    • เป็นกรณีใช้งานที่น่าสนใจ แต่ในทางปฏิบัติก็คือการ มอบหมาย เรื่อง NAT traversal และ port forwarding ให้โปรโตคอลอัตโนมัติจัดการ
    • ถ้าจะเปิดให้ผู้ใช้ทั่วไปเข้าถึงเกมสตรีมมิง ผู้ใช้ฝั่งตรงข้ามก็ต้องติดตั้ง Tailscale ด้วยหรือไม่
      อยากรู้ว่าโดยพื้นฐานแล้ว Tailscale เน้น การแชร์ระหว่างผู้ใช้ที่เชื่อถือกันได้ เป็นหลักหรือเปล่า
    • ผมเคยลองทำโครงสร้างคล้ายกันด้วยเราเตอร์ OpenWRT แต่ก็ยังคิดว่าต้องเปิดพอร์ตอยู่ดี
      ถ้าอย่างนั้นมันก็ยังเปิดเผยต่ออินเทอร์เน็ตอยู่ไม่ใช่หรือ เลยยังสับสน
  • สงสัยว่า โมเดลหารายได้ ของ Tailscale คืออะไร ชอบบริการนี้ แต่กังวลเรื่องความยั่งยืนระยะยาว
    บางครั้งก็รู้สึกเหมือนโดน จำกัดความเร็ว (rate limit) ด้วย

    • บริษัทเรากำลังใช้ แผนธุรกิจ ราคา 18 ดอลลาร์ต่อผู้ใช้ต่อเดือน
      ถ้าทีมใหญ่ขึ้น แผนแบบเสียเงินแทบจะจำเป็น และฟีเจอร์อย่าง serve/funnel กับ SSH ก็มีประโยชน์มาก
      ก่อนหน้านี้เราใช้ Zerotier ใช้ฟรีอยู่หลายปี ก่อนจะเริ่มจ่ายเดือนละราว 5 ดอลลาร์เมื่อจำนวนผู้ใช้เพิ่มขึ้น
    • โดยปกติแล้ว Tailscale จะสร้างการเชื่อมต่อ P2P WireGuard หลังเชื่อมต่อครั้งแรก จึงไม่ควรมีการจำกัดความเร็ว
      แต่ขึ้นอยู่กับสภาพเครือข่าย บางครั้งอาจต้องใช้รีเลย์ (relay)
      ทางเลือกโอเพนซอร์สมี Headscale และ Netbird
    • คำอธิบายแผนฟรีบนบล็อกทางการ ก็น่าอ่าน
    • นี่เป็นตัวอย่างคลาสสิกของโมเดล freemium คือเริ่มจากดึงความนิยมด้วยแผนฟรีสำหรับนักพัฒนา แล้วค่อยให้บริษัทเปลี่ยนไปใช้แผนเสียเงินภายหลัง
    • เพราะการเชื่อมต่อแบบ P2P แทบไม่มีต้นทุน กลยุทธ์สร้าง ความภักดีของนักพัฒนาด้วย free tier จึงได้ผล
  • การเปลี่ยนมาใช้ Peer Relay ถือเป็นชัยชนะครั้งใหญ่สำหรับสาย self-host ในสภาพแวดล้อม NAT
    ไม่ต้องตั้งค่า DERP server เองโดยตรงแล้ว ทำให้ UX ดีขึ้น

    • (Alex พนักงาน Tailscale) พวกเราก็เจอปัญหาเดียวกัน
      Peer Relay ถูกสร้างขึ้นโดยนำ โครงสร้างพื้นฐานของ subnet router และ exit node ที่มีอยู่แล้วกลับมาใช้ใหม่ จึงไม่ได้มีภาระในการพัฒนาสูงมาก
      มันจำเป็นต่อการเชื่อมต่อที่เสถียรแม้ในสภาพแวดล้อม NAT ที่จำกัดอย่าง AWS
      ผลลัพธ์คือทั้ง latency และประสบการณ์ผู้ใช้ ดีขึ้น
    • ก่อนหน้านี้เคยมีปัญหาที่ DERP ส่วนกลางเหมือนดูดทราฟฟิกหายไปในหลุมดำ แต่ช่วงหลังเสถียรดี
      การเพิ่ม Peer Relay น่าจะช่วยลดโอกาสเกิดปัญหาแบบนี้ลงอีก
  • ประเด็นสำคัญคือ Peer Relay รองรับ UDP
    DERP ใช้ TCP เป็นฐาน จึงมีปัญหาเรื่อง latency สำหรับการสตรีมเกมหรือการสื่อสารด้วยเสียง
    Peer Relay ใช้ UDP จึงเหมาะกับทราฟฟิกแบบเรียลไทม์มากกว่าอย่างชัดเจน
    โดยไม่ต้องตั้งค่า DERP instance แยก ก็เปิดใช้ได้ทันทีจาก subnet router เดิม

    • แต่พอเห็นคอมเมนต์เชิงบวกจากบัญชีใหม่ ๆ ต่อเนื่องกัน และบางอันก็มีพนักงาน Tailscale มาตอบ เลยดูเหมือนเป็น การประชาสัมพันธ์ (PR) ด้วย AI
      คอมเมนต์ AI แบบนี้บั่นทอนความเชื่อมั่นของชุมชน จึงควรหลีกเลี่ยง
  • ถ้ามี Relay หลายตัว อยากรู้ว่า Tailscale จะเลือก โหนดที่มี latency ต่ำที่สุด โดยอัตโนมัติหรือไม่

  • Tailscale ช่วยได้มากในสภาพแวดล้อม CGNAT จริง ๆ
    ผมรันระบบ AI vision บน Google Cloud Run แต่ ISP บล็อก port forwarding ไว้
    ผ่าน Tailscale ทำให้คอนเทนเนอร์ Cloud Run กับกล้องสื่อสารกันได้เหมือนอยู่ใน LAN เดียวกัน
    ด้วย Peer Relay ก็คาดว่าปัญหา latency ที่เกิดตอนคอนเทนเนอร์รีสตาร์ตบ่อย ๆ จะลดลงด้วย
    แต่ก็ยังสงสัยว่าในสภาพแวดล้อมที่ใช้ โหนดชั่วคราว (ephemeral) การเลือก Relay ทำงานอย่างไร

  • ตอนนี้ผมใช้เครือข่าย WireGuard ที่ตั้งค่าเองอยู่แล้ว เลยอยากรู้ว่า Tailscale ทำอะไรอยู่เบื้องหลังบ้าง
    มันมีฟังก์ชัน “เวทมนตร์” เยอะ เช่น ปรับ DNS, routing, firewall ให้อัตโนมัติ จนรู้สึกไม่ค่อยสบายใจ
    ดูเอกสารทางการแล้ว แต่รายละเอียดเชิงลึกยังไม่พอ
    อยากรู้ว่ามันทำงานได้ดีแม้กับการตั้งค่าเครือข่ายที่ซับซ้อนหรือไม่

    • (พนักงาน Tailscale) การรักษาเอกสารให้สมบูรณ์แบบเป็นเรื่องยาก แต่เราพยายามอธิบาย heuristics ที่ปรับตามสภาพแวดล้อม ให้ได้มากที่สุด
      บน Linux มีรูปแบบการตั้งค่าที่หลากหลายจึงซับซ้อน
      มีอธิบายในบทความบล็อกที่เกี่ยวข้องด้วย
      การทำงานหลักมีดังนี้
      • ใช้ rule-based routing เพื่อหลีกเลี่ยงการชนกัน
      • ผสานกับ systemd-resolved ก่อนเป็นอันดับแรก ถ้าไม่มีจึงค่อยแก้ /etc/resolv.conf
      • รองรับทั้ง iptables และ nftables และตั้งค่าให้เข้ากันได้กับ ufw/firewalld
      • การล็อกอิน SSH ถูกทำให้เข้ากันได้มากที่สุดโดยคำนึงถึงความแตกต่างของแต่ละดิสโทร
      • ต้องมีเส้นทาง MTU 1360 ไบต์เพื่อให้การสื่อสารเสถียร
        ในสภาพแวดล้อมที่ปรับแต่งหนักมากอาจมีปัญหาได้ แต่สามารถแก้ผ่านการซัพพอร์ตได้
    • ไคลเอนต์เป็นโอเพนซอร์ส และพนักงานบางคนก็มีส่วนช่วยกับเซิร์ฟเวอร์แบบ reverse-engineering อย่าง Headscale ด้วย
    • Headscale ก็น่าสนใจในฐานะทางเลือกโอเพนซอร์ส
  • เปิดหน้าเว็บบนมือถือแล้วไม่เห็นปุ่มปิด จึง ปิดโมดัลไม่ได้
    ดูสกรีนช็อตประกอบ
    สุดท้ายก็หาเจอ แต่ตำแหน่งมันแปลก ๆ

    • ปุ่มปิดคือปุ่ม X สีขาวในกรอบสีน้ำเงินตรงมุมขวาล่างของโมดัล