เซิร์ฟเวอร์ DNS

คุณสามารถใช้ตัวเลือกนี้เพื่อแทนที่การตั้งค่า DNS ของระบบ Chute รองรับเซิร์ฟเวอร์ DNS, DoH (DNS-over-HTTPS), DoT (DNS-over-TLS), DoQ (DNS-over-QUIC) และ DoH3 (DNS-over-HTTP/3)

[General]
dns-server = 8.8.8.8, 8.8.4.4
doh = cloudflare, google, 1111
dot = dns.google, cloudflare-dns.com
doq = dns.adguard.com
doh3 = https://dns.google/dns-query

คุณสามารถใช้คำสำคัญ system เพื่อเพิ่มเซิร์ฟเวอร์ DNS เพิ่มเติมในการตั้งค่าของระบบ (เซิร์ฟเวอร์ที่ซ้ำกันจะถูกละเว้น)

คุณสามารถใช้คำสำคัญ syslib เพื่อรับผลลัพธ์ DNS ด้วย API ในตัวของระบบ บน macOS syslib ระดับพูลจะถูกข้ามขณะที่อินเทอร์เฟซ TUN ทำงานอยู่ เพราะรีโซลเวอร์ของระบบตอนนั้นชี้กลับมาที่ Chute เอง ส่วน server:syslib ใน [Host] และเส้นทางของ .local ยังคงใช้มันอยู่

[General]
dns-server = system, syslib, 8.8.8.8, 8.8.4.4

รายการสามารถระบุพอร์ตได้ เช่น 192.0.2.53:5353 หรือ [2001:db8::1]:5353 สำหรับ IPv6 ทั้งนี้ dns-server ไม่รับชื่อโฮสต์ หากต้องการใช้รีโซลเวอร์ที่ระบุด้วยชื่อ ให้ใช้ DoH, DoT, DoQ หรือ DoH3 รายการเหล่านั้นเขียนไว้ตรงนี้ได้เช่นกันโดยระบุสคีม — https://, tls://, quic:// หรือ h3:// — แล้วจะถูกจัดเข้า doh, dot, doq หรือ doh3 เช่นเดียวกับใน encrypted-dns-server

ปัจจุบันมีบริการ DoH ในตัว 5 รายการ ตัวระบุเป็นตัวพิมพ์เล็กและต้องตรงตามตัวพิมพ์ใหญ่-เล็ก:

  • cloudflare (Cloudflare)
  • google (Google)
  • 1111 (1.1.1.1)
  • securedns (SecureDNS)
  • dnssb (DNS.SB)

คุณยังสามารถกำหนดค่าบริการ DoH ส่วนตัวของคุณได้ ตัวอย่างเช่น หากคุณใช้ https://dns.nextdns.io/xxxxxx เป็นปลายทาง NextDNS DoH ของคุณ คุณสามารถกำหนดค่าได้ดังนี้:

[General]
doh = google, dns.nextdns.io/xxxxxx

รายการ DoH ที่ไม่ถูกต้องจะถูกรายงานเป็นข้อผิดพลาดของการกำหนดค่า และบรรทัด doh จะถูกปฏิเสธ

เพื่อความเข้ากันได้กับการกำหนดค่า Surge การสะกด doh-server และ doh-service ได้รับการยอมรับเป็นชื่อแฝงของ doh


บริการ DNS-over-TLS (DoT)

คุณสามารถกำหนดค่าบริการ DoT เพื่อเข้ารหัสคำถาม DNS ผ่าน TLS

[General]
dot = dns.google, cloudflare-dns.com

แต่ละรายการบริการ DoT ควรเป็นชื่อโดเมนที่รองรับ DNS-over-TLS Chute จะเชื่อมต่อกับชื่อโฮสต์บนพอร์ต 853 โดยค่าเริ่มต้น รายการยังสามารถเขียนเป็น host:port หรือ host:port:peer-name (ใช้ [IPv6]:port สำหรับที่อยู่ IPv6) เพื่อเขียนทับพอร์ตและชื่อเพียร์ TLS

