การกำหนดค่า Tailscale

Chute มีระบบเครือข่าย Tailscale แบบเนทีฟในตัว เมื่อกำหนดค่าแล้ว คุณสามารถอ้างอิงนโยบายในตัว TAILSCALE จากกฎหรือกลุ่มนโยบายเพื่อส่งการรับส่งข้อมูลผ่าน tailnet ของคุณ — เข้าถึงอุปกรณ์อื่นใน tailnet ออกผ่าน exit node หรือเข้าถึงซับเน็ตที่เพียร์โฆษณา

ต่างจากโปรโตคอลพร็อกซีทั่วไป Tailscale ไม่ใช่นโยบายที่กำหนดทีละบรรทัดใน [Proxy] แต่กำหนดค่าผ่านส่วน [Tailscale] ที่มีได้เพียงส่วนเดียวทั้งไฟล์ โดยลงทะเบียนโหนดกับเซิร์ฟเวอร์ควบคุมโดยใช้ auth key โดยไม่ต้องล็อกอินผ่านเบราว์เซอร์แบบโต้ตอบ

ส่วน Tailscale

ส่วน [Tailscale] กำหนดทุกอย่างที่อุปกรณ์ต้องการเพื่อเข้าร่วม tailnet:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
control-server = https://controlplane.tailscale.com
hostname = my-device
exit-node = 100.101.102.103
accept-routes = true
force-derp = false

หมายเหตุ: ไฟล์การกำหนดค่าทั้งหมดอนุญาตให้มีส่วน [Tailscale] เพียงหนึ่ง ส่วนเท่านั้น ส่วน [Tailscale] ที่ซ้ำกันจะถือเป็นข้อผิดพลาดในการกำหนดค่า ทั้งนี้เนื่องจากเอนจิน Tailscale มีน้ำหนักมากและช่วงที่อยู่ tailnet แต่ละช่วงเป็นเอกสิทธิ์ซึ่งกันและกัน — สามารถเข้าร่วม tailnet ได้ทีละอันเท่านั้น

พารามิเตอร์

คีย์ จำเป็นต้องระบุ คำอธิบาย
auth-key ใช่ auth key ของ Tailscale เมื่อใช้ control plane ทางการต้องขึ้นต้นด้วย tskey-; เซิร์ฟเวอร์ควบคุมของบุคคลที่สาม (เช่น Headscale) ยอมรับรูปแบบคีย์ของตัวเอง
control-server ไม่ ที่อยู่เซิร์ฟเวอร์ควบคุม ต้องเป็น URL แบบ http(s):// เว้นว่างไว้เพื่อใช้ control plane ทางการ controlplane.tailscale.com
hostname ไม่ ชื่ออุปกรณ์ที่รายงานไปยัง tailnet (ชื่อโฮสต์ MagicDNS)
exit-node ไม่ exit node; ยอมรับ IP ของ tailnet (100.x) หรือชื่อ MagicDNS เว้นว่างไว้เพื่อไม่ใช้ exit node
accept-routes ไม่ จะยอมรับเส้นทางซับเน็ตที่เพียร์โฆษณาหรือไม่ (บูลีน, ค่าเริ่มต้น false)
force-derp ไม่ จะบังคับใช้ DERP relay เท่านั้นและปิดการเชื่อมต่อโดยตรงหรือไม่ (บูลีน, ค่าเริ่มต้น false)
direct-quality-guard ไม่ ตรวจสอบคุณภาพของเส้นทางตรงและถอยกลับไปใช้ DERP เชิงรุกเมื่อคุณภาพลดลง (บูลีน, ค่าเริ่มต้น false) เมื่อปิดอยู่ จะเพียงบันทึกคุณภาพของเส้นทางเท่านั้น
peer-relay ไม่ เปิดใช้งานการค้นหา candidate ของ peer relay และใช้ peer relay เป็นเส้นทางเพิ่มเติม (บูลีน, ค่าเริ่มต้น false, อยู่ในขั้นทดลอง)
exit-dns ไม่ DNS ที่ใช้สำหรับชื่อโฮสต์ที่เชื่อมต่อผ่าน exit node: auto (ค่าเริ่มต้นเมื่อตั้งค่า exit node — แก้ชื่อผ่าน DNS ของ exit node), off หรือ IP ของเซิร์ฟเวอร์ DNS ที่เข้าถึงผ่าน exit node
advertise-exit-node ไม่ เสนออุปกรณ์นี้ให้ tailnet ใช้เป็น exit node (บูลีน ค่าเริ่มต้น false) เฉพาะ macOS —— บน iOS/tvOS จะถูกเตือนและข้ามไป
advertise-routes ไม่ ซับเน็ตในเครือข่ายท้องถิ่นที่อุปกรณ์นี้เสนอจะส่งต่อให้ tailnet เป็นรายการ CIDR คั่นด้วยจุลภาค (เช่น 192.168.1.0/24, 10.0.0.0/8) เฉพาะ macOS

