IP جواب میدهد اما دامنه باز نمیشود
اول یک آزمون ساده. یک آدرس عمومی مثل 1.1.1.1 را ping کنید و ببینید جواب میدهد، بعد هر وبسایتی را باز کنید و ببینید باز نمیشود. اگر هر دو درست بود، خرابی در لایه تبدیل نام است و بقیه کارها روی همین لایه تمرکز دارد.
بعد مشخص کنید چه کسی resolve میکند. وقتی TUN روشن است یا در پیکربندی بازنویسی DNS فعال است، کلاینت این کار را در دست میگیرد و تغییر دادن DNS کارت شبکه هیچ اثری ندارد. وقتی هر دو خاموشاند عکس آن صادق است: هرچه داخل کلاینت تنظیم کنید روی نتیجه سیستم اثر نمیگذارد. جابهجا گرفتن این دو حالت وقت زیادی تلف میکند.
اول نشانه را بخوانید
خرابی resolve و از کار افتادن گره در مرورگر تقریباً یک شکل دارند. همان آزمون ping آنها را از هم جدا میکند.
سه خرابی که بیشتر موارد را میسازند
- 1
نتیجه کهنه در cache
بعد از عوض کردن گره یا تغییر پیکربندی، سیستم و مرورگر ممکن است هنوز جواب قبلی را تحویل بدهند و به نظر برسد اصلاح شما کار نکرده است. در Windows دستور
ipconfig /flushdnsو در macOS دستورsudo killall -HUP mDNSResponderرا اجرا کنید. مرورگر یک لایه cache جداگانه هم دارد، پس آن را کامل ببندید و دوباره باز کنید. - 2
آدرسهای ساختگی جامانده
اگر برنامه غیرعادی بسته شده باشد، مسیرها یا رکوردهای cache که به بازه
198.18.0.0/16اشاره میکنند ممکن است در سیستم باقی بمانند. نشانهاش مشخص است: چند دامنه به آدرسی resolve میشوند که هیچ اتصالی به آن برقرار نمیشود، در حالی که بقیه سالماند. کلاینت را دوباره اجرا کنید تا این لایه را پس بگیرد و یک بار دیگر cache را پاک کنید. - 3
نامهای داخلی که بیرون فرستاده میشوند
دامنههای داخلی شرکت و نام دستگاههای شبکه محلی مثل دامنه عمومی به یک resolver بیرونی فرستاده میشوند و طبیعتاً پاسخی ندارند. در بخش DNS پیکربندی این پسوندها را به یک nameserver داخلی بسپارید، یا آنها را در فهرستی بگذارید که آدرس ساختگی نمیگیرد تا به آدرس واقعی برسند.
مطمئن شوید پاسخ واقعاً عوض شده است
به باز شدن صفحه بسنده نکنید. همان دامنه را از خط فرمان دوباره query کنید و آدرس برگشتی را بخوانید. اگر دامنهای به منطقهای آشکارا اشتباه resolve میشود، این query مسیری رفته که انتظارش را نداشتید و لاگ نشان میدهد کدام nameserver جواب داده است.
- یک دامنه در دو query پشتسرهم یک آدرس میدهد و دیگر با 198.18 شروع نمیشود
- هم میزبانهای داخلی و هم دامنههای عمومی باز میشوند، نه یکی به قیمت دیگری
- بعد از بستن و باز کردن کامل مرورگر هم درست کار میکند، پس cache جامانده نبوده است
پرسشهای رایج
گره را عوض کردم ولی دامنه هنوز به آدرس قبلی resolve میشود؛ چرا؟
تقریباً همیشه cache. پاسخ هم در سیستم و هم در مرورگر جداگانه ذخیره میشود و عوض کردن گره هیچکدام را پاک نمیکند. در Windows دستور ipconfig /flushdns و در macOS دستور sudo killall -HUP mDNSResponder را اجرا کنید و بعد مرورگر را کامل ببندید و باز کنید. اگر باز هم ماند، کلاینت را دوباره راهاندازی کنید تا لایه resolve را از نو بسازد.
بعد از بستن Clash Verge اصلاً اینترنت ندارم؛ دلیلش چیست؟
برنامه هنگام خروج آن لایه را پس نداده و سیستم هنوز به تنظیمات DNS یا مسیرهایی اشاره میکند که دیگر به جایی نمیرسند. یک بار کلاینت را اجرا کنید و بهصورت عادی ببندید؛ معمولاً همین کافی است. میتوانید DNS کارت شبکه را هم دستی روی خودکار برگردانید و بعد cache را پاک کنید.