在CentOS 7上安装OpenVPN是一项相对复杂的任务,但通过详细的步骤和明确的指导,可以顺利完成,以下是具体的安装步骤:
准备工作
1、关闭防火墙:
执行以下命令停止并禁用firewalld服务:
```bash
systemctl stop firewalld
systemctl disaBLe firewalld
```
2、关闭SELinux:
编辑/etc/selinux/config
文件,将enforcing
修改为disabled
,然后执行以下命令立即生效:
```bash
sed i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
```
3、安装依赖:
使用yum安装必要的软件包:
```bash
yum install y vim wget lrzsz gccc++ openssl openssldevel nettools lzo lzodevel pam pamdevel
```
4、下载OpenVPN和EasyRSA:
创建目录并下载所需的安装包:
```bash
mkdir /tmp/install
cd /tmp/install
wget https://swupdate.openvpn.org/community/releases/openvpn2.5.6.tar.gz
wget https://github.com/OpenVPN/easyrsa/releases/download/v3.0.8/EasyRSA3.0.8.tgz
```
安装OpenVPN和EasyRSA
1、解压缩并编译安装OpenVPN:
解压缩OpenVPN安装包并进入目录:
```bash
tar zxvf openvpn2.5.6.tar.gz
cd openvpn2.5.6
```
配置、编译并安装OpenVPN:
```bash
./configure prEFIx=/data/openvpn/
make && make install
```
添加OpenVPN的环境变量并使其生效:
```bash
echo e "PATH=\$PATH:/data/openvpn/sbin" > /etc/profile.d/openvpn256.sh
source /etc/profile
```
2、安装EasyRSA:
解压缩EasyRSA安装包并移动到指定目录:
```bash
tar zxvf EasyRSA3.0.8.tgz
mv EasyRSA3.0.8 /data/EasyRSA
```
配置OpenVPN服务器
1、准备CA签发机构环境:
拷贝EasyRSA目录并初始化PKI:
```bash
cp r /data/EasyRSA /data/openvpn/easyrsaserver
cd /data/openvpn/easyrsaserver
./easyrsa initpki
```
修改vars文件以设置证书有效期:
```bash
vim vars
set_var EASYRSA_CA_EXPIRE 36500
set_var EASYRSA_CERT_EXPIRE 3650
```
2、创建CA机构与服务器证书:
创建CA机构:
```bash
./easyrsa buildca nopass
```
创建服务端证书:
```bash
./easyrsa genreq openvpnserver nopass
```
3、配置OpenVPN服务:
将生成的证书文件复制到OpenVPN的配置目录:
```bash
cp /data/openvpn/easyrsaserver/pki/{ca.crt,issuer.crt,server.crt,server.key} /etc/openvpn/
cp /data/openvpn/easyrsaserver/pki/ta.key /etc/openvpn/
cp /usr/share/doc/openvpn2.4.12/sample/sampleconfigfiles/server.conf /etc/openvpn/
```
编辑server.conf配置文件,确保以下参数正确设置:
```bash
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
```
启用路由转发功能:
```bash
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl p
```
4、启动OpenVPN服务:
启动并设置开机自启:
```bash
systemctl start openvpn@server
systemctl enable openvpn@server
```
检查OpenVPN服务状态:
```bash
systemctl status openvpn@server
```
配置客户端连接
1、生成客户端证书:
生成客户端密钥对:
```bash
./easyrsa genreq client nopass
```
导出客户端证书和私钥:
```bash
./easyrsa exportclientcert client out=client.crt
./easyrsa exportclientkey client out=client.key
```
2、配置客户端连接文件:
复制并修改client.ovpn模板文件:
```bash
cp /usr/share/doc/openvpn2.4.12/sample/sampleconfigfiles/client.conf ~/
vim ~/client.conf
```
确保以下参数正确设置:
```bash
remote 服务器IP地址 1194
ca ca.crt
cert client.crt
key client.key
```
3、分发客户端配置文件:
将client.ovpn文件分发给客户端用户,以便他们能够连接到OpenVPN服务器。
通过以上步骤,您已经成功在CentOS 7上安装并配置了OpenVPN,外部员工可以通过VPN安全地访问公司的内部网络资源,如果遇到任何问题,请参考以下FAQs。