راهنمای دانلود Clash Metaدانلود کلاینت mihomo

تنظیمات DNS در mihomo: تفاوت fake-ip و redir-host

پیکربندی و اشتراک 11 ژوئیه 2026 4 دقیقه مطالعه
فهرست مطلب

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

به همین دلیل mihomo حل‌کننده نام مخصوص خودش را دارد و در بیشتر پیکربندی‌ها این کار را کاملاً در دست می‌گیرد. قلب این بخش فیلد enhanced-mode است که دو مقدار می‌پذیرد: fake-ip و redir-host. در ادامه می‌بینیم هرکدام واقعاً چه می‌کنند، چه زمانی fake-ip به استثنا نیاز دارد، فیلدهای مختلف nameserver چه فرقی دارند و یک بلوک dns قابل اتکا چه شکلی است.

چرا کلاینت پروکسی سراغ DNS می‌رود

سه دلیل روشن وجود دارد. نخست، در بعضی شبکه‌ها پاسخ‌های DNS ساده دستکاری می‌شوند و آدرس نادرست، مقصد را غیرقابل دسترس می‌کند؛ هرقدر هم پروکسی شما خوب باشد، به آدرس اشتباه وصل می‌شوید. دوم، اگر پرسش‌های DNS به حل‌کننده اپراتور برود در حالی که ترافیک از جای دیگری خارج می‌شود، عملاً نشت DNS دارید: فهرست سایت‌هایی که سراغشان می‌روید در شبکه محلی قابل مشاهده می‌ماند. سوم، خود مسیریابی به حل نام مطمئن نیاز دارد؛ قاعده‌ای مثل GEOIP تنها وقتی درست تصمیم می‌گیرد که هسته کنترل تبدیل نام به آدرس را در دست داشته باشد.

fake-ip و redir-host: دو حالت enhanced-mode

در حالت fake-ip، هسته به هر پرسش بلافاصله یک آدرس ساختگی از یک محدوده رزروشده (معمولاً 198.18.0.0/16) پاسخ می‌دهد. برنامه به همان آدرس جعلی وصل می‌شود، mihomo اتصال را می‌گیرد، آن را به دامنه اصلی برمی‌گرداند و حل واقعی نام را فقط جایی که لازم است انجام می‌دهد — اغلب سمت سرور خروجی. نتیجه: پاسخ‌گویی تقریباً آنی و بی‌اثر شدن دستکاری محلی، چون آدرسی که برنامه‌های شما می‌بینند اصلاً از شبکه بیرون نیامده است.

در حالت redir-host، هسته نام را از سرورهای بالادست حل می‌کند و آدرس واقعی را به برنامه تحویل می‌دهد. رفتار سرراست‌تری است و معدود برنامه‌هایی که به آدرس واقعی نیاز دارند با آن راحت‌ترند، اما ضعف‌های کلاسیک را هم به ارث می‌برد: تأخیر حل نام برای هر دامنه تازه و آسیب‌پذیری بیشتر در برابر پاسخ‌های نادرست. پیکربندی‌های امروزی معمولاً fake-ip را پیش‌فرض می‌گذارند و redir-host را به‌چشم گزینه سازگاری نگاه می‌کنند.

وقتی fake-ip چیزی را خراب می‌کند: fake-ip-filter

گروه کوچکی از نرم‌افزارها واقعاً به آدرس واقعی نیاز دارند: کشف دستگاه‌ها در شبکه محلی، بعضی لانچرهای بازی، صفحه ورود شبکه‌های Wi-Fi عمومی و سرویس‌های همگام‌سازی زمان. نشانه‌اش هم مشخص است: فقط یک برنامه بدرفتاری می‌کند و بقیه، از جمله مرورگر، سالم‌اند. راه‌حل، بیرون گذاشتن آن نام‌ها از fake-ip است:

dns:
  fake-ip-filter:
    - "*.lan"
    - "+.local"
    - "time.windows.com"

نام‌هایی که با این الگوها بخوانند، حتی در حالت fake-ip هم حل واقعی می‌شوند. علامت * یک بخش از دامنه را می‌گیرد و + زیردامنه‌ها را در هر عمقی پوشش می‌دهد.

nameserver، fallback و default-nameserver

  • nameserver — حل‌کننده‌های اصلی شما. استفاده از نشانی‌های رمزگذاری‌شده (DoH یا DoT) ترجیح دارد تا پرسش‌ها به‌سادگی خوانده یا بازنویسی نشوند.
  • fallback — مجموعه دومی که برای پاسخ‌های مشکوک به کار می‌رود، معمولاً برای دامنه‌های خارجی در شبکه‌هایی که سابقه دستکاری دارند. در پیکربندی‌های ساده اختیاری است.
  • default-nameserver — فقط برای راه‌اندازی اولیه است. پیش از آنکه هسته بتواند از یک نشانی مثل https://dns.google/dns-query استفاده کند، باید نام همان سرور را از جایی حل کند و این فیلد همان جاست. این‌جا حتماً آدرس IP خام بنویسید، نه دامنه.

یک بلوک dns نمونه

dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - "*.lan"
    - "+.local"
  default-nameserver:
    - 1.1.1.1
    - 8.8.8.8
  nameserver:
    - https://dns.google/dns-query
    - https://1.1.1.1/dns-query

این یک نقطه شروع محافظه‌کارانه است، نه پیکربندی طلایی؛ سرورهای بالادست را با گزینه‌هایی عوض کنید که از شبکه شما پاسخ بهتری می‌دهند. توجه داشته باشید که حالت TUN به‌شدت به همین بخش وابسته است: با TUN روشن، یک بخش dns معیوب معمولاً یعنی قطع کامل اینترنت.

نکته: بعد از تغییر تنظیمات DNS، هسته را دوباره بارگذاری کنید و چند دقیقه فرصت بدهید؛ پاسخ‌های کش‌شده از حالت قبلی می‌توانند نتیجه را متناقض نشان دهند.

نشانه‌ها و راه‌حل‌ها

نشانهعلت محتملکاری که باید بکنید
فقط یک برنامه کار نمی‌کندبه آدرس IP واقعی نیاز دارددامنه‌هایش را به fake-ip-filter اضافه کنید
اولین بازکردن هر سایت کند استحل‌کننده بالادست از شبکه شما کند استمقادیر nameserver را عوض کنید
سایت‌های داخلی از پروکسی می‌روندپاسخ‌های نادرست، قضاوت GEOIP را خراب می‌کننداول DNS را درست کنید، بعد سراغ قواعد بروید
با پروکسی روشن هیچ‌چیز باز نمی‌شودمعمولاً فراتر از DNS استمسیر عیب‌یابی لایه‌به‌لایه را دنبال کنید

اگر تغییری در این بخش دادید و همه‌چیز بدتر شد، ساده‌ترین راه بازگشت این است که بلوک dns را به همان نمونه بالا برگردانید و بعد یک تغییر در هر مرحله اعمال کنید. عیب‌یابی DNS با تغییر هم‌زمان چند فیلد، تقریباً همیشه به بن‌بست می‌رسد.