在CentOS 7上搭建VPN服务器,以OpenVPN为例,步骤如下:
由于OpenVPN和Easy-RSA包不在CentOS的默认仓库中,首先需要安装EPEL仓库:
sudo yum install epel-release 接下来,安装OpenVPN和Easy-RSA,后者用于创建密钥和证书:
sudo yum install openvpn easy-rsa -y 首先,复制Easy-RSA的样板文件到一个新目录,在这个目录中你将生成密钥和证书:
mkdir -p ~/easy-rsa/keys cp -rf /usr/share/easy-rsa/3/* ~/easy-rsa/ cd ~/easy-rsa/ 接下来,初始化PKI(Public Key Infrastructure,公钥基础设施):
./easyrsa init-pki ./easyrsa build-ca nopass 生成服务器密钥和证书,记得将server替换成你的服务器名:
./easyrsa gen-req server nopass ./easyrsa sign-req server server ./easyrsa gen-dh 为客户端生成密钥和证书,将client替换为你的客户端名:
./easyrsa gen-req client nopass ./easyrsa sign-req client client 将必要的证书和密钥文件复制到/etc/openvpn/目录:
sudo cp ~/easy-rsa/pki/private/server.key /etc/openvpn/ sudo cp ~/easy-rsa/pki/issued/server.crt /etc/openvpn/ sudo cp ~/easy-rsa/pki/ca.crt /etc/openvpn/ sudo cp ~/easy-rsa/pki/dh.pem /etc/openvpn/ 然后,从样板配置文件创建你的OpenVPN服务器配置。OpenVPN的安装应该包含了样板配置文件:
sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/ 编辑/etc/openvpn/server.conf文件,确保关键的证书和密钥路径正确,还可能需要根据你的需求调整其他配置。
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 firewall-cmd --add-service=openvpn --permanent sudo firewall-cmd --add-masquerade --permanent sudo firewall-cmd --reload 客户端配置文件需要包括客户端密钥、证书和CA证书。这些文件需要从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置。
这是一个基本的流程,你可能需要根据具体情况调整步骤。务必参考最新的OpenVPN文档和CentOS文档,以获取最新和更详细的指导。