在CentOS上安装和配置OpenVPN是一项复杂但非常有用的任务,特别是对于需要远程访问公司内网或在不同地区之间建立安全通信的用户,下面将详细介绍如何在CentOS系统上安装和配置OpenVPN,包括服务器端和客户端的设置。
一、安装OpenVPN Server
1、更新系统

- sudo yum update y
2、安装EPEL源并安装OpenVPN和EasyRSA
- sudo yum install epelrelease y
- sudo yum install openvpn easyrsa y
3、创建OpenVPN目录并复制EasyRSA文件
- mkdir p ~/openvpnca
- cp r /usr/share/easyrsa/3/* ~/openvpnca/
- cd ~/openvpnca
4、初始化EasyRSA环境
- ./easyrsa initpki
5、生成CA证书
- ./easyrsa buildca
6、生成服务器证书和密钥
- ./easyrsa buildserverfull server nopass
7、生成DiffieHellman参数

- ./easyrsa gendh
8、生成客户端证书和密钥(以client1为例)
- ./easyrsa buildclientfull client1 nopass
9、复制证书和密钥到OpenVPN配置目录
- mkdir p /etc/openvpn/server
- sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/server
- mkdir p ~/clientconfigs/keys
- cp pki/ca.crt pki/issued/client1.crt pki/private/client1.key ~/clientconfigs/keys/
10、生成ta.key文件
- sudo openvpn genkey secret /etc/openvpn/server/ta.key
11、配置OpenVPN服务器
复制默认配置文件并进行修改:
- sudo cp /usr/share/doc/openvpn*/sample/sampleconfigfiles/server.conf /etc/openvpn/server/server.conf
编辑/etc/openvpn/server/server.conf
,修改以下关键参数:
- port 1194
- proto udp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key # This file should be kept secret
- dh none
- server 10.8.0.0 255.255.255.0
- ifconfigpoolpersist ipp.txt
- push "redirectgateway def1 bypassdhcp"
- push "dhcpoption DNS 208.67.222.222"
- push "dhcpoption DNS 208.67.220.220"
- duplicatecn
- keepalive 10 120
- tlscrypt ta.key
- cipher AES256GCM
- auth SHA256
- persistkey
- persisttun
- status /var/log/openvpn/openvpnstatus.log
- verb 3
- explicitexitnotify 1
12、配置防火墙
确保防火墙允许OpenVPN流量:
- sudo systemctl enable firewalld
- sudo systemctl start firewalld
- sudo firewallcmd zone=public addservice=openvpn permanent
- sudo firewallcmd zone=public addmasquerade permanent
- sudo firewallcmd reload
13、启动OpenVPN服务
- sudo systemctl start openvpn@server
二、配置OpenVPN Client
1、下载OpenVPN客户端
- sudo yum install openvpn y
2、复制证书和密钥到客户端计算机
将以下文件从服务器复制到客户端计算机:
- /etc/openvpn/ca.crt
- ~/clientconfigs/keys/client1.crt
- ~/clientconfigs/keys/client1.key
3、创建客户端配置文件
在客户端计算机上创建一个名为client.ovpn
的文件,并将以下内容复制到该文件中:
- client
- dev tun
- proto udp
- remote your_server_ip 1194
- resolvretry infinite
- nobind
- ca ca.crt
- cert client1.crt
- key client1.key
- nscerttype server
- verb 3
将your_server_ip
替换为OpenVPN服务器的IP地址。
4、连接到OpenVPN服务器
- sudo openvpn config client.ovpn
三、FAQs
Q1: OpenVPN无法连接怎么办?
A1: 如果OpenVPN无法连接,首先检查以下几点:
确保服务器和客户端的防火墙规则正确配置,允许OpenVPN流量。
确认服务器上的OpenVPN服务已经启动并且正在运行。
检查服务器和客户端的日志文件(如/var/log/openvpn/openvpnstatus.log
),查找错误信息。
确保客户端的配置文件中的服务器IP和端口正确。
确保网络连接正常,可以通过ping命令测试服务器的连通性。
Q2: 如何更改OpenVPN的端口号?
A2: 要更改OpenVPN的端口号,只需在服务器和客户端的配置文件中修改port
参数即可,将默认的1194端口改为其他端口:
在服务器的配置文件/etc/openvpn/server/server.conf
中,将port 1194
改为port 2000
。
在客户端的配置文件中,将remote your_server_ip 1194
改为remote your_server_ip 2000
。