ترمینال مک برای ترفندهای شبکه از آنچه خیلیها فکر میکنند خودمانیتر است. اگر آیپی را نمیدانید، پینگ جواب نمیدهد یا بعد از تغییر DNS هنوز آدرس قبلی میآید، چند فرمان کوتاه کار را راه میاندازد. اپل ریست کش DNS را با دستورهایی مثل sudo killall -HUP mDNSResponder مستند کرده و Terminal را نقطهٔ رسمی اجرای فرمان معرفی میکند.
پیشنیازها
- Terminal را از Spotlight باز کنید.
- برای فرمانهای sudo به رمز ادمین نیاز دارید؛ فقط وقتی فرمان را میفهمید اجرا کنید.
- اول لینک را از DNS جدا کنید: اگر IP عمومی پینگ نمیشود، مشکل لایهٔ اتصال است نه کش نام.
آیپی، پینگ و ریست DNS
- آیپی وایفای را بگیرید (اگر خالی بود en1 را امتحان کنید):
ipconfig getifaddr en0
- برای نمای وسیعتر:
ifconfig | grep "inet "
- پینگ محدود و خوانا:
ping -c 4 1.1.1.1
- مسیریابی تا مقصد در صورت موجود بودن:
traceroute example.com
- ریست کش DNS روی مکهای جدید:
sudo killall -HUP mDNSResponder
اگر پینگ IP اوکی است ولی دامنه نه، مشکل DNS است. HUP روی mDNSResponder طبق مستند اپل کش را تازه میکند. روی مکهای خیلی قدیمی دستورهایی مثل dscacheutil -flushcache در همان مقالهٔ HT202516 آمده است.
DNS سیستم را از ترمینال چک کنید
- networksetup -listallnetworkservices را بزنید تا نام دقیق سرویس را ببینید.
- با networksetup -getdnsservers "Wi-Fi" (نام دقیق سرویس را جایگزین کنید) سرورهای DNS را بخوانید.
- در صورت نیاز از مسیر System Settings > Network > Details > DNS تنظیم کنید.
- دوباره sudo killall -HUP mDNSResponder بزنید.
- با پینگ دامنه و مرورگر نتیجه را بسنجید.
ترتیب پیشنهادی وقتی اینترنت عجیب شده
- با getifaddr ببینید اصلاً آیپی دارید یا نه.
- به IP عمومی پینگ بزنید؛ اگر نرفت اول لینک یا مودم را درست کنید.
- اگر IP اوکی بود دامنه را پینگ کنید؛ شکست اینجا یعنی DNS.
- کش را با mDNSResponder ریست کنید و دوباره تست کنید.
- DNS سرویس را با networksetup یا تنظیمات سیستم بررسی و در صورت نیاز عوض کنید.
این مسیر کمریسک بین «وایفای قطع است» و «فقط DNS مانده» خط روشن میکشد. اگر فقط یک مرورگر مشکل دارد، کش همان مرورگر را جدا امتحان کنید. VPN فعال گاهی resolve را عوض میکند؛ بعد از قطع VPN همان HUP را بزنید تا کش مخلوط نماند.
روی مکهای شرکتی با MDM، بعضی پروفایلها DNS را قفل میکنند؛ ریست کش کمک میکند ولی تنظیم دستی ممکن است برگردد. برای عیبیابی سختتر، scutil --dns resolverهای فعال را نشان میدهد؛ برای روزمره همان مسیر آیپی ← پینگ IP ← پینگ دامنه ← ریست کش کافی است.
کدام ترفند بیشتر به دردتان خورد—گرفتن آیپی یا ریست DNS؟