ค่าบูลีนยอมรับการเขียนต่อไปนี้ (ไม่คำนึงถึงตัวพิมพ์เล็กใหญ่): true/false, 1/0, yes/no, on/off.

หมายเหตุ: คีย์ที่ไม่รู้จักจะถูกเพิกเฉยพร้อมคำเตือน (จะไม่บล็อกการโหลดการกำหนดค่า) คีย์ที่สะกดผิด (เช่น force-derp เขียนเป็น force_derp) จะปิดตัวเลือกนั้นอย่างเงียบ ๆ — โปรดตรวจสอบกับตารางด้านบน

นโยบายในตัว TAILSCALE

เมื่อกำหนดค่าส่วน [Tailscale] แล้ว ตัวระบุนโยบายในตัว TAILSCALE จะพร้อมใช้งาน — มันอยู่เคียงข้าง DIRECT และ REJECT และสามารถอ้างอิงได้โดยตรงในกฎและกลุ่มนโยบาย เมื่อไม่ได้กำหนดค่าส่วน [Tailscale] หรือปิด Tailscale อยู่ กฎที่อ้างอิง TAILSCALE จะถอยกลับไปเป็น REJECT (fail-closed)

[Proxy Group]
Mesh = select, TAILSCALE, DIRECT

[Rule]
IP-CIDR,100.64.0.0/10,TAILSCALE,no-resolve
FINAL,DIRECT

การกำหนดเส้นทางอัตโนมัติ

เมื่อเปิดใช้งาน Tailscale Chute จะแทรกกฎสามข้อต่อไปนี้ไว้ข้างหน้ากฎทั้งหมดของคุณโดยอัตโนมัติ ดังนั้นโดยทั่วไปคุณ ไม่จำเป็นต้องเขียนกฎ สำหรับการเข้าถึง tailnet เอง:

DOMAIN-SUFFIX,ts.net,TAILSCALE
IP-CIDR,100.64.0.0/10,TAILSCALE,no-resolve
IP-CIDR6,fd7a:115c:a1e0::/48,TAILSCALE,no-resolve

กฎที่แทรกเหล่านี้เป็นแบบรันไทม์เท่านั้นและไม่แก้ไขไฟล์การกำหนดค่าของคุณ เมื่อตั้งค่า accept-routes = true ซับเน็ตที่เพียร์โฆษณาก็จะถูกแทรกเป็นกฎ IP-CIDR / IP-CIDR6 ที่เกี่ยวข้องโดยอัตโนมัติ และอัปเดตอัตโนมัติเมื่อเพียร์เพิ่มหรือถอนซับเน็ต

การใช้งาน

เข้าถึงอุปกรณ์ใน tailnet

เมื่อกำหนดค่าส่วน [Tailscale] แล้ว การเข้าถึงอุปกรณ์อื่นใน tailnet ไม่ต้องมีกฎเพิ่มเติม — กฎที่แทรกไว้ครอบคลุมช่วง tailnet และคำต่อท้าย MagicDNS อยู่แล้ว คุณสามารถระบุที่อยู่เพียร์โดยตรงด้วยชื่อ MagicDNS หรือ IP ของ tailnet:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
hostname = my-iphone

[Rule]
FINAL,DIRECT

ตอนนี้เป้าหมายเช่น my-pc.<tailnet>.ts.net หรือ 100.101.102.103 จะผ่าน Tailscale โดยอัตโนมัติ

ออกผ่าน exit node

ตั้งค่า TAILSCALE เป็นเป้าหมาย FINAL เพื่อส่งการรับส่งข้อมูลทั้งหมดที่ไม่ตรงกับกฎที่เจาะจงกว่าออกผ่าน exit node:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
exit-node = 100.101.102.103

[Rule]
FINAL,TAILSCALE

หมายเหตุ: การตั้งค่า exit-node เพียงอย่างเดียวจะไม่ส่งทราฟฟิกผ่าน exit node — คุณต้องเพิ่มกฎที่ส่งทราฟฟิกไปยัง TAILSCALE ด้วย (เช่น FINAL,TAILSCALE) หากไม่มีกฎดังกล่าว exit node จะถูกตั้งค่าไว้แต่ไม่ถูกใช้งาน ตัวแก้ไขการตั้งค่าของแอปจะแจ้งเตือนเรื่องนี้

ยอมรับเส้นทางซับเน็ต

เมื่ออุปกรณ์ใน tailnet ทำหน้าที่เป็น subnet router และโฆษณาซับเน็ตภายใน ให้เปิดใช้ accept-routes = true เพื่อเข้าถึงซับเน็ตเหล่านั้น; กฎการกำหนดเส้นทางที่เกี่ยวข้องจะถูกแทรกโดยอัตโนมัติ:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
accept-routes = true

