Apakah ada perintah yang setara untuk 'init.d / networking restart' di OS X

17

Dari waktu ke waktu, saya mengalami masalah dengan koneksi jaringan klien OS X (Wired and Wireless, Leopard / Snow Leopard) di mana tidak ada yang akan memperbaiki masalah, sampai Anda reboot.

  • Apakah ada 'layanan / proses jaringan' tertentu yang harus saya perhatikan?
  • Saya berpikir akan berguna untuk mengetahui perintah yang akan mereset layanan / proses tipe 'koneksi jaringan' (sama dengan menjalankan sudo /etc/init.d/networking restart).

Setelah pemecahan masalah dasar seperti DHCP, DNS, memeriksa kerusakan antarmuka (disable / enable), memeriksa log dan tidak menemukan info yang cukup membantu, kadang-kadang ketika semuanya gagal, hal terbaik adalah hanya me-reboot mesin. Saya tidak yakin apa yang dilakukan semua 'init.d / networking restart' di Linux, tapi saya tahu itu jauh lebih bermanfaat daripada menonaktifkan dan mengaktifkan antarmuka.

Terima kasih!

l0c0b0x
sumber
1
Anda mengatakan "tidak ada" yang akan memperbaikinya ... dapatkah Anda memberi tahu kami apa yang sudah Anda coba yang tidak berhasil?
TCampbell
Hehehe, hampir semua yang ada dalam genggaman saya ... dan itu bukan satu masalah, sudah banyak .. lagi, dengan kabel dan nirkabel. Sebagai contoh, saya telah melihat masalah di mana kartu jaringan TIDAK akan bertindak kembali, bahkan setelah menonaktifkan dan mengaktifkan (pada dua mesin yang berbeda dengan versi OS X yang berbeda dan model yang berbeda). Saya tidak akan menanyakan ini jika masalahnya tidak acak :)
l0c0b0x
Pernahkah Anda berhasil mencari tahu cara membuat jaringan bekerja kembali tanpa me-reboot, saya mengalami masalah yang sama. Yang sangat aneh adalah saya menjalankan Windows di VMWare dan masih memiliki konektivitas jaringan dari sesi VMWare.
2
Terus terang, pertanyaan Anda agak seperti pergi ke dokter dan berkata, "Saya sakit, beri saya obat yang akan menyembuhkan saya." /Etc/init.d/networking restart pada dasarnya menjatuhkan antarmuka, memunculkannya lagi dan kemudian menerapkan pengalamatan yang dikonfigurasi. Beberapa driver kartu ethernet menginisialisasi ulang kartu setiap kali dinaikkan. Ini mungkin mengapa melakukan restart jaringan telah bekerja dengan baik untuk Anda. Maksud saya adalah, jika Anda menginginkan jawaban yang berharga, dapatkah Anda fokus pada contoh paling menjengkelkan dari ini? Apakah semua situasi Anda di lokasi yang sama misalnya? Apakah "masalah" berarti "tidak memuat laman web?"
etherfish
1
Saya sudah memiliki versi yang bahkan lebih gnarlier. Sesekali, semua jaringan akan turun. Beachballs dropdown wifi dan pada panel System System Prefs daftar di samping kosong. Bahkan tidak ada "wifi" untuk memulai kembali. ifconfig kosong, bahkan loopback localhost pun tidak. Restart /etc/init.d/network akan sangat manis, tetapi mungkin dengan mesin dalam keadaan itu reboot adalah yang dibutuhkan. Pada lunix saya dapat memuat ulang modul kernel, reboot jaringan, segala macam hal yang terdokumentasi dengan baik. ketika maccenbox ol yang terpercaya mendapatkan cara ini, secara teknis disebut "shitting the bed" Saya mencabut colokan :(
Shayne

Jawaban:

19

Anda dapat menurunkan antarmuka jaringan dan mengembalikannya lagi, yang seharusnya mencapai hal yang sama.

sudo ifconfig en0 down
sudo ifconfig en0 up
Martin M
sumber
2
Saya pikir ini akan sama dengan pergi ke Pre / Panel dan menonaktifkan perangkat dan mengaktifkan kembali, kan? (yang, tentu saja saya sudah mencoba).
l0c0b0x
Saya memiliki lebih banyak antarmuka jaringan daripada en0. Ini tidak benar-benar setara dengan pertanyaan yang diajukan.
GM
11

Tidak, tidak ada init.d / service / launchctl yang setara dengan 'init.d / networking'.

Jika terkait wifi, Anda dapat menyodok antarmuka dari baris perintah (pada SL) dengan: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Jika kabel, gunakan ifconfig.

Selain itu ... Saya akan memeriksa kesalahan dmesg dan / var / log / *.

Anda juga dapat membongkar / memuat ulang kld atau memeriksa kesalahannya .., dan memuatnya kembali, tetapi saya belum pernah mencobanya, saya lebih suka reboot. :)

Lihat:

