CentOS系统搭建OpenVPN服务详解,从零开始配置安全远程访问通道
在现代企业网络环境中,远程访问内网资源已成为常态,无论是远程办公、跨地域协作,还是运维人员的远程维护,都需要一个安全、稳定的虚拟专用网络(VPN)解决方案,作为Linux发行版中的经典代表,CentOS因其稳定性与强大的社区支持,成为许多IT工程师部署OpenVPN服务的首选平台,本文将详细介绍如何在CentOS 7或8系统上安装、配置并启动OpenVPN服务,帮助你构建一条加密可靠的远程访问通道。
确保你的CentOS服务器已更新至最新版本,并拥有root权限,通过SSH登录后,执行以下命令更新系统软件包:
sudo yum update -y
安装EPEL(Extra Packages for Enterprise Linux)仓库,这是获取OpenVPN及相关工具的关键一步:
sudo yum install epel-release -y
然后安装OpenVPN和Easy-RSA(用于证书管理):
sudo yum install openvpn easy-rsa -y
完成安装后,进入Easy-RSA目录初始化PKI(公钥基础设施)环境:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
执行初始化脚本:
./easyrsa init-pki
接着生成CA(证书颁发机构)证书:
./easyrsa build-ca
此步骤会提示你输入CA名称(默认即可),之后生成ca.crt和ca.key文件,它们是后续所有客户端和服务器证书的基础。
下一步,生成服务器证书和密钥对:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
同样,为每个客户端生成独立的证书和密钥,
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
这些操作完成后,将生成的证书文件(如ca.crt、server.crt、server.key)复制到OpenVPN主配置目录:
cp pki/ca.crt /etc/openvpn/ cp pki/issued/server.crt /etc/openvpn/ cp pki/private/server.key /etc/openvpn/
现在创建OpenVPN服务器主配置文件 /etc/openvpn/server.conf如下:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.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
注意:若未自动生成dh.pem文件,可运行 ./easyrsa gen-dh 生成DHE参数。
配置完成后,启用并启动OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
检查防火墙设置,开放UDP端口1194:
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
至此,OpenVPN服务已在CentOS上成功部署,客户端可通过.ovpn配置文件连接,该文件需包含CA证书、客户端证书、私钥及服务器地址等信息,使用OpenVPN GUI(Windows)或OpenVPN Connect(移动端)即可轻松接入。
通过上述步骤,你不仅掌握了一个完整的OpenVPN部署流程,还理解了证书体系、加密机制和网络路由策略的核心原理,这正是网络工程师在实践中必须具备的能力——既懂技术,也重安全。




