Le client VPN Network Connect de Juniper semble laisser une interface réseau OS X dans un état inutilisable si elle ne se déconnecte pas correctement.
Modifier: "déconnecter gracieusement" se réfère à chaque fois que le VPN tombe pour des raisons autres que de cliquer sur le bouton "Déconnexion" sur le client logiciel. Cela se produit lorsque le wifi tombe en panne suffisamment longtemps pour provoquer la chute du VPN, ou peut-être que j'ai fermé l'écran du portable sans oublier de me déconnecter, etc.
Depuis le terminal, un simple ping vous obtient le résultat suivant:
ping: sendto: Cannot allocate memory
Le redémarrage résout le problème, mais cela n'est pas pratique.
L'utilisation d'ifconfig pour réinitialiser l'interface ne fonctionne pas:
ifconfig en0 down
ifconfig en0 up
Le vidage de la table de routage non plus:
route -n flush
J'ai également essayé de réinitialiser le cache DNS (complètement hors de propos, mais j'ai pensé que j'essaierais quand même). Cela n'a évidemment pas fonctionné.
launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Ce qui a finalement fonctionné de manière fiable a été de désactiver IPv4, puis de le réactiver en procédant comme suit:
- Ouvrir les préférences système
- Cliquez sur l'icône réseau
- Cliquez sur l'interface cassée.
- Cliquez sur le bouton Avancé.
- Sélectionnez TCP / IP
- Sélectionnez «Off» sous Configurer IPv4.
- Sélectionnez "OK"
- Sélectionnez "Appliquer".
- Répétez les étapes 4 à 8, mais remplacez 6 par la méthode de configuration IP souhaitée.
Donc, à ma question ... Existe-t-il un moyen d'obtenir la même chose que les étapes 1 à 9 ci-dessus à partir de la ligne de commande? Idéalement, j'aimerais pouvoir appeler un script bash pour effectuer la réinitialisation.
Remarque: Cela a été testé sur OS X Mountain Lion et OS X Yosemite. J'ai ignoré OS X Mavericks, d'où la raison pour laquelle j'ai omis cette balise spécifique. J'ai toutes les raisons pour lesquelles cela s'applique également aux non-conformistes, mais je ne peux pas le prouver.