การกำหนดค่า 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 |
ค่าบูลีนยอมรับการเขียนต่อไปนี้ (ไม่คำนึงถึงตัวพิมพ์เล็กใหญ่): 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
เซิร์ฟเวอร์ควบคุมที่กำหนดเอง (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 เน้นไปที่ความสามารถที่ใช้บ่อยที่สุดในสถานการณ์พร็อกซี; ฟีเจอร์บางอย่างของไคลเอนต์ทางการยังไม่รองรับ โปรดทราบความแตกต่างของพฤติกรรมต่อไปนี้:
ใช้
force-derp = trueเป็นตัวเลือกสำหรับแก้ไขปัญหาเท่านั้น. โดยปกติ Chute จะเลือกการเชื่อมต่อ UDP โดยตรงกับเพียร์ (disco hole-punching) ซึ่งมักมีเวลาแฝงต่ำกว่าและปริมาณงานสูงกว่า DERP relay หากการเชื่อมต่อโดยตรงไม่เสถียรอย่างต่อเนื่องหรือช้ากว่า DERP บนเครือข่ายใดเครือข่ายหนึ่ง ให้เปรียบเทียบทั้งสองโหมดและเปิดforce-derpเฉพาะในสภาพแวดล้อมนั้นรองรับเฉพาะการล็อกอินด้วย auth key. ไม่รองรับ SSO / การล็อกอินผ่านเบราว์เซอร์แบบโต้ตอบ, Tailscale SSH, Taildrop และ Funnel / serve นอกจากนี้ Chute ไม่สามารถประกาศเส้นทางซับเน็ตภายในหรือให้อุปกรณ์นี้ทำหน้าที่เป็น exit node ได้ และเข้าร่วมในฐานะผู้ใช้เส้นทางเท่านั้น
เมื่อใช้ 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 ที่อยู่ในเครือข่ายปลายทางMagicDNS รองรับเฉพาะระเบียน A / AAAA. Global Resolvers, เส้นทาง split-DNS (รายการที่มี resolver เฉพาะ) และ ExtraRecords ที่ไม่ใช่ที่อยู่ (TXT / CNAME / SRV) จะถูกเพิกเฉย; เมื่อตรวจพบจะบันทึกคำเตือนในล็อก
MTU ภายในของเส้นทางโดยตรงถูกตั้งค่าไว้ที่ 1280. ไม่มีการค้นพบ Path MTU; ค่าอนุรักษ์นิยมนี้ป้องกัน black hole บนลิงก์ PPPoE / อุโมงค์ซ้อน เส้นทาง DERP relay ไม่ได้รับผลกระทบ
ไม่รองรับ Tailnet Lock (การล็อกเครือข่าย). ใน tailnet ที่เปิดใช้การล็อกเครือข่าย คีย์ของโหนดนี้จะไม่ถูกเซ็นชื่อ และเพียร์ที่ล็อกไว้จะทิ้งการรับส่งข้อมูลจากอุปกรณ์นี้อย่างเงียบ ๆ
ไม่รองรับ Mullvad exit และกรณีอื่นที่ต้องเขียนที่อยู่ต้นทางใหม่. ฟีเจอร์ exit node ที่ต้องเขียนที่อยู่ IP ต้นทางภายในเครื่องใหม่ยังไม่ได้รับการใช้งาน
การกู้คืนหลังจากการเปลี่ยนเครือข่ายขึ้นอยู่กับการแจ้งเตือนของระบบ. เมื่อสลับ Wi-Fi / เซลลูลาร์ Chute จะสร้างการเชื่อมต่อใหม่ทันที; ในกรณีที่พบน้อยที่ไม่ได้รับการแจ้งเตือนการเปลี่ยนเครือข่าย การกู้คืนจะถอยกลับไปเป็นการเชื่อมต่อใหม่ผ่าน watchdog ประมาณ 3 นาที
หน้านี้แปลโดย AI หากต้องการข้อมูลที่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