Esses comandos funcionaram para mim.
Desligando o IPv4:
sudo networksetup -setv4off Wi-Fi
Configurando de volta para o DHCP:
sudo networksetup -setdhcp Wi-Fi
O cliente VPN do Network Connect da Juniper parece deixar uma interface de rede do OS X em um estado inutilizável se ela não se desconectar normalmente.
Editar: "desconectar normalmente" refere-se a qualquer momento em que a VPN é interrompida por motivos que não sejam clicar no botão "Sair" no software cliente. Isso acontece quando o Wi-Fi cai o tempo suficiente para fazer com que a VPN caia, ou talvez eu tenha fechado a tela do laptop sem me lembrar de desconectar, etc.
No terminal, um simples ping faz o seguinte resultado:
ping: sendto: Cannot allocate memory
A reinicialização resolve o problema, mas isso é inconveniente.
O uso do ifconfig para redefinir a interface não funciona:
ifconfig en0 down
ifconfig en0 up
Também não libera a tabela de rotas:
route -n flush
Eu também tentei redefinir o cache do DNS (completamente irrelevante, mas imaginei que tentaria mesmo assim). Isso obviamente não funcionou.
launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
O que finalmente funcionou de forma confiável foi desligar o IPv4 e ativá-lo novamente usando as seguintes etapas:
Então, para minha pergunta ... Existe uma maneira de conseguir o mesmo que os passos 1-9 acima da linha de comando? Idealmente, gostaria de poder chamar um script bash para fazer a redefinição.
Observação: isso foi testado no OS X Mountain Lion e no OS X Yosemite. Eu pulei o OS X Mavericks, daí a razão que omiti essa tag específica. Eu tenho todas as razões que isso se aplica a Mavericks também, mas não posso provar isso.
Eu vejo esse problema toda vez que eu fecho o Network Connect VPN de qualquer maneira ingrata . Eu usei a resposta fornecida acima e criei um alias no meu /etc/profile
alias netbounce='sudo networksetup -setv4off Wi-Fi;sudo networksetup -setdhcp Wi-Fi'
Agora, quando isso acontece, eu digito netbounce
no terminal e tudo está certo no mundo.
Consulte a tabela de roteamento e remova todas as rotas para suas redes locais / VPN e tente se reconectar à sua VPN.
sudo route delete 192.168.1.0
ou mais:)
Talvez você esteja procurando por networksetup
? Especificamente o on / off que é o último nesta lista abreviada com outras opções que podem ser diretamente úteis. (Execute esse comando sem argumentos para ver toda a enorme lista de opções).
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).