vpnc-script
OpenConnect 只处理与VPN服务器之间的通信;它不知道如何在它运行的各种操作系统上配置网络路由和名称服务。
它使用一个外部脚本设置路由和名称服务,通常叫做 vpnc-script
。该脚本 vpnc
使用的脚本相同。你的系统或许已经已经安装 vpnc-script
,可能位于 /etc/vpnc/vpnc-script
。
如果你还没有这个文件,你可以从这里下载当前版本。即使以已经有一个vpnc的拷贝,你或许想安装这个支持IPv6,并且在Solaris和更新版本的Linux内核下修复了一些bug的更新版本。
注意这个脚本需要可执行权限,并且存储于SELinux或者类似的安全系统不会禁止root用户访问的位置。
当前版本的OpenConnect(从3.1.7)在构建时配置指定了脚本路径,并且会自动调用脚本。如果你使用一个发行包而不是自己构建,OpenConnect包应该有一个它依赖的匹配版本的vpnc-script
,并且构建时在正确的位置。希望你的发行版是正确的。
如果你在使用一个老版本的OpenConnect,或者你想用OpenConnect被配置时指定的脚本之外的另外一个脚本,你可以在命令行使用--script
参数。例如:
openconnect --script /etc/vpnc/vpnc-script http://vpn.example.com/
如果OpenConnect没有被匹配的脚本调用,它将不能为VPN配置路由或者名称服务。
Windows
在Windows下,OpenConnect默认配置将在可执行文件openconnect.exe
同目录下查找一个名为vpnc-script-win.js
的脚本,并且会使用基于命令的主机脚本(CScript.exe)执行它。
当前版本的脚本可以在这里找到。
请注意,虽然该脚本在配置IPv6和Legacy IP的基础上基本上是功能性的,但是在退出时并没有完全清除配置,所以在接口上可能会留下老的IP地址。