在CentOS上安装OpenVPN是一项涉及多个步骤的复杂过程,但通过详细的指导和清晰的步骤,可以确保一次性成功,以下是具体步骤:
准备工作
1、更新系统:在开始之前,请确保您的CentOS系统已更新到最新版本,使用以下命令进行更新:
```bash
sudo yum update y
```
2、安装EPEL源:OpenVPN不在默认的CentOS存储库中,因此需要先安装EPEL源(Extra Packages for Enterprise Linux):
```bash
sudo yum install epelrelease y
```
3、安装依赖软件:在安装OpenVPN之前,需要安装一些必要的依赖软件包:
```bash
sudo yum install openvpn easyrsa epelrelease y
```
生成证书和密钥
1、安装EasyRSA:
```bash
sudo yum install easyrsa y
```
2、创建目录并复制文件:
创建一个用于存放EasyRSA配置文件的目录,并复制示例变量文件:
```bash
mkdir /etc/openvpn/easyrsa
cp a /usr/share/easyrsa/3.0.8/* /etc/openvpn/easyrsa/
cp a /usr/share/doc/easyrsa3.0.8/vars.example /etc/openvpn/easyrsa/vars
```
3、配置vars
文件:编辑vars
文件,设置一些基本的变量:
```bash
vi /etc/openvpn/easyrsa/vars
```
添加或修改以下内容:
```bash
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "Beijing"
set_var EASYRSA_REQ_CITY "Shanghai"
set_var EASYRSA_REQ_ORG "MyOrg"
set_var EASYRSA_REQ_EMAIL "email@example.com"
set_var EASYRSA_REQ_OU "MyOrgUnit"
```
4、初始化PKI:
```bash
cd /etc/openvpn/easyrsa
./easyrsa initpki
```
5、构建CA:
```bash
./easyrsa buildca
```
6、生成服务器证书和私钥:
```bash
./easyrsa genreq server nopass
./easyrsa signreq server server
```
7、生成DiffieHellman参数:
```bash
./easyrsa gendh
```
8、生成客户端证书和私钥(根据需要重复执行生成多个客户端证书):
```bash
./easyrsa genreq client1 nopass
./easyrsa signreq client client1
```
安装和配置OpenVPN
1、安装OpenVPN:
```bash
sudo yum install openvpn y
```
2、创建TLS密钥:
```bash
openvpn genkey secret /etc/openvpn/ta.key
```
3、配置服务端配置文件:
创建或编辑OpenVPN的服务端配置文件/etc/openvpn/server.conf
:
```bash
port 1194
protocol udp
dev tun
ca /etc/openvpn/easyrsa/pki/ca.crt
cert /etc/openvpn/easyrsa/pki/issued/server.crt
key /etc/openvpn/easyrsa/pki/private/server.key
dh /etc/openvpn/easyrsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "redirectgateway def1 bypassdhcp"
push "route 10.66.17.0 255.255.255.0"
keepalive 10 120
maxclients 100
user nobody
group nobody
persistkey
persisttun
status openvpnstatus.log
logappend /var/log/openvpn.log
verb 3
```
4、启动OpenVPN服务:
```bash
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
```
5、配置防火墙:
允许OpenVPN流量通过防火墙:
```bash
sudo firewallcmd permanent addservice=openvpn addport=1194/udp
sudo firewallcmd reload
```
6、验证配置:
检查OpenVPN服务状态:
```bash
sudo systemctl status openvpn@server
```
客户端配置
1、复制客户端文件:将生成的客户端证书和私钥文件复制到客户端机器上,例如client1.crt
和client1.key
。
2、创建客户端配置文件:在客户端上创建或编辑配置文件client.ovpn
:
```bash
client
dev tun
proto udp
remote <服务器IP> 1194
resolvretry infinite
nobindmain
persistkey
persisttun
ca /path/to/ca.crt
cert /path/to/client1.crt
key /path/to/client1.key
cipher AES256CBC
auth SHA256
complzo
verb 3
```
相关FAQs
1、如何在CentOS上查看OpenVPN的运行状态?
答:可以通过以下命令查看OpenVPN的运行状态:
```bash
sudo systemctl status openvpn@server
```
2、如何重启OpenVPN服务?
答:可以使用以下命令重启OpenVPN服务:
```bash
sudo systemctl restart openvpn@server
```
通过以上步骤,您应该能够在CentOS系统上成功安装和配置OpenVPN,实现安全的网络连接,如果有任何问题或疑问,请随时查阅官方文档或寻求专业帮助。