Windows 7 上的 OpenVPN 客户端-无法从配置脚本添加路由

Windows 7 上的 OpenVPN 客户端-无法从配置脚本添加路由

我正在从 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 客户端才能使其正常工作。

相关内容