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

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

ต่างจากโปรโตคอลพร็อกซีทั่วไป 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 ได้ทีละอันเท่านั้น รูปแบบที่มีชื่อของ Surge คือ [Tailscale <ชื่อ>] จะถูกอ่านเป็นส่วนนี้ โดยข้อจำกัดว่ามีได้เพียงส่วนเดียวยังคงมีผล

พารามิเตอร์

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

ยอมรับการสะกดแบบ Surge เป็นชื่อแฝง: control-url แทน control-server และ derp-only แทน force-derp

ค่าบูลีนยอมรับการเขียนต่อไปนี้ (ไม่คำนึงถึงตัวพิมพ์เล็กใหญ่): 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

เมื่อโดเมนฐานของ MagicDNS ของ tailnet ไม่ใช่ ts.net — เช่นการติดตั้งแบบ Headscale — กฎ DOMAIN-SUFFIX,<โดเมนฐาน>,TAILSCALE จะถูกแทรกให้ด้วย โดยอยู่ก่อนกฎของ accept-routes

กฎที่แทรกเหล่านี้เป็นแบบรันไทม์เท่านั้นและไม่แก้ไขไฟล์การกำหนดค่าของคุณ เมื่อตั้งค่า 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 โดยอัตโนมัติ

ออกผ่านโหนดทางออก

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

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

[Rule]
FINAL,TAILSCALE

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

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

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

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

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

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

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

[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 เครื่องนี้ได้ ระหว่างนั้นแถบเมนูจะแสดง กำลังรอการอนุมัติในคอนโซลผู้ดูแล และจะยังไม่มีทราฟฟิกใด ๆ

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

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

  • ทราฟฟิกจากอุปกรณ์อื่นจะใช้การเชื่อมต่ออินเทอร์เน็ตของ Mac เครื่องนี้ และออกไปด้วยหมายเลข IP ของเครื่องนี้ จึงถูกนับรวมกับการใช้งานของการเชื่อมต่อนี้ และถือว่ามาจากเครือข่ายนี้
  • บริการจะหยุดขณะที่ Mac เข้าสู่โหมดสลีป เปิด ไม่ให้ Mac หลับขณะให้บริการ ในเมนู Tailscale เพื่อให้เครื่องตื่นอยู่เฉพาะช่วงที่ได้รับอนุมัติและกำลังให้บริการ หากปิดฝาเครื่องก็ยังคงหลับ — ไม่มีการตั้งค่าใดลบล้างข้อนี้ได้ และไคลเอนต์ macOS อย่างเป็นทางการของ Tailscale ก็มีข้อจำกัดเดียวกัน
  • ไม่มีการส่งต่อ ICMP ดังนั้นการ ping จากอุปกรณ์อื่นผ่านโหนดทางออกนี้จะไม่ได้รับการตอบกลับ ส่วน 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 และ Android Chute ไม่สามารถประกาศเส้นทางซับเน็ตภายในหรือให้อุปกรณ์นี้ทำหน้าที่เป็นโหนดทางออกได้ — แพลตฟอร์มเหล่านี้เข้าร่วมในฐานะผู้ใช้เส้นทางเท่านั้น ส่วนบน macOS รองรับทั้งสองอย่าง ดูหัวข้อ "ทำให้เครื่องนี้เป็นโหนดทางออก (เฉพาะ macOS)" ด้านบน

  3. เมื่อใช้โหนดทางออกการแปลงชื่อ DNS ทั่วทั้งระบบยังคงทำในเครื่อง แต่ชื่อโฮสต์ที่เชื่อมต่อผ่าน TAILSCALE จะถูกแปลงชื่อผ่านโหนดทางออก ชื่อ MagicDNS จะถูกแปลงชื่อจากแผนที่ tailnet ในเครื่อง สำหรับการเชื่อมต่อที่กำหนดเส้นทางผ่านโหนดทางออกชื่อโฮสต์จะถูกแปลงชื่อผ่าน DNS ของโหนดทางออก (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; ค่าที่ตั้งไว้อย่างระมัดระวังนี้ช่วยเลี่ยงหลุมดำบนลิงก์ PPPoE / ทันเนลซ้อน เส้นทาง DERP relay ไม่ได้รับผลกระทบ

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

  7. การเขียนที่อยู่ต้นทางใหม่ถูกใช้งานแล้ว แต่โหนดทางออกของ Mullvad ยังไม่ได้ทดสอบ ที่อยู่ masquerade ตาม capVer-104 ที่เพียร์อาจกำหนดให้ (SelfNodeV4MasqAddrForThisPeer และคู่ v6) ได้รับการปฏิบัติตาม ทราฟฟิกที่ส่งไปยังเพียร์นั้นจึงใช้ที่อยู่ตามที่ร้องขอ ส่วนกลไกของ Mullvad ที่สร้างอยู่บนสิ่งนี้ยังไม่ได้ทดสอบกับบริการจริง

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

  9. จำนวนเพียร์ถูกจำกัดบนอุปกรณ์พกพา บน iOS, tvOS และ Android netmap จะถูกตัดให้เหลือ 256 เพียร์ — เก็บเพียร์ที่มี node ID ต่ำสุดไว้ ส่วนที่เหลือถูกทิ้งพร้อมคำเตือนหนึ่งครั้ง; macOS เก็บทั้งหมด

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-30 15:11:19

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

results matching ""

    No results matching ""