一般来说,提供Web服务的Linux服务器是很少需要连接OpenVPN的,但是个人Linux计算机在很多时候就需要连接OpenVPN了。比如以Linux为开发环境,需要连接公司的OpenVPN等等。
本文将以Ubuntu系统为例,介绍在终端下连接远程OpenVPN服务的方法。
安装OpenVPN
首先需要安装OpenVPN客户端。一般来说直接使用apt-get即可。执行如下命令安装:
1 |
[root@www ~] # apt-get install openvpn
|
稍等片刻将自动安装好openvpn需要的软件包。安装完成后,应该出现
/etc/openvpn/
文件夹。
配置OpenVPN
作为客户端,OpenVPN并没有特定的配置文件,而是由服务器提供方给出一个配置文件。对于认证,OpenVPN提供了两种认证方法:基于用户名/密码的认证与SSL证书认证。用户名/密码的认证方法无法(或较难)限制一个账号同时连接多个客户端,而采用证书,则可保证同一证书同一时间只能有一个客户端连接。当然,这些都是由服务器端决定的,不需要客户端进行选择。
首先将OpenVPN服务器提供商发给你的配置文件解压,并将所有文件都复制到 /etc/openvpn/中。
这些文件中至少包含一个.ovpn文件,需要手动创建该文件,如:client.ovpn;如果服务器需要证书认证,则应该还存在另外三个证书文件。
看懂OpenVPN配置格式。下面是一个.ovpn配置示例:
client
dev tap
proto tcp-client
remote 192.168.135.75 1194
resolv-retry infinite
nobind
mute-replay-warnings
redirect-gateway
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
comp-lzo
verb 4
一般来说,红色的内容可能需要你进行修改。将红色的内容修改成这三个文件的实际位置。然后保存即可。
连接OpenVPN
在配置好.ovpn文件后,执行
openvpn /etc/openvpn/client.ovpn
即可连接服务器了(注意该目录下对应文件的权限)。注意,上面的参数应该换成你的配置文件实际位置。
此时,终端会回显很多连接日志。如果连接不成功,则可以通过这些日志来确定出错位置。如果要断开,只需要通过Ctrl+C强制终止即可。
上面的命令在实际中并不方便,因为它要占用一个独立的终端。在测试成功后,使用以下命令即可在后台连接OpenVPN:
openvpn /etc/openvpn/client.ovpn > /dev/null &
值得称赞的是,openvpn非常智能,在连接异常中断、无法连接服务器、断网的情况下,它会自动重连。因此,如果希望开机即自动连接OpenVPN,或者是VPN常年在线,则可将上述命令行加入
/etc/rc.local
中。注意,命令末尾的&符号不能省略,否则将可能阻塞系统的正常启动。