如何在 Windows 10 中自动启动和自动连接 OpenVPN?

Yet*_*ser 19 openvpn windows-10

Windows 10 启动似乎很奇怪,或者至少是新的。许多程序不像以前的版本那样自动启动,很多人都在问如何让事情自动启动。我知道,因为我一直在寻找自动启动我习惯的程序。

如何让 OpenVPN 在启动时启动,在连接之前阻止 Internet 访问,并自动登录到 OVPN 配置文件?

我已经将凭据保存在文本文件中,因此 OpenVPN 只需要加载文件、处理它并进行连接。

我曾经在 Windows 7 上使用过这个,但我似乎忘记了怎么做,

DGo*_*iko 36

最好的方法是使用服务:

  1. 安装客户端时安装OpenVPN服务;
  2. 将您的 OpenVPN 配置文件(扩展名为 .ovpn,而不是 Linux 上常见的 .conf)放在 OpenVPN 安装目录的 config 子目录中,可能是C:\Program Files\OpenVPN\config.
  3. 打开服务控制台 ( services.msc);
  4. 找到 OpenVPNService,右键单击它,属性,并将启动类型从“手动”更改为“自动”。
  5. 启动该服务,OpenVPN 将查找并连接到任何 .ovpn 文件中的配置文件。请记住,在大多数情况下,每个连接文件都需要一个 TUN/TAP 接口。在 Windows 中,我强烈建议使用配置文件将接口与其连接永久关联: dev-node TAP_Serv强制 OpenVPN 将连接绑定到名为“Tap_Serv”的网络接口。

您可能想要调查是否有一种方法可以详细说明白名单以强制服务仅连接到特定文件,而不是全部。过去我遇到过一些问题,他们需要将 VPN 服务器作为服务以及在同一台机器上的几个 vpn 客户端文件,这些文件只时不时地连接。在这些情况下,如果我希望 OpenVPN GUI 向他们显示可用连接的漂亮列表,这意味着该服务会看到这些文件并尝试自动连接到它们。在这些情况下,我决定根本不使用服务:

如果使用服务不是一个选项,您可以将额外的命令行参数传递给 OpenVPN GUI 调用,使其在启动时自动连接(以及像往常一样显示托盘图标):

openvpn-gui.exe --connect myprofile.ovpn
Run Code Online (Sandbox Code Playgroud)

要在登录时运行它,请将此类快捷方式放在常用的启动文件夹中。(对于所有用户,%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup; 或仅对于当前用户,%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup。)


我不知道如何避免用户在设置 VPN 之前连接到 Internet。我可以确定是否通过 Windows 防火墙的唯一方法,而且我不是该主题的专家。如果您想避免高级用户访问 Internet,您需要在网关中安装防火墙以避免这种情况,或者使用强大的组策略来避免权限升级。

对于普通用户,您可以在没有默认网关的情况下配置 Windows 客户端机器。使用以下命令在 Windows 客户端上设置到 VPN 服务器的持久静态路由(-P 使其持久化):

route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>
Run Code Online (Sandbox Code Playgroud)

Windows 中的 Roues 存储在以下注册表项下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
Run Code Online (Sandbox Code Playgroud)

此时,断开连接的客户端只能访问 VPN 服务器。然后您可以在 VPN 服务器配置文件中添加以下行,以便在客户端连接时在客户端上添加路由:

要将 VPN 服务器配置为默认网关:

push "redirect-gateway def1 bypass-dhcp"
Run Code Online (Sandbox Code Playgroud)

要通过 VPN 服务器添加特定路由:

push "route 192.168.1.0 255.255.255.0"
Run Code Online (Sandbox Code Playgroud)

有时路由推送在 Windows 上不起作用。当我遇到这种情况时,我从 Windows 中完全卸载 OpenVPN 及其接口,重新启动系统并安装最新版本的软件。然后,在建立第一个连接之前,我重新启动了 Windows。这始终解决了问题,但是,Windows 10 周年更新(1607)在 OpenVPN 中存在问题。在 OpenVPN 论坛中有一个更深入讨论的链接:

Windows 10 周年更新的连接问题

在设置 Windows 10 OpenVPN 客户端时请记住这一点。