Redefinição da interface IPv4 da linha de comando do OS X

10

O cliente Network Connect VPN da Juniper parece deixar uma interface de rede OS X em um estado inutilizável se não for desconectada normalmente.

Editar: "desconectar normalmente" refere-se a qualquer momento em que a VPN cair por outros motivos que não sejam o clique no botão "Sair" no cliente de software. Isso acontece quando o wifi cai por tempo suficiente para fazer com que a VPN caia, ou talvez eu feche a tela do laptop sem lembrar de desconectar etc.

No terminal, um simples ping fornece o seguinte resultado:

ping: sendto: Cannot allocate memory

Reiniciar resolve o problema, mas isso é inconveniente.

O uso do ifconfig para redefinir a interface não funciona:

ifconfig en0 down
ifconfig en0 up

Nem a liberação da tabela de rotas:

route -n flush

Eu também tentei redefinir o cache DNS (completamente irrelevante, mas achei 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 maneira confiável foi desligar o IPv4 e depois ativá-lo novamente, usando as seguintes etapas:

  1. Abra Preferências do Sistema
  2. Clique no ícone Rede
  3. Clique na interface quebrada.
  4. Clique no botão Avançado.
  5. Selecione TCP / IP
  6. Selecione "Desativado" em Configurar IPv4.
  7. Selecione "OK"
  8. Selecione "Aplicar".
  9. Execute as etapas 4 a 8 novamente, mas substitua 6 pelo método de configuração de IP desejado.

Então, para minha pergunta ... Existe uma maneira de obter o mesmo que os passos 1 a 9 acima na linha de comando? Idealmente, eu gostaria de poder chamar um script bash para fazer a redefinição.

Nota: Isso foi testado no OS X Mountain Lion e no OS X Yosemite. Eu pulei o OS X Mavericks, daí o motivo de eu ter omitido essa tag específica. Tenho todos os motivos para que isso se aplique ao Mavericks também, mas não posso provar.

Chuck Wolber
fonte
"O cliente VPN do Network Connect VPN da Juniper parece deixar uma interface de rede OS X em um estado inutilizável se não for desconectada normalmente". - Não sei ao certo o que seria uma desconexão desagradável para o seu caso, mas executamos dispositivos SA há anos com clientes OSX e não experimentamos o que você está vendo. Você já consultou o Juniper TAC sobre isso?
TheCleaner 22/10
Sempre que a conexão de rede cai por tempo suficiente para matar a VPN, fico nesse estado. Ocasionalmente, o wifi tem um soluço, ou talvez eu feche o laptop antes de desconectar corretamente, etc. Entrar em contato com o Juniper TAC simplesmente não é uma opção no meu caso particular.
Chuck Wolber
Minha experiência é quando estou conectado via VPN através de uma conexão Wi-Fi e a conexão Wi-Fi para de responder (devido à política da sessão, falha na rede etc.), o cliente Juniper Network Connect começa a solicitar que as senhas raiz sejam "alteradas" coisas. Você pode matar o cliente e reiniciá-lo, e até mesmo ativar e desativar o Wi-Fi, mas o cliente nunca se reconectará sem uma reinicialização. Não sem a resposta de Sunil P abaixo.
Snapman

Respostas:

8

Esses comandos funcionaram para mim.

Desligando o IPv4:

sudo networksetup -setv4off Wi-Fi

Voltando ao DHCP:

sudo networksetup -setdhcp Wi-Fi
Sunil P
fonte
3
Funciona bem. E para uma conexão com fio:s/Wi-Fi/Ethernet/
Chuck Wolber 13/12/14
Se você fizer isso remotamente (por exemplo, TeamViewer), provavelmente o primeiro comando interromperá a conexão; portanto, execute os dois comandos na mesma linha, separados por ponto e vírgula.
Mwfearnley 04/04/19
No meu caso, havia nomes diferentes, networksetup -listallnetworkservicesdiz tudo.
Ed Randall
1

Talvez você esteja procurando networksetup? Especificamente, o que está ligado / desligado é 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).
Patrick Tudor
fonte
1

Eu vejo esse problema toda vez que fecho o Network Connect VPN de qualquer maneira ingrata . Eu usei a resposta fornecida acima e cria um apelido na minha/etc/profile

alias netbounce='sudo networksetup -setv4off Wi-Fi;sudo  networksetup -setdhcp Wi-Fi'

Agora, quando isso acontece, digito netbounceno terminal e tudo está bem com o mundo.

Jonathan.Wagner
fonte
0

Consulte a tabela de roteamento e remova todas as rotas para suas redes locais / VPN e tente reconectar-se à sua VPN.

sudo route delete 192.168.1.0

ou então :)

Janne Pikkarainen
fonte