ทำให้เครื่องนี้เป็น exit node (เฉพาะ macOS)

เฉพาะ macOS iOS และ tvOS ใช้ exit node ได้ แต่เป็น exit node เองไม่ได้ คีย์ด้านล่างจะถูกอ่านบนระบบเหล่านั้นเช่นกัน แต่จะถูกเตือนและข้ามไป

Mac ที่รัน Chute สามารถเป็น exit node ได้ด้วยตัวเอง เพื่อให้อุปกรณ์อื่นของคุณออกอินเทอร์เน็ตผ่านเครื่องนี้ เปิดใช้งานได้ที่ ตั้งค่า → Tailscale → ให้บริการเป็น exit node สำหรับอุปกรณ์อื่น หรือเขียนลงในไฟล์ตั้งค่าโดยตรง:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
advertise-exit-node = true

หากต้องการแบ่งปันเฉพาะเครือข่ายท้องถิ่นแทนการออกอินเทอร์เน็ตทั้งหมด ให้ระบุซับเน็ตที่ต้องการ:

[Tailscale]
auth-key = tskey-auth-xxxxxxxxxxxx
advertise-routes = 192.168.1.0/24, 10.0.0.0/8

การประกาศเป็นเพียงคำเสนอเท่านั้น ผู้ดูแลระบบต้องอนุมัติเส้นทางในคอนโซลผู้ดูแล Tailscale (หรือใช้ headscale nodes approve-routes) ก่อน อุปกรณ์อื่นจึงจะเลือก Mac เครื่องนี้ได้ ระหว่างนั้นแถบเมนูจะแสดง กำลังรอการอนุมัติในคอนโซลผู้ดูแล และจะยังไม่มีทราฟฟิกใด ๆ

เมื่ออนุมัติแล้ว อุปกรณ์อื่นจะเลือกใช้ได้เหมือน exit node ทั่วไป และแถบเมนูจะแสดงจำนวนการเชื่อมต่อที่ Mac เครื่องนี้กำลังรับส่งอยู่

มีบางเรื่องที่ควรทราบก่อนเปิดใช้งาน:

  • ทราฟฟิกจากอุปกรณ์อื่นจะใช้การเชื่อมต่ออินเทอร์เน็ตของ Mac เครื่องนี้ และออกไปด้วยหมายเลข IP ของเครื่องนี้ จึงถูกนับรวมกับการใช้งานของการเชื่อมต่อนี้ และถือว่ามาจากเครือข่ายนี้
  • บริการจะหยุดขณะที่ Mac เข้าสู่โหมดสลีป เปิด ไม่ให้ Mac หลับขณะให้บริการ ในเมนู Tailscale เพื่อให้เครื่องตื่นอยู่เฉพาะช่วงที่ได้รับอนุมัติและกำลังให้บริการ หากปิดฝาเครื่องก็ยังคงหลับ —— ไม่มีการตั้งค่าใดลบล้างข้อนี้ได้ และไคลเอนต์ macOS อย่างเป็นทางการของ Tailscale ก็มีข้อจำกัดเดียวกัน
  • ไม่มีการส่งต่อ ICMP ดังนั้นการ ping จากอุปกรณ์อื่นผ่าน exit node นี้จะไม่ได้รับการตอบกลับ ส่วน tailscale ping ไม่ได้รับผลกระทบเพราะไม่ได้ใช้ ICMP

ไคลเอนต์ iOS และ tvOS อย่างเป็นทางการของ Tailscale ก็มีข้อจำกัดเดียวกันด้วยเหตุผลเดียวกัน คือส่วนขยายเครือข่ายไม่สามารถรองรับเส้นทางส่งต่อที่ทำงานต่อเนื่องยาวนานได้

เซิร์ฟเวอร์ควบคุมที่กำหนดเอง (Headscale)

นอกเหนือจาก control plane ทางการ Chute ยังรองรับเซิร์ฟเวอร์ควบคุม Headscale / Ionscale ที่โฮสต์เอง เพียงกรอก URL ที่เกี่ยวข้อง:

[Tailscale]
auth-key = your-headscale-preauth-key
control-server = https://headscale.example.com
hostname = my-device

เซิร์ฟเวอร์ควบคุมของบุคคลที่สามไม่บังคับคำนำหน้า tskey- และยอมรับ auth key ของตัวเอง การใช้ที่อยู่ http:// แบบข้อความเปล่าแนะนำเฉพาะในเครือข่ายที่เชื่อถือได้ (เช่น Headscale ที่โฮสต์เองในเครื่อง)

ข้อจำกัดที่ทราบและแนวทางปฏิบัติแนะนำ

