CentOS 7搭建OpenVPN服务完整指南,从配置到安全优化

hyde1011 5 2026-05-10 03:38:29

在企业网络和远程办公场景中,虚拟专用网络(VPN)是保障数据传输安全的重要工具,CentOS 7作为广泛部署的Linux发行版,因其稳定性与成熟生态成为搭建OpenVPN服务器的理想选择,本文将详细介绍如何在CentOS 7系统上部署并配置OpenVPN服务,涵盖安装、证书生成、配置文件设置、防火墙规则调整以及安全优化策略,帮助用户快速构建一个稳定、安全的远程访问通道。

确保系统已更新至最新状态,执行以下命令:

sudo yum update -y

安装OpenVPN及相关依赖包:

sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

Easy-RSA是用于生成PKI(公钥基础设施)证书的工具,对OpenVPN的身份认证至关重要。

初始化证书颁发机构(CA),复制Easy-RSA模板到指定目录并编辑配置文件:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
nano vars

在vars文件中,根据实际需求修改国家、组织等字段,如export KEY_COUNTRY="CN"export KEY_PROVINCE="Beijing"等,保存后执行:

source ./vars
./clean-all
./build-ca

这会生成CA根证书(ca.crt),后续所有客户端和服务端证书都将基于此签发。

然后生成服务器证书和密钥:

./build-key-server server

按提示操作,接受默认值,再生成客户端证书:

./build-key client1

为增强安全性,可使用build-key-pass生成带密码保护的客户端证书。

完成证书生成后,复制相关文件至OpenVPN配置目录:

cp ca.crt ca.key server.crt server.key dh2048.pem /etc/openvpn/

创建主配置文件 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

启用IP转发和防火墙规则:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
firewall-cmd --permanent --add-port=1194/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

最后启动OpenVPN服务并设为开机自启:

systemctl start openvpn@server
systemctl enable openvpn@server

至此,OpenVPN服务已成功部署,客户端可通过OpenVPN GUI或命令行连接,只需导入ca.crt、client1.crt和client1.key即可建立加密隧道,为提升安全性,建议定期轮换证书、禁用弱加密算法,并结合Fail2Ban防止暴力破解攻击。

通过以上步骤,您可以在CentOS 7上构建一个功能完备、安全可靠的OpenVPN服务,满足远程办公、分支机构互联等多样化网络需求。

CentOS 7搭建OpenVPN服务完整指南,从配置到安全优化

上一篇:AWS VPN在知乎上的应用与实践,网络工程师的实战经验分享
下一篇:详解如何正确设置VPN ID,从基础概念到实际配置步骤
相关文章
返回顶部小火箭