在CentOS上搭建VPN服务器,以OpenVPN为例,可以按照以下步骤进行:
搭建前准备
确认系统版本:确保Centos系统版本为7或8,本文以CentOS7为例。
具备root权限:搭建VPN服务器需要超级用户权限,因此请确保你拥有root访问权限。
安装EPEL仓库
由于OpenVPN和EasyRSA包不在CentOS的默认仓库中,首先需要安装EPEL仓库,执行以下命令:
sudo yum install epelrelease
安装OpenVPN和EasyRSA
安装OpenVPN和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(Public Key Infrastructure,公钥基础设施)。
./easyrsa initpki
构建CA(证书颁发机构)
使用以下命令构建CA,无需设置密码。
./easyrsa buildca nopass
生成服务器密钥和证书
生成服务器密钥和证书,记得将server
替换成你的服务器名。
./easyrsa genreq server nopass ./easyrsa signreq server server
生成DiffieHellman参数
生成DiffieHellman参数,这是密钥交换时的DiffieHellman算法所需的。
./easyrsa gendh
生成客户端密钥和证书
为客户端生成密钥和证书,将client
替换为你的客户端名。
./easyrsa genreq client nopass ./easyrsa signreq client client
配置OpenVPN服务器
1、复制证书和密钥文件:将必要的证书和密钥文件复制到/etc/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服务器配置,OpenVPN的安装应该包含了样板配置文件:
sudo cp /usr/share/doc/openvpn*/sample/sampleconfigfiles/server.conf /etc/openvpn/
然后编辑/etc/openvpn/server.conf
文件,确保关键的证书和密钥路径正确,还可能需要根据你的需求调整其他配置。
nano /etc/openvpn/server.conf
启动OpenVPN服务器
使用以下命令启动并启用OpenVPN服务器。
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
配置防火墙和转发
你可能需要更新iptables规则,允许VPN流量,并启用内核的IP转发,执行以下命令:
echo 'net.ipv4.ip_forward = 1' | sudo tee a /etc/sysctl.conf sudo sysctl p
然后更新防火墙规则,允许OpenVPN流量。
sudo firewallcmd addservice=openvpn permanent sudo firewallcmd addmasquerade permanent sudo firewallcmd reload
客户端配置
客户端配置文件需要包括客户端密钥、证书和CA证书,这些文件需要从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置,这是一个基本的流程,你可能需要根据具体情况调整步骤,务必参考最新的OpenVPN文档和CentOS文档,以获取最新和更详细的指导。