Чи є еквівалентна команда для 'init.d / перезавантаження мережі' в OS X


17

Час від часу у мене виникають проблеми з мережевими підключеннями клієнтів OS X (Wired and Wireless, Leopard / Snow Leopard), де нічого не виправить проблему, доки ви не перезавантажитесь.

  • Чи є певний «мережевий сервіс / процес», над яким я повинен стежити?
  • Я думав, що було б корисно знати команду, яка скидає службу / процес типу "мережеве з'єднання" (те саме, що запускається перезапуск sudo /etc/init.d/networking).

Після базового усунення несправностей, таких як DHCP, DNS, перевірки несправності інтерфейсу (відключення / включення), перевірки журналів та не знаходження достатньої корисної інформації, іноді, коли все інше не вдається, найкраще - просто перезавантажити машину. Я не впевнений, що все "init.d / перезапуск мережі" робить у Linux, але я знаю, що це набагато корисніше, ніж відключення та включення інтерфейсів.

Спасибі!


1
Ви кажете, що "нічого" це не виправить .... чи можете ви сказати нам, що ви спробували, що не вийшло?
TCampbell

Хе-хе, майже все, що я розумію ... і це вже не одне питання, було багато .. знову ж, як провідним, так і бездротовим. Наприклад, я бачив проблему, коли мережева карта НЕ буде повторно діяти, навіть після відключення та включення (на двох різних машинах з різними версіями OS X та різних моделях). Я б не питав цього, якби питання не були випадковими :)
l0c0b0x

Чи вдалося вам розібратися, як знову налагодити роботу мережі без перезавантаження, у мене виникає те саме питання. Дійсно дивна річ, що я запускаю Windows у VMWare і все ще маю підключення до мережі від сеансу VMWare.

2
Щоб бути тупим, ваше запитання трохи схоже на те, щоб піти до лікаря і сказати: "Я хворий, дайте мені ліки, яке вилікує мене". Перезапуск /etc/init.d/networking в основному скидає інтерфейс, знову піднімає його і потім застосовує налаштовану адресацію. Деякі драйвери Ethernet-карти повторно ініціалізують її щоразу, коли її піднімають. Це може бути причиною того, що перезавантаження мережі так добре працювало для вас. Моя думка, якщо ви хочете гідної відповіді, чи можете ви зосередитися на найбільш дратівливому прикладі цього? Чи є, наприклад, всі ваші ситуації в одному місці? Чи означає "Випуски" не завантажувати веб-сторінки? "
etherfish

1
У мене була ще більш грандіозна версія. Раз у раз все мережа впаде. Пляжні кулі Wi-Fi і на панелі «Мережа системних налаштувань» список збоку порожній. Немає навіть "wifi" для перезапуску. ifconfig порожній, навіть не loopback. Перезавантаження /etc/init.d/network було б досить солодким, але, можливо, для машини в такому стані перезавантаження саме те, що потрібно. На lunix я можу перезавантажити модулі ядра, перезавантажити мережу, всілякі добре документовані речі. коли довірливий ol 'maccenbox потрапляє таким чином, технічно називається "лайно ліжко", я тягну заглушку :(
Shayne

Відповіді:


19

Ви можете збити мережевий інтерфейс і повернути його знову, щоб це було те саме.

sudo ifconfig en0 down
sudo ifconfig en0 up

2
Я думаю, це буде те саме, що перейти на попередню панель / панель та відключити пристрій та включити назад, правда? (що, звичайно, я пробував).
l0c0b0x

У мене набагато більше мережевих інтерфейсів, ніж en0. Це насправді не еквівалентно питанню.
gman

11

Ні, init.d / service / launchctl не еквівалентно "init.d / мережа".

Якщо це пов'язано з Wi-Fi, ви можете натиснути на інтерфейс з командного рядка (на SL) за допомогою: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Якщо він є провідним, використовуйте ifconfig.

Інше, ніж це ... Я перевірив би dmesg та / var / log / * на наявність помилок.

Ви також можете вивантажити / перезавантажити kld або перевірити його на помилки .. та перезавантажити його, але я ніколи цього не пробував, швидше просто перезавантажте. :)

Побачити:

kextfind (8) - знаходити розширення ядра (кекс) на основі різноманітних критеріїв та друкувати інформацію
kextload (8) - завантажувати розширення ядра (kexts) у ядро
kextunload (8) - припиняти екземпляри драйверів I / O Kit драйвера та вивантажувати ядро розширення (kexts)
kextutil (8) - завантажують, діагностують проблеми та генерують символи для розширень ядра (кекс)


1
+1 для відповіді на "ядро".
l0c0b0x

8

Якщо ви хочете зробити це з оболонки ssh / remote:

sudo ifconfig <interface> down;sleep 1;sudo ifconfig <interface> up

3

Якщо просте ifconfigвгору / вниз не спрацює, створіть додаткове "Місцезнаходження", де всі мережеві пристрої вимкнено, а потім запустіть, scutilщоб переключитися на нього, спати пару секунд, а потім повернути його назад.

При цьому я не бачив цього в жодному із своїх Mac, за винятком випадків, коли сервер DHCP підходив, і це збіглося з оновленням оренди (і тому Mac закінчився неправильно налаштованим). Чи правильна конфігурація мережі, коли це відбувається? Якщо вони є DHCP'd, чи впливає на натискання кнопки "Відновити" в Налаштуваннях мережі> {Пристрій}> TCP / IP? А як же у випадку бездротового зв'язку вимкнути та знову ввімкнути аеропорт? Якщо ви зможете дізнатися, що, крім перезавантаження, призведе до того, що ви повернете його назад, тоді ви зробите великий крок ближче до з'ясування того, що насправді викликає поведінку - вдарити її великою палицею (саме це ефективно підстрибуючи інтерфейси), впливає лише на симптоми, а не на причину.


Додано ще трохи інформації до питання. Так, у цьому випадку (сьогодні вранці) DHCP працював чудово, як і DNS. Я шукаю крок "якщо все не вдасться", який не включає перезавантаження ОС.
l0c0b0x

1
на Linux, в /etc/init.d/networking stopзначній мірі робить тільки ifconfig ethX downдля кожного інтерфейсу. він також може спорожнити таблицю маршрутизації і, можливо, очистити кеш ARP. магія полягає в startкоманді, а не stop- і все, що потрібно, - це налаштування адреси та маршрутів (або поновлення оренди DHCP, якщо це доречно), якщо модуль мережевого пристрою вже присутній. Перезавантаження дуже-дуже рідко - найкращий спосіб дії.
штат Міссурі

уточнити - коли ви говорите , DHCP і DNS працюють нормально, це вихід з ifconfigі arpна клієнтських машинах такий же , як при нормальних умовах? чи можуть ваші комутатори дійти до них, навіть якщо вони не бачать інших речей у мережі? щоб це відбувалося досить часто (і з такими різними умовами), щоб ви поставили це питання, я б чесно розглядав частину інфраструктури, крім самих клієнтів.
штат Міссурі

Можливо, це головне, що я намагаюся відповісти тут, що насправді зупинка / початок роботи мережі робить для вас ... і як ви можете зробити те ж саме на OSX. У цьому випадку машина OSX змогла придбати IP, але не підключитися до точки доступу для аутентифікації / active-portal (асоціація була в порядку), я повинен був зробити tcpdump, щоб дізнатися, де порушується COM, але вирішив перезавантажити, і це, здавалося, "виправило" проблему. Мене турбує те, що у мене були проблеми до цього, навіть відключення / включення NIC не зробило «хитрість» при перезавантаженні.
l0c0b0x

гаразд ... найближчим еквівалентом networking restart є відключення / включення інтерфейсів - ось що роблять ці сценарії оболонки. тож, якщо це не робить фокус, то це проблема з драйвером або обладнанням. Зважаючи на те, що це відбувається на купі різних машин в різних версіях ОС, як дротових, так і бездротових, єдиним реальним загальним фактором є інфраструктура, до якої вони підключаються.
Пн

1

У мене була така ж проблема (мережа почала повільно працювати через кілька годин; я здебільшого працюю на Mac, підключеному проводовою мережею до комп’ютера Windows), і для мене це було витягнути комп'ютер, до якого я був підключений (у Finder) і вимкніть Ethernet (Налаштування системи -> Мережа -> Ethernet -> Вимкнено), а потім знову з'єднайте ці два. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.