การใช้งาน Tailscale เน้นไปที่ความสามารถที่ใช้บ่อยที่สุดในสถานการณ์พร็อกซี; ฟีเจอร์บางอย่างของไคลเอนต์ทางการยังไม่รองรับ โปรดทราบความแตกต่างของพฤติกรรมต่อไปนี้:

  1. ใช้ force-derp = true เป็นตัวเลือกสำหรับแก้ไขปัญหาเท่านั้น. โดยปกติ Chute จะเลือกการเชื่อมต่อ UDP โดยตรงกับเพียร์ (disco hole-punching) ซึ่งมักมีเวลาแฝงต่ำกว่าและปริมาณงานสูงกว่า DERP relay หากการเชื่อมต่อโดยตรงไม่เสถียรอย่างต่อเนื่องหรือช้ากว่า DERP บนเครือข่ายใดเครือข่ายหนึ่ง ให้เปรียบเทียบทั้งสองโหมดและเปิด force-derp เฉพาะในสภาพแวดล้อมนั้น

  2. รองรับเฉพาะการล็อกอินด้วย auth key. ไม่รองรับ SSO / การล็อกอินผ่านเบราว์เซอร์แบบโต้ตอบ, Tailscale SSH, Taildrop และ Funnel / serve บน iOS และ tvOS Chute ไม่สามารถประกาศเส้นทางซับเน็ตภายในหรือให้อุปกรณ์นี้ทำหน้าที่เป็น exit node ได้ — แพลตฟอร์มเหล่านี้เข้าร่วมในฐานะผู้ใช้เส้นทางเท่านั้น ส่วนบน macOS รองรับทั้งสองอย่าง ดูหัวข้อ "ทำให้เครื่องนี้เป็น exit node (เฉพาะ macOS)" ด้านบน

  3. เมื่อใช้ exit node การแก้ชื่อ DNS ทั่วทั้งระบบยังคงเกิดขึ้นภายในเครื่อง แต่ชื่อโฮสต์ที่เชื่อมต่อผ่าน TAILSCALE จะถูกแก้ผ่าน exit node. ชื่อ MagicDNS จะถูกแก้จากแผนที่ tailnet ภายในเครื่อง สำหรับการเชื่อมต่อที่กำหนดเส้นทางผ่าน exit node ชื่อโฮสต์จะถูกแก้ผ่าน DNS ของ exit node (peerapi ExitDNS หรือ resolver ที่ตั้งผ่าน exit-dns); ตั้งค่า exit-dns = off เพื่อให้การแก้ชื่อยังคงอยู่ภายในเครื่อง ไม่รองรับ resolver ส่วนกลางหรือ resolver แบบ split-DNS ที่อยู่ในเครือข่ายปลายทาง

  4. MagicDNS รองรับเฉพาะระเบียน A / AAAA. Global Resolvers, เส้นทาง split-DNS (รายการที่มี resolver เฉพาะ) และ ExtraRecords ที่ไม่ใช่ที่อยู่ (TXT / CNAME / SRV) จะถูกเพิกเฉย; เมื่อตรวจพบจะบันทึกคำเตือนในล็อก

  5. MTU ภายในของเส้นทางโดยตรงถูกตั้งค่าไว้ที่ 1280. ไม่มีการค้นพบ Path MTU; ค่าอนุรักษ์นิยมนี้ป้องกัน black hole บนลิงก์ PPPoE / อุโมงค์ซ้อน เส้นทาง DERP relay ไม่ได้รับผลกระทบ

  6. ไม่รองรับ Tailnet Lock (การล็อกเครือข่าย). ใน tailnet ที่เปิดใช้การล็อกเครือข่าย คีย์ของโหนดนี้จะไม่ถูกเซ็นชื่อ และเพียร์ที่ล็อกไว้จะทิ้งการรับส่งข้อมูลจากอุปกรณ์นี้อย่างเงียบ ๆ

  7. ไม่รองรับ Mullvad exit และกรณีอื่นที่ต้องเขียนที่อยู่ต้นทางใหม่. ฟีเจอร์ exit node ที่ต้องเขียนที่อยู่ IP ต้นทางภายในเครื่องใหม่ยังไม่ได้รับการใช้งาน

  8. การกู้คืนหลังจากการเปลี่ยนเครือข่ายขึ้นอยู่กับการแจ้งเตือนของระบบ. เมื่อสลับ Wi-Fi / เซลลูลาร์ Chute จะสร้างการเชื่อมต่อใหม่ทันที; ในกรณีที่พบน้อยที่ไม่ได้รับการแจ้งเตือนการเปลี่ยนเครือข่าย การกู้คืนจะถอยกลับไปเป็นการเชื่อมต่อใหม่ผ่าน watchdog ประมาณ 3 นาที

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 11:36:57

หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก

results matching ""

    No results matching ""