VPN-клиент Juniper Network Connect, по-видимому, оставляет сетевой интерфейс OS X в непригодном для использования состоянии, если он не отключается изящно.
Изменить: «отключить изящно» относится к любому случаю, когда VPN отключается по причинам, отличным от нажатия кнопки «Выйти» на программном клиенте. Это происходит, когда Wi-Fi отключается достаточно долго, чтобы вызвать падение VPN, или, возможно, я закрыл экран ноутбука, не забывая отключить и т. Д.
Из терминала простой пинг дает следующий результат:
ping: sendto: Cannot allocate memory
Перезагрузка решает проблему, но это неудобно.
Использование ifconfig для сброса интерфейса не работает:
ifconfig en0 down
ifconfig en0 up
Также не происходит очистка таблицы маршрутов:
route -n flush
Я также попытался сбросить кэш DNS (совершенно не имеет значения, но я решил, что все равно попробую). Это явно не сработало.
launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Наконец, надежно работало, чтобы отключить IPv4, а затем снова включить его, выполнив следующие действия:
- Настройки открытой системы
- Нажмите на значок сети
- Нажмите на сломанный интерфейс.
- Нажмите кнопку Дополнительно.
- Выберите TCP / IP
- Выберите «Выкл.» В разделе «Настройка IPv4».
- Выберите «ОК»
- Выберите «Применить».
- Повторите шаги 4 - 8, но замените 6 желаемым методом настройки IP.
Итак, на мой вопрос ... Есть ли способ добиться того же, что и шаги 1-9 выше, из командной строки? В идеале я хотел бы иметь возможность вызвать скрипт bash для сброса.
Примечание: это было проверено на OS X Mountain Lion и OS X Yosemite. Я пропустил OS X Mavericks, поэтому я пропустил этот конкретный тег. У меня есть все основания, чтобы это относилось и к Мавериксам, но я не могу доказать это.