我的 VPN 客户端有时无法绑定到它使用的 UDP 端口 (500)。虽然它已经退出,但它似乎在上次运行时留下了对端口 500 的“绑定”。
该端口被报告为“已在使用中”(Mac os X),但没有关联进程:
$ sudo netstat -na | grep "udp.*\.500\>"
udp4 0 0 192.168.50.181.500 *.*
udp4 0 0 192.168.29.166.500 *.*
但sudo lsof
没有显示端口 500 上的进程(即sudo lsof -i:500 -P
没有报告任何内容)。
重新启动机器后,我可以成功使用 VPN 客户端,但希望有一种不那么破坏性的方式来清除状态。
答案1
端口 500 是isakmp
IPsec VPN 使用的。
查找/sbin/ifconfig
可能配置为使用该接口的任何虚拟网络接口。
答案2
OS X 上的另一个有用的命令将帮助您确保没有为特定的 UDP 或 TCP 端口设置进程:
lsof -Pan -i tcp -i udp
答案3
尝试使用netstat -nap
来确定哪个程序打开了端口。我没有 OSX 系统可以测试,但在 Linux 上,内核端口显示-
为程序。
编辑:快速搜索OSX ipsec disable
表明 OSX 可能默认启用了 IPSEC。如果是这样,您需要禁用它以释放端口。