หากแปลงชื่อโฮสต์ DoT ไม่ได้หรือไม่สามารถเข้าถึงได้ จะถูกข้ามอย่างเงียบ ๆ

คุณสามารถผสม DoT, DoH, DoQ, DoH3 และเซิร์ฟเวอร์ DNS ธรรมดาในการกำหนดค่าเดียวกัน:

[General]
dns-server = system, 8.8.8.8
doh = cloudflare
dot = dns.google
doq = dns.adguard.com
doh3 = https://dns.google/dns-query

บริการ DNS-over-QUIC (DoQ)

คุณสามารถกำหนดค่าเซิร์ฟเวอร์ DoQ เพื่อเข้ารหัสคำถาม DNS ผ่าน QUIC

[General]
doq = dns.adguard.com

แต่ละรายการ DoQ ควรเป็นชื่อโดเมนหรือที่อยู่ IP ที่รองรับ DNS-over-QUIC พอร์ต 853 จะถูกใช้โดยค่าเริ่มต้น รายการยังสามารถเขียนเป็น host:port หรือ host:port:peer-name (ใช้ [IPv6]:port สำหรับที่อยู่ IPv6) เพื่อเขียนทับพอร์ตและชื่อเพียร์ TLS Chute ใช้การขนส่ง QUIC สำหรับคำถาม DNS ซึ่งให้ความหน่วงที่ลดลงเมื่อเทียบกับการเข้ารหัส DNS แบบ TCP

สามารถระบุเซิร์ฟเวอร์ DoQ หลายตัวโดยคั่นด้วยคอมมา:

[General]
doq = dns.adguard.com, dns.nextdns.io

หากเซิร์ฟเวอร์ DoQ ไม่สามารถเข้าถึงได้ มันจะถูกข้ามอย่างเงียบ ๆ


บริการ DNS-over-HTTP/3 (DoH3)

คุณสามารถกำหนดค่าบริการ DoH3 สำหรับ DNS-over-HTTPS โดยใช้การขนส่ง HTTP/3 (QUIC)

[General]
doh3 = https://dns.google/dns-query

แต่ละรายการ DoH3 ควรเป็น URL HTTPS แบบเต็มไปยังรีโซลเวอร์ DNS ที่รองรับ HTTP/3 สามารถระบุเซิร์ฟเวอร์ DoH3 หลายตัวโดยคั่นด้วยคอมมา:

[General]
doh3 = https://dns.google/dns-query, https://cloudflare-dns.com/dns-query

DoH3 รวมความเป็นส่วนตัวของ DNS-over-HTTPS กับประโยชน์ด้านประสิทธิภาพของการขนส่ง QUIC หากเซิร์ฟเวอร์ DoH3 ไม่รองรับ HTTP/3 หรือไม่สามารถเข้าถึงได้ มันจะถูกข้ามอย่างเงียบ ๆ


DNS over TCP

[General]
dns-server = tcp://8.8.8.8, tcp://[2001:4860:4860::8888]:53

รีโซลเวอร์ที่เขียนเป็น tcp://IP[:port] จะถูกสอบถามผ่าน TCP (RFC 7766) แทน UDP พอร์ตค่าเริ่มต้นคือ 53 ใช้กับเครือข่ายที่ทิ้งหรือดัดแปลง DNS ผ่าน UDP รับได้ทุกที่ที่รับรีโซลเวอร์ธรรมดา: ใน dns-server, พูล DNS เฉพาะ, dns-server= ของรายการระงับตาม SSID และรายการ server: ใน [Host] เช่นเดียวกับรีโซลเวอร์ธรรมดา รับเฉพาะที่อยู่ IP — ไม่รับชื่อโฮสต์, system หรือ syslib ตัวเลือกรายเซิร์ฟเวอร์ เช่น #disable-qtype= ใช้ได้ตามปกติ เมื่อใส่ #proxy การสอบถามจะส่งผ่านนโยบายนั้น โดยใช้ TCP เช่นเดียวกับการสอบถามธรรมดาทุกรายการที่ผ่านนโยบาย encrypted-dns-server ไม่รับรายการนี้


