Сброс интерфейса IPv4 командной строки OS X
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, поэтому я пропустил этот конкретный тег. У меня есть все основания, чтобы это относилось и к Мавериксам, но я не могу доказать это.
4 ответа
Эти команды работали для меня.
Отключение IPv4:
sudo networksetup -setv4off Wi-Fi
Установка его обратно в DHCP:
sudo networksetup -setdhcp Wi-Fi
Я вижу эту проблему каждый раз, когда я покидаю Network Connect VPN любым неблагодарным способом. Я использовал ответ, приведенный выше, и под псевдонимом /etc/profile
alias netbounce='sudo networksetup -setv4off Wi-Fi;sudo networksetup -setdhcp Wi-Fi'
Теперь, когда это происходит, я печатаю netbounce
на терминале и все в порядке с миром.
Может быть, вы ищете networksetup
? В частности, последнее включение в этот сокращенный список с другими опциями, которые могут быть непосредственно полезны. (Запустите эту команду без аргументов, чтобы увидеть весь огромный длинный список опций.)
Usage: networksetup -listnetworkserviceorder
Display services with corresponding port and device in order they are tried for connecting
to a network. An asterisk (*) denotes that a service is disabled.
Usage: networksetup -listallnetworkservices
Display list of services. An asterisk (*) denotes that a network service is disabled.
Usage: networksetup -getnetworkserviceenabled <networkservice>
Display whether a service is on or off (enabled or disabled).
Usage: networksetup -setnetworkserviceenabled <networkservice> <on off>
Set <networkservice> to either <on> or <off> (enabled or disabled).
Посмотрите таблицу маршрутизации и удалите все маршруты к вашим локальным сетям / сетям VPN, затем попробуйте подключиться к VPN.
sudo route delete 192.168.1.0
или так:)