安装EPEL仓库
由于OpenVPN和EasyRSA不在CentOS的默认仓库中,需要先安装EPEL仓库,使用以下命令安装:
sudo yum install epelrelease y
安装OpenVPN和EasyRSA
安装OpenVPN和EasyRSA,OpenVPN用于创建和管理VPN连接,而EasyRSA则用于生成证书和密钥,执行以下命令:
sudo yum install openvpn easyrsA y
设置EasyRSA
1、复制样板文件:将EasyRSA的样板文件复制到一个新目录,并在该目录中生成密钥和证书。
mkdir p ~/easyrsa/keys cp rf /usr/share/easyrsa/3/* ~/easyrsa/ cd ~/easyrsa/
2、初始化PKI:初始化公钥基础设施(PKI)。
./easyrsa initpki
3、构建CA:构建证书颁发机构(CA),注意不要设置密码。
./easyrsa buildca nopass
4、生成服务器密钥和证书:生成服务器的密钥和证书,记得将server替换成你的服务器名。
./easyrsa genreq server nopass ./easyrsa signreq server server
5、生成DiffieHellman参数:生成DiffieHellman参数。
./easyrsa gendh
6、生成客户端密钥和证书:为客户端生成密钥和证书,将client替换成你的客户端名。
./easyrsa genreq client nopass ./easyrsa sign client client
配置OpenVPN服务器
1、复制证书和密钥文件:将生成的证书和密钥文件复制到OpenVPN的目录。
sudo cp ~/easyrsa/pki/private/server.key /etc/openvpn/ sudo cp ~/easyrsa/pki/issued/server.crt /etc/openvpn/ sudo cp ~/easyrsa/pki/ca.crt /etc/openvpn/ sudo cp ~/easyrsa/pki/dh.pem /etc/openvpn/
2、从样板配置文件创建服务器配置:从OpenVPN的样板配置文件创建你的服务器配置。
sudo cp /usr/share/doc/openvpn*/sampleconfigfiles/server.conf /etc/openvpn/
3、编辑配置文件:确保关键的证书和密钥路径正确,并根据需求调整其他配置。
sudo vi /etc/openvpn/server.conf
4、启动OpenVPN服务器:启动并启用OpenVPN服务器。
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
5、更新防火墙规则:更新iptables规则,允许VPN流量,并启用内核的IP转发。
echo 'net.ipv4.ip_forward=1' | sudo tee a /etc/sysctl.conf sudo sysctl p sudo firewallcmd addservice=openvpn permanent sudo firewallcmd addmasquerade permanent sudo firewallcmd reload
客户端配置
1、客户端配置文件需要包括客户端密钥、证书和CA证书,这些文件需要从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置。
2、为每个客户端生成密钥和证书后,将这些文件从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置,客户端配置文件可以从OpenVPN的样板配置文件创建,并根据你的需求进行修改。
通过以上步骤,你应该能够在CentOS上成功搭建一个VPN服务器,根据具体需求,你可能需要调整一些配置。