我正在从 Windows 7 笔记本电脑连接到 openvpn 服务器,但无法自动添加路由。在我的脚本中,我有以下行:
route-up “路由添加 192.168.33.0 掩码 255.255.255.0 10.0.33.1”
但建立连接后出现错误消息:
Sat Feb 06 20:30:07 2010 us=974000 openvpn_execve: CreateProcess route failed: Cannot find file specified. (errno=2)
Sat Feb 06 20:30:07 2010 us=989000 Route script failed: external program did not execute -- returned error code -1
openvpn.exe 以管理员身份运行。有什么想法吗?
答案1
更好的使用:
路由 192.168.33.0 255.255.255.0 10.0.33.1
这样,当您连接和断开 VPN 时,路由将被添加和删除
答案2
呃,终于找到了一个解决方案(针对 Windows)。
在OpenVPN客户端配置中输入以下参数:
script-security 2 system
openvpn.net 手册中的描述(https://community.openvpn.net/openvpn/wiki/Openvpn22ManPage) 解释道:
--script-security level [method] 此指令提供对 OpenVPN 使用外部程序和脚本的策略级别控制。较低级别的值限制性更强,较高级别的值则更宽松。级别的设置:
0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe).
method 参数指示 OpenVPN 应如何调用外部命令和脚本。method 的设置:
execve -- (default) Use execve() function on Unix family OSes and CreateProcess() on Windows. system -- Use system() function (deprecated and less safe since the external program command line is subject to shell expansion).
OpenVPN 2.1_rc9 中引入了 --script-security 选项。为了与以前的 OpenVPN 版本兼容,请使用:
--script-security 3 system
答案3
您需要使用以管理员身份运行的命令来运行您的 OpenVNP 客户端才能使其正常工作。