在当今高度互联的网络环境中,企业或个人用户常常需要通过安全的方式远程访问内部资源,虚拟专用网络(VPN)正是实现这一目标的核心技术之一,OpenVPN 是一款开源、灵活且功能强大的SSL/TLS-based VPN解决方案,广泛应用于Linux系统中,本文将以 CentOS 7 或 8 为例,详细介绍如何在该操作系统上部署和配置 OpenVPN 服务,确保远程用户能够安全、稳定地接入内网。
确保你有一台运行 CentOS 7 或 8 的服务器,并具备 root 权限,建议使用最小化安装版本以减少不必要的软件包依赖,在开始前,请确认你的服务器已连接到公网并拥有一个静态IP地址,因为动态IP可能导致客户端无法持续连接。
第一步是更新系统并安装必要的软件包,执行以下命令:
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具,而 openvpn 是核心服务组件。
第二步是配置证书颁发机构(CA),OpenVPN 使用 PKI(公钥基础设施)进行身份验证,因此我们需要先创建 CA 和服务器证书,进入 /etc/openvpn/easy-rsa/ 目录后,复制模板配置文件并编辑:
cd /etc/openvpn/easy-rsa/ cp vars.example vars nano vars
在 vars 文件中,根据你的需求修改如下参数:
KEY_COUNTRY="CN"KEY_PROVINCE="Beijing"KEY_CITY="Beijing"KEY_ORG="MyCompany"KEY_EMAIL="admin@example.com"
然后执行初始化脚本和生成 CA 密钥:
./clean-all ./build-ca
接下来生成服务器证书和密钥:
./build-key-server server
注意:在提示输入Common Name时,必须输入 server(这是OpenVPN默认使用的名称),否则服务将无法启动。
随后生成客户端证书和密钥,例如为名为 client1 的用户创建证书:
./build-key client1
生成 Diffie-Hellman 参数(用于加密交换)和 TLS 密钥(用于认证):
./build-dh openvpn --genkey --secret ta.key
完成证书生成后,将相关文件复制到 OpenVPN 配置目录:
cp ca.crt ca.key server.crt server.key dh2048.pem ta.key /etc/openvpn/
第三步是配置 OpenVPN 主服务文件,创建 /etc/openvpn/server.conf 文件并添加以下内容:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
tls-auth ta.key 0
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 openvpn-status.log
verb 3
此配置启用UDP协议、分配10.8.0.0/24子网给客户端、推送DNS设置,并启用压缩以提升性能。
第四步是启用IP转发和配置防火墙规则,编辑 /etc/sysctl.conf 并取消注释:
net.ipv4.ip_forward = 1
应用更改:
sysctl -p
然后配置iptables(或firewalld)允许流量转发:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A INPUT -p udp --dport 1194 -j ACCEPT
如果使用 firewalld,则需添加端口和区域规则。
启动 OpenVPN 服务并设为开机自启:
systemctl enable openvpn@server systemctl start openvpn@server
你可以将客户端证书(client1.crt、client1.key、ca.crt、ta.key)打包成 .ovpn 文件,分发给用户,客户端只需导入该文件即可连接服务器,从而安全访问内网资源。
通过以上步骤,你可以在 CentOS 系统上成功搭建一个功能完整的 OpenVPN 服务器,这种方式不仅成本低廉,而且具有良好的可扩展性和安全性,特别适合中小企业或远程办公场景,建议定期更新证书、监控日志并实施访问控制策略,以进一步保障网络安全。

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