พูล DNS เฉพาะ

นอกจากพูลหลักข้างต้นแล้ว ยังมีพูลเสริมอีกสามพูลที่ใช้กับชื่อเฉพาะ:

[General]
direct-dns-server = 223.5.5.5, https://doh.pub/dns-query, system
proxy-dns-server = 1.1.1.1, tls://dns.google
fallback-dns-server = 8.8.8.8

direct-dns-server

แปลงชื่อโดเมนที่ผลการตัดสินของกฎเป็น DIRECT: การค้นหาที่ Chute ทำเองเมื่อเปิดการเชื่อมต่อโดยตรง และคำถามของแอปเมื่อคำถามนั้นมาถึงรีโซลเวอร์ของ Chute — คำถามที่ส่งมายังพอร์ตรับฟัง DNS ของ Chute, คำถามสำหรับชื่อที่อยู่ในรายการ always-real-ip หรือคำถามประเภทระเบียนอื่นนอกเหนือจาก A และ AAAA ภายใต้ TUN คำถาม A และ AAAA ของแอปจะไปไม่ถึงรีโซลเวอร์นั้น: ชั้น IP ปลอมจะตอบคำถามเหล่านั้นโดยตรง ไม่ว่ากฎจะระบุไว้อย่างไร ที่นี่จะพิจารณาเฉพาะกฎแบบโดเมนเท่านั้น ดังนั้นคำถามจากแอปสำหรับโดเมนที่ไม่มีกฎโดเมนใดตรงกัน — โดเมนที่ผลการตัดสินขึ้นอยู่กับกฎ IP อย่าง IP-CIDR หรือ GEOIP — จะเดินตาม FINAL: ใช้พูลนี้เมื่อ FINAL เป็น DIRECT และใช้พูลหลักเมื่อ FINAL เป็นพร็อกซี ส่วนการค้นหาที่ Chute ทำเองสำหรับโดเมนแบบนั้นจะใช้พูลหลัก เพราะการเชื่อมต่อยังไม่ได้ผูกกับ DIRECT หากไม่ได้ตั้งค่าคีย์นี้ พูลหลักจะตอบทุกคำถาม

proxy-dns-server

แปลงชื่อโฮสต์ของเซิร์ฟเวอร์พร็อกซีของคุณ หากไม่ได้ตั้งค่าคีย์นี้ ชื่อเหล่านั้นจะใช้พูลหลัก

fallback-dns-server

จะถูกสอบถามหนึ่งครั้งเมื่อพูลหลักไม่ส่งคำตอบใดกลับมาเลย ก่อนที่การค้นหาจะล้มเหลว เช่นเดียวกับคีย์ DNS อื่น ๆ คีย์นี้เขียนได้ใน [General] หรือ [DNS] และเขียนได้เพียงครั้งเดียว