kextfind (8) - temukan ekstensi kernel (kexts) berdasarkan berbagai kriteria dan cetak informasi
kextload (8) - muat ekstensi kernel (kexts) ke dalam kernel
kextunload (8) - terminasi instans driver I / O Kit driver dan unload kernel ekstensi (kexts)
kextutil (8) - memuat, mendiagnosis masalah dengan, dan menghasilkan simbol untuk ekstensi kernel (kexts)

Essobi
sumber
1
+1 untuk jawaban 'terkait kernel'.
l0c0b0x
8

Jika Anda ingin melakukannya dari ssh shell / remote:

sudo ifconfig <interface> down;sleep 1;sudo ifconfig <interface> up
Bluetouque
sumber
3

Jika sederhana ifconfignaik / turun tidak akan berfungsi, buat "Lokasi" tambahan yang memiliki semua perangkat jaringan dinonaktifkan, kemudian jalankan scutiluntuk beralih ke itu, tidur selama beberapa detik, lalu bawa kembali.

Yang mengatakan, saya belum melihat ini terjadi pada salah satu Mac saya kecuali di mana server DHCP telah cocok dan bertepatan dengan pembaruan sewa (dan akhirnya Mac salah konfigurasi). Apakah konfigurasi jaringan benar ketika ini terjadi? Jika mereka DHCP'd, apakah menekan tombol "Perbarui" di Preferensi Jaringan> {Perangkat}> TCP / IP memiliki efek? Bagaimana dengan, dalam kasus nirkabel, mematikan dan menghidupkan kembali Bandara? Jika Anda dapat mengetahui apa, selain reboot, akan mengembalikannya, maka Anda selangkah lebih dekat untuk mencari tahu apa yang sebenarnya memicu perilaku - memukulnya dengan tongkat besar (yang memantulkan antarmuka secara efektif), hanya akan mempengaruhi gejalanya, bukan penyebabnya.

Mo.
sumber
Menambahkan beberapa info lagi ke pertanyaan. Ya, dalam hal ini (pagi ini) DHCP berfungsi dengan baik, begitu pula DNS. Saya mencari langkah 'jika semuanya gagal' yang tidak termasuk reboot OS.
l0c0b0x
1
di Linux, /etc/init.d/networking stopcukup banyak tidak hanya ifconfig ethX downuntuk setiap antarmuka. mungkin mengosongkan tabel routing, juga dan mungkin menghapus cache ARP. keajaiban ada dalam startperintah, bukan stop- dan semua yang dikonfigurasikan adalah mengatur pengalamatan dan rute (atau memperbarui penyewaan DHCP, jika perlu) jika modul perangkat jaringan sudah ada. Reboot sangat sangat sangat jarang merupakan tindakan terbaik.
Mo
untuk mengklarifikasi - ketika Anda mengatakan DHCP dan DNS berfungsi dengan baik, apakah output dari ifconfigdan arppada mesin klien sama seperti dalam keadaan normal? dapatkah saklar Anda menjangkau mereka, bahkan jika mereka tidak dapat melihat hal lain di jaringan? agar hal ini cukup sering terjadi (dan dengan kondisi yang beragam seperti itu) bagi Anda untuk menjawab pertanyaan, saya akan melihat bagian dari infrastruktur selain dari klien itu sendiri, dalam semua kejujuran.
Mo
Mungkin itulah yang saya coba jawab di sini, apa yang sebenarnya dilakukan stop / start jaringan untuk Anda ... dan bagaimana Anda dapat melakukan hal yang sama pada OSX. Dalam hal ini, mesin OSX dapat memperoleh IP, tetapi tidak terhubung ke titik akses untuk otentikasi / portal aktif (asosiasi baik-baik saja), saya seharusnya melakukan tcpdump untuk mengetahui di mana COM melanggar, tetapi memutuskan untuk me-reboot dan itu tampaknya 'memperbaiki' masalah. Kekhawatiran saya adalah bahwa saya pernah mengalami masalah yang bahkan menonaktifkan / mengaktifkan NIC tidak melakukan 'trik', ketika melakukan reboot.
l0c0b0x
oke ... padanan terdekatnya networking restart adalah menonaktifkan / mengaktifkan antarmuka - itulah yang dilakukan skrip shell tersebut. jadi, jika itu tidak berhasil, maka itu masalah driver atau perangkat keras. Mengingat hal ini terjadi pada banyak mesin yang berbeda pada versi OS yang berbeda, baik melalui kabel maupun nirkabel, satu-satunya faktor umum yang sebenarnya adalah infrastruktur yang mereka hubungkan.
Mo
1

Saya memiliki masalah yang sama (jaringan mulai lambat setelah beberapa jam, saya sebagian besar bekerja pada Mac yang terhubung oleh jaringan kabel ke Komputer Windows) dan apa yang berhasil bagi saya adalah mengeluarkan komputer yang terhubung dengan saya. (di Finder) dan matikan Ethernet (System Preferences -> Network -> Ethernet -> Off) lalu hubungkan keduanya lagi. :)

Pedro Laia
sumber