MacBook tidak dapat menggunakan internet, tetapi nslookup dan ping keduanya berfungsi

12

Saya memiliki pengguna dengan MacBook Pro baru kelas atas yang tidak dapat menggunakan internet. Ia dapat terhubung ke jaringan kabel atau nirkabel kami dan melakukan hal-hal seperti meramban berbagi file, tetapi tidak dapat melanjutkan.

Ketika saya membawa mesin untuk pengujian, saya menemukan bahwa saya bisa melakukan nslookup dengan baik, dan saya dapat melakukan ping alamat yang dikembalikan oleh nslookup dengan baik. Saya bahkan dapat membuka halaman web dengan memasukkan alamat IP ke bilah alamat secara langsung. Namun, ketika saya mencoba untuk melakukan ping nama domain daripada alamat IP, itu hanya duduk di sana. Jadi ternyata saya bisa melakukan resolusi nama atau berkomunikasi dengan alamat, tetapi tidak keduanya sekaligus.

Sekali lagi, gejala-gejala ini terjadi pada jaringan kabel dan nirkabel. Mesin lain di jaringan kami, termasuk beberapa Mac lain, tidak memiliki masalah ini.

Ada ide?

Joel Coehoorn
sumber

Jawaban:

8

Sedang mDNSResponderberlari? Bahkan jika ya, coba lakukan sudo killall mDNSResponderdan biarkan launchdkembali otomatis. (Jika Anda sudah mencoba me-reboot sistem dan masalahnya tetap ada, maka ini mungkin bukan penyebabnya.)

mDNSResponder adalah bagian penting dari infrastruktur resolver DNS Mac OS X saat ini. Beberapa alat seperti nslookupberisi kode resolver DNS mereka sendiri atau memanggil API tingkat rendah yang menghindari mDNSResponder dan menggunakan pustaka resolver Unix DNS yang lebih tradisional, tetapi sebagian besar aplikasi dan alat yang hanya memanggil API biasa akan mengandalkan mDNSResponder untuk melakukan resolusi nama.

Anda mungkin juga ingin memeriksa bagaimana Anda mengkonfigurasi DNS di panel Jaringan System Preferences, dan lihat /etc/resolv.conf(catatan: no 'e' dalam "resolv"). ipconfig getpacket en0(ganti en0 dengan BSD-layer identifier antarmuka jaringan utama Anda) dapat berguna untuk melihat informasi server DNS yang mesin Anda dapatkan dari DHCP. Lihat juga bagian "LOGGING" dari mDNSResponder(8)halaman manual untuk tips lebih lanjut tentang cara mendapatkan pemecahan masalah / informasi debug dari mDNSResponder.

Spiff
sumber
Ini telah bertahan di beberapa reboot, tetapi fakta bahwa nslookup mengembalikan alamat sementara hal lain yang perlu dilakukan resolusi gagal masih menunjukkan mDNSResponder sebagai kandidat yang baik untuk masalah ini.
Joel Coehoorn
Luar biasa apa bedanya pengalaman tahun lalu. Saya datang meninjau ini hari ini karena seseorang memberikan suara untuk pertanyaan itu, dan sebagian besar jawaban Anda sekarang adalah sifat kedua bagi saya, di mana sebelum saya menjadi buta. Yang mengatakan, saya sudah mengatakan ini sebelumnya, tetapi mDNS / Bonjour adalah tumpukan mengepul yang Apple seharusnya tidak pernah melepaskan ke peralatan produksi.
Joel Coehoorn
Oh, dan siswa akhirnya menyelesaikan ini sebelum kami memiliki mesin kembali untuk mencoba ini, tetapi membaca gejala dan saran sekarang, saya yakin ini masalahnya, dan menginstal ulang layanan Bonjour mungkin diperlukan.
Joel Coehoorn
@ Joel Terima kasih atas tindak lanjutnya. Sangat menyenangkan untuk mendengar ketika suatu Jawaban telah membantu.
Spiff
2

Saya menemukan bahwa penyebab utama masalah ini pada banyak Mac saya (yah, Hackintoshes) tertidur / diskorsing ke disk. Jika ini gagal, pada boot berikutnya mDNSResponder dalam keadaan korup, dan sudo killall mDNSResponderperintah memperbaikinya.

Corey Larson
sumber
1

Mungkin Anda telah menentukan server DNS secara manual di pengaturan Mac Anda? Silakan periksa pengaturan Anda seperti yang ditunjukkan di sini , hapus semua server DNS yang mungkin Anda miliki di sana, ganti dengan IP titik akses Anda (atau bahkan biarkan kosong, DNS harus ditetapkan melalui DHCP).

Andrejs Cainikovs
sumber
DNS diatur melalui dhcp dan menunjukkan server dns yang benar.
Joel Coehoorn
1

Karena perintah yang penting namun tidak terdokumentasi ini berubah dengan sangat buruk di berbagai versi MacOS, saya menyalin dan menempel di bawah daftar referensi yang sangat membantu dari

"PANDUAN TERTINGGI DI PLANET" oleh Neil Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

Cara menghapus cache DNS lokal (ketika URL tidak menyelesaikan seperti yang Anda inginkan)

sudo killall -HUP mDNSResponder (OSX 10.10.4, 10.11.0, macOS Sierra 10.12.0)

sudo discoveryutil mdnsflushcache (OSX 10.10.0 - 10.10.3)

sudo killall -HUP mDNSResponder (OSX 10.9,10.8,10.7)

sudo dscacheutil -flushcache (OSX 10.5,10.6)

dan juga termasuk Windows dan Linux

smci
sumber
0

Saya benar-benar berjuang dengan ini dan mencoba semua langkah. apa yang berhasil bagi saya adalah memilih preferensi jaringan dan menghapus kedua ethernet dan adaptor bandara kemudian menambahkannya kembali

Ryan
sumber