在CentOS系统中搭建和配置OpenVPN服务的完整指南

hyde1011 1 2026-05-07 17:23:23

随着远程办公与分布式团队的普及,虚拟私人网络(VPN)已成为企业保障网络安全、实现跨地域访问的关键工具,作为网络工程师,在Linux服务器环境中,CentOS因其稳定性与成熟生态成为部署OpenVPN服务的热门选择,本文将详细介绍如何在CentOS 7或8上从零开始搭建并配置OpenVPN服务,涵盖安装、证书生成、服务配置、防火墙设置及客户端连接等全流程。

确保你的CentOS系统已更新至最新版本,并拥有root权限,通过以下命令升级系统:

sudo yum update -y

安装EPEL仓库(Extra Packages for Enterprise Linux),这是获取OpenVPN及相关依赖包的重要来源:

sudo yum install epel-release -y

然后安装OpenVPN软件包及其依赖项:

sudo yum install openvpn easy-rsa -y

OpenVPN的核心安全机制依赖于TLS/SSL证书,因此需要使用Easy-RSA工具生成CA证书和服务器/客户端证书,先复制Easy-RSA模板到默认目录:

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

编辑vars文件,设置国家、组织、密钥长度等参数(如KEY_COUNTRY="CN"KEY_PROVINCE="Beijing"KEY_CITY="Beijing"等),随后执行以下命令初始化PKI环境并生成CA证书:

./clean-all
./build-ca

接着生成服务器证书和密钥对:

./build-key-server server

为每个客户端生成独立证书(例如用户“client1”):

./build-key client1

同时生成Diffie-Hellman密钥交换参数(此步骤可能耗时较长):

./build-dh

所有证书生成完毕后,复制相关文件到OpenVPN配置目录:

cp keys/{ca.crt,server.crt,server.key,ca.crt,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 openvpn-status.log
verb 3

启用IP转发功能以支持NAT:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置iptables规则允许流量转发:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
service iptables save

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

systemctl start openvpn@server
systemctl enable openvpn@server

客户端方面,需下载ca.crtclient1.crtclient1.key,并创建.ovpn配置文件,包含服务器IP、协议、端口、证书路径等信息,用户可通过OpenVPN GUI客户端或命令行连接。

至此,一个安全、稳定的基于CentOS的OpenVPN服务已部署完成,此方案适合中小型企业用于远程接入,后续可根据需求扩展至多用户、双因素认证或结合LDAP身份验证,作为网络工程师,掌握此类技能不仅能提升运维效率,更能为企业构建更健壮的网络架构提供坚实基础。

在CentOS系统中搭建和配置OpenVPN服务的完整指南

上一篇:构建高效安全的VPN服务器,从基础搭建到企业级部署指南
下一篇:如何在VPS上搭建安全可靠的VPN服务,从零开始的完整指南
相关文章
返回顶部小火箭