本文完整阅读约需 5 分钟,如时间较长请考虑收藏后慢慢阅读~

一般来说,提供Web服务的Linux服务器是很少需要连接OpenVPN的,但是个人Linux计算机在很多时候就需要连接OpenVPN,比如以Linux为开发环境,需要连接公司或团队的OpenVPN等等。本文将以CentOS系统为例,介绍在终端下连接远程OpenVPN服务的方法。

安装OpenVPN

首先需要安装OpenVPN客户端。一般来说直接使用yum即可(在Debian系中是apt-get install xxx)。执行如下命令安装:

[root@myserver ~]# yum makecache
[root@myserver ~]# yum install epel-release
[root@myserver ~]# yum install openvpn

稍等片刻将自动安装好openvpn需要的软件包。安装完成后,应该出现/etc/openvpn/文件夹,安装即成功。

配置OpenVPN

作为客户端,OpenVPN并没有特定的配置文件,而是由服务器提供方给出一个配置文件。对于认证,OpenVPN提供了两种认证方法:基于用户名/密码的认证与SSL证书认证。用户名/密码的认证方法无法(或较难)限制一个账号同时连接多个客户端,而采用证书,则可保证同一证书同一时间只能有一个客户端连接。当然,这些都是由服务器端配置决定的,不需要客户端进行选择。

首先将OpenVPN服务器提供方发给你的配置文件解压,并将所有文件都复制到 /etc/openvpn/中。

这些文件中至少包含一个.ovpn文件;如果服务器需要证书认证,则应该还存在至少另外三个证书文件(ca.crt、client.crt、client.key),如果使用了加密传输,还需要ta.key。

连接OpenVPN

在配置好.ovpn文件后,执行

openvpn /etc/***.ovpn

即可连接服务器了。注意,上面的参数应该换成你的配置文件实际位置。

此时,终端会回显很多连接日志。如果连接不成功,则可以通过这些日志来确定出错位置。如果要断开,只需要通过Ctrl+C强制终止即可。

上面的命令在实际中并不方便,因为它要占用一个独立的终端。在测试成功后,使用以下命令即可在后台连接OpenVPN:

openvpn /etc/***.ovpn > /dev/null &

值得称赞的是,openvpn非常智能,在连接异常中断、无法连接服务器、断网的情况下,它会自动重连。因此,如果希望开机即自动连接OpenVPN,或者是VPN常年在线,则可将上述命令行加入/etc/rc.local中。

注意,命令末尾的&符号不能省略,否则将可能阻塞系统的正常启动。