راهنماهای مرتبط
نشت DNS یا مسمومیت DNS: چطور بررسی و رفع کنیم
بهروزرسانی
جواب کوتاه: مسمومیت DNS (که آلودگی DNS هم گفته میشود) یعنی پرسیدهاید یک سایت کجاست و یک نشانی جعلی تحویل گرفتهاید، پس سایت باز نمیشود یا چیز دیگری جایش باز میشود. نشت DNS یعنی فیلترشکن روشن است ولی پرسیدن همچنان از راه اینترنت محلی شما انجام میشود. اولی نمیگذارد به مقصد برسید؛ دومی به کس دیگری خبر میدهد کجا میروید. این دو مشکل جدا هستند. بررسی ساده است: ببینید سایتها کدام آیپی خروجی را میبینند، بعد ببینید سرورهای چه کسی نامها را برایتان ترجمه میکنند. این راهنما هر دو اصطلاح، روش تشخیص و رفع هر کدام، و سه سؤالی را که با سایتهای نمایش آیپی پیش میآید توضیح میدهد: چرا دو سایت دو موقعیت مختلف نشان میدهند، امتیاز «تمیزی» آیپی چیست، و چرا DNS امن روی دستگاه میتواند تفکیک ترافیک روتر را به هم بریزد.
DNS چیست
DNS روش اینترنت برای نشانی پرسیدن است. شما نام دامنه را تایپ میکنید، دستگاه یک نشانی IP لازم دارد، و قدم وسط — اینکه کدام نشانی مال این نام است — سؤالی است که از یک سرور DNS پرسیده میشود. بهطور پیشفرض این سرور را اینترنتدهنده یا روترتان انتخاب کرده و درخواستهای DNS کلاسیک رمزنگاری نشدهاند: تجهیزات سر راه میتوانند سؤال را بخوانند و فرصت دارند پیش از سرور واقعی جواب بدهند.
مسمومیت DNS چه شکلی است
مسمومیت DNS یعنی آن جواب با یک جواب جعلی عوض شده است: نام به یک نشانی بیربط یا نشانیای که در دسترس نیست اشاره میکند. از دید کاربر اینطور دیده میشود.
- بعضی سایتها تا ابد میچرخند، زمانشان تمام میشود یا خطای قطع اتصال (connection reset) میدهند، در حالی که سایتهای دیگر در همان لحظه عادی کار میکنند.
- رفتن به یک سرور DNS عمومی کمکی نمیکند: جواب جعلی سر راه گذاشته میشود، پس از هر کسی بپرسید، باز هم زودتر از جواب واقعی به دستتان میرسد.
- یک نام هر بار به نشانی متفاوتی ترجمه میشود و آن نشانیها مال سازمانهاییاند که هیچ ربطی به سایت ندارند.
- مرورگر خطای گواهی نشان میدهد: نام به سرور کس دیگری اشاره داده شده که نمیتواند گواهی سایت را ارائه کند. همانجا متوقف شوید و ادامه ندهید.
- روی شبکهٔ دیگری (مثلاً اینترنت همراه) یا با فیلترشکن وصل، همان سایت فوراً باز میشود.
چطور مسمومیت DNS را تشخیص دهیم
اگر الگو از قبل «با فیلترشکن باز میشود، بدون آن نه» است، همین برای نتیجهگیری کافی است. برای اینکه مطمئن شوید یک نام درست ترجمه میشود یا نه، این چهار قدم را دنبال کنید.
- با فیلترشکن خاموش، نام را در خط فرمان کامپیوتر جستوجو کنید، example.com را با دامنهٔ مورد نظر عوض کنید و نشانی برگشتی را یادداشت کنید:
nslookup example.com - فیلترشکن را وصل کنید (یک روش برای کل دستگاه، در حالت سراسری) و دوباره همان نام را جستوجو کنید. نتیجههای متفاوت رایج است، چون سایتهای بزرگ در جاهای مختلف سرور دارند؛ قدم بعدی است که اهمیت دارد.
- نشانی اول را در یک سایت نمایش آیپی مثل ipinfo.io بررسی کنید و ببینید مال کیست. اگر مال خود سایت یا سرویس ابری آن است، ترجمه درست است. اگر مال یک سازمان بیربط است یا اصلاً در دسترس نیست، جواب مسموم شده بود.
- یکی دو بار تکرار کنید. نتیجههای واقعی در یک مجموعهٔ کوچک و ثابت از نشانیها میمانند؛ نتیجههای مسموم اغلب با هر درخواست عوض میشوند.
چطور مسمومیت DNS را رفع کنیم
چهار رویکرد هست، از ناقص تا کامل. دو تای اول فقط عوض میکنند از چه کسی بپرسید؛ سومی پرسیدن و رفتن را با هم حل میکند.
- عوض کردن سرور DNS: وقتی جواب میدهد که DNS خود اینترنتدهنده اشتباه است یا یک نشانی قدیمی را نگه داشته. در برابر جوابهایی که سر راه گذاشته میشوند کاری نمیکند.
- DNS رمزنگاریشده (DoH، DoT): درخواست در مسیر قابل تغییر نیست، پس نشانی واقعی را میگیرید. ولی ممکن است نشانی واقعی همچنان در دسترس نباشد، پس این نصف راهحل است.
- فرستادن ترجمهٔ نام و ترافیک هر دو از مسیر: راهحل کامل. نام در سمت دیگر ترجمه میشود، جواب واقعی است و بازدید هم از سمت دیگر بیرون میرود.
- ویرایش فایل hosts برای ثابت کردن دستی یک نشانی: به محض عوض شدن نشانی خراب میشود و برای بیشتر از چند سایت جواب نمیدهد. بهعنوان راه موقت مناسب است.
- LeoTun رویکرد سوم را به کار میبرد: DNS را مسیر تعیین میکند و ترجمه داخل تونل انجام میشود، پس DNS اصلی دستگاه استفاده نمیشود. با «پروکسی وب»، سرور پروکسی نامها را برای مرورگر ترجمه میکند. روتر این کار را برای همهٔ دستگاههای خانه انجام میدهد و سایتهای چینی را به روش داخل چین ترجمه میکند تا مستقیم باز شوند. روی مسیرهای ما معمولاً لازم نیست هیچ تنظیم DNS را عوض کنید.
نشت DNS در برابر مسمومیت DNS
- مسمومیت DNS: جواب جعلی است. سایت باز نمیشود یا به جای دیگری فرستاده میشوید. وقتی پیش میآید که روی مسیر نیستید، یا ترجمهٔ نام از مسیر نمیرود.
- نشت DNS: جواب واقعی است، ولی از اینترنتدهندهٔ محلی شما پرسیده شده. اینترنتدهنده میفهمد به کدام دامنهها میروید و ممکن است یک سایت ویدیو از همین موقعیت واقعی شما را بفهمد. وقتی پیش میآید که فیلترشکن وصل است ولی درخواستها بیرون از تونل میروند.
- علتهای رایج نشت: DNS امن در مرورگر یا سیستم روشن است؛ یک فیلترشکن یا ابزار شبکهٔ مِش دیگر همزمان در حال اجراست؛ IPv6 دستگاه از تونل نمیرود.
- وقتی در خارج ویدیوی چینی میبینید، نشانهٔ معمول نشت این است: «وصل است، آیپی درست است و باز هم پیام محدودیت منطقه میآید». مراحل در Tencent Video یا iQIYI در خارج باز نمیشود آمده است.
چطور بفهمیم واقعاً از کدام DNS و آیپی خروجی استفاده میکنیم
- آیپی خروجی: بعد از اتصال، یک سایت نمایش آیپی مثل ipinfo.io یا ip.sb باز کنید. نشانی و موقعیت باید همان خروجیای باشد که انتخاب کردهاید، نه اینترنت خانگیتان.
- DNS: یک تست نشت DNS باز کنید (dnsleaktest.com، یا صفحهٔ DNS در browserleaks.com). سرورهایی را که نامها را برایتان ترجمه میکنند فهرست میکند. در حالت سراسری، اینترنتدهندهٔ محلی شما نباید در این فهرست باشد.
- IPv6: سایت test-ipv6.com را باز کنید. اگر IPv6 در دسترس نیست، یا نشانیای نشان میدهد که نشانی محلی شما نیست، همه چیز درست است.
- در حالت تفکیک ترافیک نتیجه را طور دیگری بخوانید: سایتهای چینی قرار است داخل چین ترجمه شوند، پس دیدن یک سرور داخل چین در صفحهٔ تست لزوماً نشت نیست. برای اطمینان، به حالت سراسری بروید و دوباره تست کنید.
- قطع کنید و یک بار دیگر همه را اجرا کنید، بعد مقایسه کنید. اگر دو اجرا عین هم بودند، ترافیک از مسیر نمیرود؛ بررسی کنید که کلاینت واقعاً وصل است.
چرا دو سایت نمایش آیپی موقعیتهای مختلفی نشان میدهند
با تفکیک ترافیک روشن، این طبیعی است و در واقع یعنی تفکیک ترافیک کارش را درست انجام میدهد. داخل چین با یک منطقهٔ خارجی انتخابشده، سایت نمایش آیپی چینی مستقیم میرود و نشانی اینترنت خانگی شما را میبیند، در حالی که سایت نمایش آیپی خارجی از مسیر میرود و نشانی خروجی را میبیند. هر دو درستاند: یکی جواب میدهد «سایتهای چینی مرا کجا میبینند» و دیگری «سایتهای خارجی مرا کجا میبینند».
برای ورودی چین هم همین صادق است: سایتهای چینی از چین بیرون میروند و سایتهای خارجی از یک خط خارجی میرسند، پس سایت نمایش آیپی خارجی سمت خارجی را نشان میدهد.
نوع سوم اختلاف از پایگاههای داده میآید. اینکه یک آیپی مال کدام کشور یا شهر است به پایگاه دادهٔ موقعیتیابیای بستگی دارد که هر سایت استفاده میکند، و این پایگاهها در زمانهای مختلف بهروز میشوند. اینکه یک آیپی در دو سایت دو شهر مختلف، حتی دو کشور مختلف، نشان دهد غیرعادی نیست. چیزی که یک سایت یا برنامه واقعاً به آن تکیه میکند، پایگاه دادهٔ خودش است.
برای دیدن خروجی وقتی همه چیز از مسیر میرود، کلاینت را روی حالت سراسری بگذارید و دوباره نگاه کنید. جهتهای تفکیک ترافیک روتر و روش بررسی آنها در تفکیک هوشمند ترافیک در روتر VPN چطور کار میکند آمده است.
امتیاز «تمیزی» آیپی یعنی چه
امتیاز تمیزی آیپی، که اعتبار آیپی (IP reputation) یا امتیاز تقلب (fraud score) هم گفته میشود، یک رتبهٔ ریسک است که بعضی سایتهای بررسی به یک نشانی میدهند. استاندارد مشترکی ندارد؛ هر سایت فرمول خودش را دارد و یک نشانی ممکن است در سایتهای مختلف امتیازهای خیلی متفاوتی بگیرد. این امتیاز میسنجد یک سایت چقدر آن نشانی را کاربر خانگی عادی حساب میکند. دربارهٔ اینکه دادههای شما محافظت میشوند یا نه چیزی نمیگوید. بیشتر چهار چیز آن را تعیین میکنند.
- نوع نشانی: اینترنت خانگی، شبکهٔ موبایل یا دیتاسنتر.
- اینکه بهعنوان پروکسی یا VPN علامت خورده یا نه: بعضی پایگاههای داده دقیقاً همین نشانیها را جمع میکنند.
- سابقه: اینکه آن نشانی هرزنامه فرستاده، یک API را زیر بار برده یا گزارش شده است.
- چند نفر همزمان از آن استفاده میکنند: وقتی کاربران زیادی یک خروجی را شریکاند، رفتار همه به حساب همان نشانی ثبت میشود.
چرا خروجیهای مشترک امتیاز کمتری میگیرند و آیا اهمیت دارد
خروجیهای مشترک بهطور ذاتی امتیاز کمتری میگیرند. کاربران زیادی یک نشانی خروجی را شریکاند و اگر هر کدامشان یک بار سیستمهای ضدریسک را فعال کرده باشد، سابقهاش روی همان نشانی میماند. نشانی در محدودهٔ دیتاسنتر هم هست که فقط بهخاطر نوعش امتیاز کم میکند. این دربارهٔ خروجیهای VPN و پروکسی بهطور کلی صادق است.
در عمل امتیاز پایین یعنی CAPTCHAهای بیشتر، تأیید اضافه در بعضی سایتها و چند سرویس که نشانیهای دیتاسنتر را قبول نمیکنند. نتیجه را بهعنوان مرجع ببینید. وقتی یک سایت مشخص شما را رد کرد، از راه منطقهٔ دیگری دوباره وصل شوید: هر منطقه نشانیهای خروجی متفاوتی دارد و پشت هر منطقه چند دستگاه هست.
DNS امن روی دستگاه میتواند تفکیک ترافیک روتر را دور بزند
روتر باید ببیند دستگاه دربارهٔ کدام نام میپرسد تا بتواند تصمیم بگیرد آن بازدید از مسیر برود یا مستقیم. دستگاهی که DNS رمزنگاریشده (DoH یا DoT) را روشن کرده، از یک سرور شخص ثالث از راه کانال رمزنگاریشدهٔ خودش میپرسد، روتر هیچوقت درخواست را نمیبیند و تفکیک ترافیک برای آن دستگاه دیگر درست تطبیق نمیدهد: چیزی که باید از مسیر برود نمیرود، یا سایتهای چینی دور میزنند. وقتی فقط یک دستگاه در خانه بدرفتاری میکند، اول همین را بررسی کنید.
- اندروید: تنظیمات ← شبکه و اینترنت ← DNS خصوصی (Settings ← Network & internet ← Private DNS)، گزینهٔ «خاموش» را انتخاب کنید. نام منوها در برندهای مختلف فرق دارد؛ جستوجوی «DNS خصوصی» یا «Private DNS» در تنظیمات پیدایش میکند.
- Chrome: تنظیمات ← حریم خصوصی و امنیت ← امنیت ← استفاده از DNS امن (Settings ← Privacy and security ← Security ← Use secure DNS)، خاموشش کنید. Edge و Firefox هم در تنظیمات حریم خصوصی گزینهٔ مشابهی دارند؛ در Firefox اسمش «DNS over HTTPS» است.
- آیفون و مک: یک کلید سیستمی واحد وجود ندارد. اگر یک برنامهٔ DNS یا پروفایل DNS نصب کردهاید، در تنظیمات ← عمومی ← VPN و مدیریت دستگاه (Settings ← General ← VPN & Device Management) غیرفعالش کنید، و اگر iCloud Private Relay روشن است خاموشش کنید.
- بعد از آن، آن دستگاه را دوباره به وایفای وصل کنید و با روشی که در آخرین بخش راهنمای تفکیک ترافیک روتر آمده بررسی کنید.
FAQ
مسمومیت DNS یعنی چه؟
وقتی دستگاه شما نشانی یک دامنه را میپرسد، جواب با یک جواب جعلی عوض میشود که به یک نشانی بیربط یا غیرقابلدسترس اشاره میکند، پس سایت باز نمیشود. ربطی به دستگاه یا مرورگر شما ندارد؛ مشکل در مسیری است که درخواست طی میکند.
عوض کردن DNS به 8.8.8.8 یا 1.1.1.1 مسمومیت DNS را رفع میکند؟
معمولاً نه. درخواستهای DNS معمولی رمزنگاری نشدهاند و جواب جعلی سر راه گذاشته میشود، از هر کسی بپرسید. عوض کردن سرور فقط وقتی کمک میکند که خود DNS اینترنتدهنده مقصر باشد. راهحل کامل فرستادن ترجمهٔ نام و ترافیک هر دو از مسیر است.
تست نشت DNS سرورهای اینترنتدهندهٔ محلیام را نشان میدهد. حالا چه؟
به حالت سراسری بروید و دوباره تست کنید تا تفکیک ترافیک را کنار بگذارید. اگر باز هم دیده شدند، DNS امن را در مرورگر و DNS خصوصی را در اندروید خاموش کنید، از فیلترشکنها و ابزارهای شبکهٔ مِش دیگر خارج شوید و با یک تست IPv6 ببینید آیا یک نشانی IPv6 محلی دیده میشود.
یک سایت نمایش آیپی چینی نشانی خانهام را نشان میدهد. یعنی مسیر کار نمیکند؟
به احتمال زیاد تفکیک ترافیک دارد کار میکند: سایتهای چینی مستقیم میروند، پس اینترنت خانگی شما را میبینند. یک سایت نمایش آیپی خارجی هم باز کنید؛ اگر نشانی خروجی را نشان داد، همه چیز همانطور است که باید.
امتیاز پایین تمیزی آیپی روی امنیت من اثر دارد؟
نه. این امتیاز نشان میدهد سایتها آن نشانی را چطور میبینند و ربطی به رمزنگاری یا حریم خصوصی ندارد. روی تعداد CAPTCHAهایی که میبینید و اینکه چند سایت شما را بپذیرند اثر دارد؛ وقتی پیش آمد، منطقه را عوض کنید.
مگر DNS امن امنتر نیست؟ چرا پشت روتر خاموشش کنیم؟
DNS امن نمیگذارد شبکهٔ محلی درخواستهای شما را بخواند یا تغییر دهد. در خانه و پشت روتر، روتر از قبل این را رسیدگی میکند، و دستگاهی که درخواستهایش را خودش رمزنگاری میکند روتر را از مسیریابی بر اساس دامنه ناتوان میکند. وقتی بیرون از خانه هستید و پشت روتر نیستید، دوباره روشنش کنید.