如果Juniper的Network Connect VPN客户端不能正常断开连接,它似乎会使OS X网络接口处于无法使用的状态。
编辑:“正常断开连接”是指VPN出于任何原因(而不是单击软件客户端上的“注销”按钮)而断开的任何时间。当wifi掉线时间过长导致VPN掉线,或者我关闭笔记本电脑的屏幕而没有记得断开连接等情况时,就会发生这种情况。
在终端上,简单的ping操作可为您提供以下结果:
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,因此省略了该特定标签的原因。我有各种理由也适用于小牛,但我无法证明这一点。