在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内部资源的需求不断增长,OpenVPN 是一个开源、功能强大且高度可定制的虚拟私人网络(VPN)解决方案,广泛用于搭建安全可靠的远程接入通道,本文将详细介绍如何在 CentOS 7 系统上从零开始部署和配置 OpenVPN 服务,包括安装、证书生成、服务器配置、客户端连接以及防火墙设置等关键步骤,帮助你快速构建一个稳定、安全的私有网络隧道。
确保你的 CentOS 7 服务器已正确安装并更新至最新版本,登录服务器后,执行以下命令更新系统:
sudo yum update -y
安装 EPEL 仓库(Extra Packages for Enterprise Linux),因为 OpenVPN 的某些依赖包来自该源:
sudo yum install epel-release -y
然后安装 OpenVPN 和 easy-rsa(用于生成 SSL/TLS 证书):
sudo yum install openvpn easy-rsa -y
安装完成后,复制默认配置文件到 /etc/openvpn/ 目录,并创建一个名为 server.conf 的主配置文件:
sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
在 server.conf 中进行关键配置,例如监听端口(默认1194)、使用 UDP 协议、指定 TLS 密钥、启用压缩等,示例配置片段如下:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
生成证书和密钥,进入 easy-rsa 目录并初始化 PKI(公钥基础设施):
cd /etc/openvpn/easy-rsa/ make-cadir /etc/openvpn/easy-rsa/pki cd /etc/openvpn/easy-rsa/pki
编辑 vars 文件,设置国家、组织名称等基本信息,然后运行:
./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa gen-req server nopass ./easyrsa sign-req server server ./easyrsa gen-dh
这些命令将生成服务器所需的全部证书和密钥文件,为后续加密通信打下基础。
完成配置后,启用 IP 转发以支持数据包转发:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
接着配置防火墙规则(若使用 firewalld):
firewall-cmd --permanent --add-port=1194/udp firewall-cmd --permanent --add-masquerade firewall-cmd --reload
启动 OpenVPN 服务并设置开机自启:
systemctl enable openvpn@server systemctl start openvpn@server
至此,OpenVPN 服务已在 CentOS 7 上成功部署,用户可通过客户端软件(如 OpenVPN Connect、Windows 客户端)导入证书和配置文件连接到服务器,建议为每个用户单独生成客户端证书,并严格管理访问权限,从而实现多用户安全接入。
通过以上步骤,你不仅获得了一个可扩展的远程访问方案,还掌握了网络安全的核心技术——SSL/TLS 加密与 IP 隧道机制,这对于运维人员、开发者或小型团队来说,是构建私有云、远程办公环境的重要实践。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN






