阅读量:2
在CentOS 7上搭建VPN服务器,以OpenVPN为例,步骤如下:
1. 安装EPEL仓库
由于OpenVPN和Easy-RSA包不在CentOS的默认仓库中,首先需要安装EPEL仓库:
sudo yum install epel-release
2. 安装OpenVPN和Easy-RSA
接下来,安装OpenVPN和Easy-RSA,后者用于创建密钥和证书:
sudo yum install openvpn easy-rsa -y
3. 设置Easy-RSA
首先,复制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
4. 构建CA(证书颁发机构)
./easyrsa build-ca nopass
5. 生成服务器密钥和证书
生成服务器密钥和证书,记得将server
替换成你的服务器名:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
6. 生成Diffie-Hellman参数
./easyrsa gen-dh
7. 生成客户端密钥和证书
为客户端生成密钥和证书,将client
替换为你的客户端名:
./easyrsa gen-req client nopass ./easyrsa sign-req client client
8. 配置OpenVPN服务器
将必要的证书和密钥文件复制到/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
文件,确保关键的证书和密钥路径正确,还可能需要根据你的需求调整其他配置。
9. 启动OpenVPN服务器
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
10. 配置防火墙和转发
你可能需要更新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
11. 客户端配置
客户端配置文件需要包括客户端密钥、证书和CA证书。这些文件需要从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置。
这是一个基本的流程,你可能需要根据具体情况调整步骤。务必参考最新的OpenVPN文档和CentOS文档,以获取最新和更详细的指导。