现在项目需要将服务器上的gitlab代码同步到本地做备份使用,由于服务器不在内网环境中且不允许设置公网访问,所以需要在本地GitLab服务器上安装VPN来访问服务器。

VPN客户端需要注意一点,必须和服务器时间保持一致,不然无法连接到服务器的。所以先安装时间同步工具:ntpdate

yum install -y ntpdate
ntpdate -u ntp.api.bz

安装lzo组件

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
tar zxvf lzo-2.10.tar.gz -C /usr/src/
cd /usr/src/lzo-2.10/
./configure --enable-shared
make && make install

安装openvpn

cd /root
wget http://swupdate.openvpn.org/community/releases/openvpn-2.4.7.tar.gz
tar zxvf openvpn-2.4.7.tar.gz -C /usr/src/
cd /usr/src/openvpn-2.4.7/
./configure --prefix=/usr/local/openvpn
make && make install

在安装过程中,执行configure命令时有可能出现以下以下错误

configure: error: no acceptable C compiler found in $PATH
解决方案:
yum -y install gcc  

configure: error: libpam required but missing
解决方案:
yum -y install pam-devel

configure: error: openssl check failed
解决方案:
yum -y install openssl-devel 

创建配置文件存放目录

mkdir /usr/local/openvpn/etc

将.ovpn文件上传至此目录

启动客户端

/usr/local/openvpn/sbin/openvpn --config /usr/local/openvpn/etc/client.ovpn

当出现Initialization Sequence Completed时,表示已经连接成功

此时可以使用ping命令检测是否正常连接

ping -c 1 192.168.xxx.xxx

如果想要程序在后台运行,则启动客户端命令修改为:

# /usr/local/openvpn/sbin/openvpn  --daemon --config /usr/local/openvpn/etc/