在启动时自动启动OpenVPN客户端


34

我正在尝试让OpenVPN在启动时自动启动。今天我必须手动输入

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

其次是用户名和密码。有没有什么好的方法可以使它在启动时自动运行?

Answers:


42

编辑/etc/default/openvpn。只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:

sudo gedit /etc/default/openvpn

取消注释AUTOSTART="all"行。保存并关闭。重新启动系统。

图片


(i)如何以这种方式启动特定的VPN?(ii)谁为以此方式发起的连接提供身份验证(可以在不将用户名和密码组合存储为纯文本的情况下发起连接)?(iii)如果可能,最好使用cli方法(允许在无头服务器上实现)。我可以替代nanogedit,但我不能在钥匙圈使用的nm-applet来存储凭证。
乔纳森·Y.2014年

@乔纳森 查看这些可用资源HereHere。您可能还需要考虑问一个新问题。
米奇

6
多谢。据我所知(i)的答案(完全在此问题的范围内)是AUTOSTART="all"尝试启动其中的每个.conf文件/etc/openvpn(不过,我很想确认)。(ii)的答案也合理地适用于此问题-除非秘密是在没有用户输入的情况下可用的,否则您不能自动启动VPN连接(由于明显的原因,钥匙串优于纯文本)。我承认(iii)是课外活动,可能值得提出一个新问题。我可以看到,这些链接都没有答案。
Jonathan Y.

如图片中的注释所示,AUTOSTART的默认设置实际上是“全部”。我认为,此编辑是不需要的。
Yves B

1
@YvesB默认为“全部”,仅当AUTOSTART未注释且为空时
GuSuku

9

如果您使用的是systemd(16.04),将其配置为AUTOSTART =“ all”,但仍无法启动,请注意以下几点:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

只是做一个

systemctl daemon-reload

然后重新启动服务

 sudo service openvpn restart

太好了,非常感谢。
pylover

8

你可以放在auth-user-pass filename你的anonine.ovpn地方filename是与2号线的用户名/密码的文件。

确保 filename已正确保护,因为其中将包含纯用户名/密码。

这是从 openvpn --help

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

您还可以anonine.ovpn通过以下方式将证书添加到添加中:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

3

如果不需要用户名/密码即可连接,请重命名.ovpn文件以具有.conf扩展名。

即使没有autostart = all,OpenVPN也应在启动时进行连接。

如果需要用户名/密码,

编辑.conf文件

编辑auth-user-pass用户密码文件名

创建一个包含以下内容的文件:

username
password

如果要连接网络管理器,请确保首先执行以下操作:

sudo apt-get install network-manager-openvpn

确保您的Ubuntu至少为14.04。这不适用于12.04。

如果没有ca.crt,client.crt等,请从.conf中提取它们。

使用网络管理器,创建一个新的VPN连接或导入您的conf。

添加证书和ta.key。

路由,仅将连接用于其网络上的资源。

使用网络管理器编辑Internet连接。选择“ 使用VPN连接”,然后选择您的VPN连接。


0

尽管OP可能对它不感兴趣,但我对这项服务直到登录后才开始感到沮丧,无论是图形用户界面还是Ctrl + Alt + F#TTY之一。最终,我意识到我的机器仅在登录后才能连接到wifi。将此处的其他答案与要运行的标准建议结合在一起sudo update-rc.d openvpn defaults,并将该其他问题的第一个答案对我来说很有效。也许这可能会帮助另一位Googler。


0

对我来说

auth-user-pass filename

不工作

使用

askpass /etc/openvpn/filename

而且只有密码在第一行

它起作用了,现在openvpn在启动时开始

检查openvpn是否正常的命令:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

检查您的IP(它必须与路由器的外部IP不同)

sudo service openvpn stop

sudo service openvpn start

检查您的配置而无需一直重启。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.