نیمی از دقت مسیریابی DNS است: با تفکیک مسموم، بهترین قواعد هم به جای غلط وصل می‌شوند. Clash یک سرور DNS داخلی دارد که با تنظیم درست، هم آلودگی و هم کندی تفکیک را درمان می‌کند.

پیکربندی پایه

dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 1.1.1.1              # تفکیک‌گرهای روزمره
    - 8.8.8.8
  fallback:                # رمز شده - در برابر آلودگی
    - https://1.1.1.1/dns-query
    - tls://8.8.8.8:853
  fallback-filter:
    geoip: true
    geoip-code: CN

nameserver کارهای عادی را انجام می‌دهد؛ fallback با DNS رمز شده پشتیبان است. با fallback-filter، پاسخ‌های داخلی از اولی و پاسخ‌های مشکوک (IP خارجی) از fallback پذیرفته می‌شوند.

حالت fake-ip (پیشنهادی)

برنامه که تفکیک می‌خواهد، Clash فوری آدرسی «قلابی» از بازه رزروشده (198.18.x.x) می‌دهد و نگاشت را یادش می‌ماند. برنامه به IP قلابی وصل می‌شود؛ Clash هنگام اتصال دامنه را بازیابی می‌کند، قواعد را با نام می‌سنجد و تفکیک واقعی را نود در آن‌سو انجام می‌دهد. مزایا:

  • تأخیر تفکیک صفر (رفت‌وبرگشت DNS واقعی حذف می‌شود)؛
  • قواعد دامنه همیشه می‌گیرند (اتصال دامنه‌اش را حمل می‌کند)؛
  • تفکیک واقعی محلی نداریم - ذاتاً ضدآلودگی و ضدنشت.

حالت redir-host

IP واقعی برمی‌گرداند؛ انطباق با IP انجام می‌شود. برای موارد سازگاری (نرم‌افزاری که IP را می‌سنجد یا واقعاً آدرس واقعی می‌خواهد). بهایش تفکیک کندتر و خطر نشت بیشتر. برای روزمره: fake-ip.

fake-ip-filter: استثناها

چند سناریو IP واقعی می‌خواهند (کشف دستگاه‌های LAN، برخی لانچرهای بازی، بررسی اتصال ویندوز). آن‌ها را فهرست کنید تا از fake-ip معاف شوند:

  fake-ip-filter:
    - "*.lan"
    - "+.stun.*.*"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"

اعمال و تأیید

  • اشتراک‌ها معمولاً بخش dns دارند؛ برای بازنویسی از Mixin تزریق کنید.
  • حالت TUN به DNS داخلی نیاز دارد، ترجیحاً با fake-ip (به‌همراه dns-hijack).
  • تأیید: nslookup google.com 127.0.0.1 با پاسخ 198.18.x.x یعنی fake-ip فعال است.
نکته: اگر بعد از fake-ip برنامه‌ای بدرفتار شد، احتمالاً با آدرس قلابی کار خاصی می‌کند - دامنه‌هایش را به fake-ip-filter بیفزایید و دوباره امتحان کنید.