รายการในพูลเหล่านี้ผสมการขนส่งได้หลายแบบ: ip[:port], [v6][:port], system, syslib, URL ของ DoH (https://…), tls://host[:port] สำหรับ DoT, quic://host[:port] สำหรับ DoQ และ h3://… สำหรับ DoH3 รายการ DNS ธรรมดา, DoH, DoT, DoQ และ DoH3 ลงท้ายด้วยส่วนต่อท้าย #proxyได้ — system#proxy และ syslib#proxy จะถูกข้ามพร้อมคำเตือน เมื่อ direct-dns-server หรือ proxy-dns-server ไม่ส่งคำตอบกลับมา การสอบถามจะถูกลองใหม่ผ่านพูลหลัก แต่ละคีย์เขียนได้เพียงครั้งเดียว รายการ tcp://IP[:port] จะสอบถามผ่าน DNS over TCP

เพื่อความเข้ากันได้กับ Shadowrocket คีย์ dns-direct-system = true จะถูกอ่านเป็น direct-dns-server = system และบันทึกในรูปแบบนั้น ในทำนองเดียวกัน dns-fallback-system = true จะเพิ่ม system ต่อท้าย fallback-dns-server และหากโปรไฟล์ประกาศ fallback-dns-server ไว้ด้วย ทั้งสองจะถูกรวมเป็นพูลเดียว


ตัวเลือก DNS แบบเข้ารหัส

encrypted-dns-server

encrypted-dns-server = https://dns.google/dns-query, tls://dns.google, quic://dns.adguard.com, h3://cloudflare-dns.com/dns-query

รายการเดียวของ Surge สำหรับรีโซลเวอร์แบบเข้ารหัส แต่ละรายการจะถูกจัดเข้า doh, dot, doq หรือ doh3 ตามสคีม (https://, tls://, quic://, h3://) ส่วน tcp:// และ scheme อื่นจะถูกละเว้นพร้อมข้อความแจ้ง หากต้องการ DNS over TCP ให้เขียน tcp:// ใน dns-server หรือพูลเฉพาะแทน — ดู DNS over TCP

encrypted-dns-follow-outbound-mode (ค่าเริ่มต้น: false)

encrypted-dns-follow-outbound-mode = true

ทำให้การเชื่อมต่อไปยังอัปสตรีม DoH, DoT, DoQ และ DoH3 ทำตามโหมดขาออกและกฎเหมือนคำขออื่น ๆ: เชื่อมต่อโดยตรงในโหมดตรง ใช้นโยบายที่เลือกไว้ในโหมดสากล และในโหมดกฎ ใช้นโยบายของกฎที่ตรงกัน โดยกฎ PROTOCOL,DOH, PROTOCOL,DOT, PROTOCOL,DOQ และ PROTOCOL,DOH3 จับการเชื่อมต่อเหล่านี้ได้ อัปสตรีมที่ผลการตัดสินเป็น REJECT จะถูกข้าม DoQ และ DoH3 ใช้ QUIC การเชื่อมต่อของมันจึงผ่านรีเลย์ UDP ของนโยบายที่เลือก เมื่อนโยบายนั้น (หากเป็นกลุ่มคือตัวเลือกปัจจุบัน) ไม่รับส่ง UDP จะตัดสินตาม udp-policy-not-supported-behaviour: REJECT ซึ่งเป็นค่าเริ่มต้นจะข้ามอัปสตรีมนั้น ส่วน DIRECT จะสอบถามโดยตรง

encrypted-dns-skip-cert-verification (ค่าเริ่มต้น: false)

encrypted-dns-skip-cert-verification = true

ไม่ตรวจสอบใบรับรองของอัปสตรีม DoH, DoT, DoQ และ DoH3 ใช้กับรีโซลเวอร์ที่ใช้ใบรับรองแบบลงนามเอง และทำให้ไม่มีการป้องกันการปลอมตัวเป็นรีโซลเวอร์อีกต่อไป


ส่งการสอบถามผ่านนโยบาย

[General]
dns-server = 1.1.1.1#proxy, 8.8.8.8#proxy=HK
doh = https://dns.google/dns-query#proxy=Proxy%20Group
doq = dns.adguard.com#proxy=HK

รายการใน dns-server, doh, dot, doq, doh3 หรือพูลเฉพาะใดก็ได้ สามารถลงท้ายด้วย #proxy หรือ #proxy=<policy> เพื่อให้การสอบถามส่งผ่านนโยบายนั้นแทนการเชื่อมต่อโดยตรง #proxy อย่างเดียวจะใช้นโยบายที่เลือกไว้สำหรับโหมดสากล หรือถ้าไม่มี จะใช้นโยบายของกฎ FINAL ส่วน #proxy=<name> ระบุนโยบายหรือกลุ่ม โดยเขียนช่องว่างเป็น %20 รายการ DNS ธรรมดาจะเปลี่ยนไปใช้ DNS over TCP เพราะไม่ใช่ทุกนโยบายที่ส่งต่อ UDP ได้ รายการ DoQ หรือ DoH3 ยังใช้ QUIC และการเชื่อมต่อของมันจะผ่านรีเลย์ UDP ของนโยบาย เมื่อนโยบาย (หากเป็นกลุ่มคือตัวเลือกปัจจุบัน) ไม่รับส่ง UDP อัปสตรีมนั้นจะถูกข้ามพร้อมคำเตือน และจะไม่ถูกสอบถามโดยตรงเลย หากนโยบายไม่มีอยู่หรือผลลัพธ์เป็น REJECT อัปสตรีมนั้นจะถูกข้าม การค้นหาชื่อโฮสต์ของเซิร์ฟเวอร์พร็อกซีเองจะไม่ใช้อัปสตรีมที่ผ่านพร็อกซีเลย


ตัวเลือกรายเซิร์ฟเวอร์

[General]
dns-server = 1.1.1.1#disable-ipv6, 8.8.8.8#disable-qtype=65
doh = https://dns.google/dns-query#h3=true, https://10.0.0.1/dns-query#skip-cert-verify=true

ส่วนท้าย # เดียวกันนี้ยังรับตัวเลือกที่มีผลเฉพาะกับเซิร์ฟเวอร์นั้นด้วย หลายตัวเชื่อมด้วย & และละ =true ได้:

  • h3=true — สอบถามเซิร์ฟเวอร์ DoH นั้นผ่าน HTTP/3 แทน HTTP/2
  • skip-cert-verify=true — ไม่ตรวจสอบใบรับรองของอัปสตรีมนี้เพียงรายเดียว สำหรับเซิร์ฟเวอร์นั้นการป้องกันรีโซลเวอร์ปลอมจะหายไป เช่นเดียวกับที่ encrypted-dns-skip-cert-verification ทำกับอัปสตรีมทุกรายการ
  • disable-ipv4=true / disable-ipv6=true — ไม่ถามระเบียน A / AAAA จากเซิร์ฟเวอร์นี้เลย
  • disable-qtype=65 — ไม่ถามระเบียนชนิดนั้นเลย disable-qtype-65 มีความหมายเดียวกัน และรายการที่คั่นด้วยจุลภาคจะปิดได้หลายชนิดพร้อมกัน: 8.8.8.8#disable-qtype=65,64 คือหนึ่งรายการที่ปิดทั้งสองชนิด การตัดเป็นรายการนั้นรู้จักส่วนท้าย # อยู่แล้ว จุลภาคที่อยู่นอกส่วนท้ายจึงยังคงแยกเซิร์ฟเวอร์ตามเดิม — 8.8.8.8#proxy, 1.1.1.1 คือสองเซิร์ฟเวอร์

เซิร์ฟเวอร์ที่ปิดชนิดคำถามไว้จะถูกข้ามก่อนส่งการสอบถาม จึงไม่กินทั้งจำนวนครั้งที่ลองและเวลารอ และเมื่อทุกเซิร์ฟเวอร์ในพูลปฏิเสธชนิดนั้น การค้นหาจะล้มเหลวทันทีแทนที่จะรอคำตอบที่ไม่มีใครส่ง


คำถาม HTTPS และ SVCB

allow-dns-svcb = true

ปิดไว้เป็นค่าเริ่มต้น: คำถาม HTTPS (ประเภท 65) และ SVCB (ประเภท 64) จากแอปจะได้รับคำตอบ NOERROR ว่างแทนการส่งต่อ เพราะคำใบ้ที่อยู่ในระเบียนเหล่านี้จะทำให้แอปเชื่อมต่อเลี่ยง IP ปลอมและกฎได้ ตั้งเป็น true เพื่อส่งต่อ สวิตช์นี้ครอบคลุมคำถามที่แอปส่งผ่าน TUN ด้วย ทั้งที่ส่งไปยังที่อยู่ DNS ของ Chute เองและที่ส่งไปยังรีโซลเวอร์ที่ hijack-dns ไฮแจ็กไว้ การค้นหา ECH ของ Chute เองไม่ได้รับผลกระทบ

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

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

results matching ""

    No results matching ""