在企业网络环境中,远程访问内部资源(如文件服务器、数据库、办公系统)是一项常见需求,为了保障数据传输的安全性与稳定性,使用虚拟专用网络(VPN)成为首选方案,CentOS作为广泛应用于企业级服务器的操作系统,其稳定性和丰富的社区支持使其成为部署OpenVPN服务的理想平台,本文将详细介绍如何在CentOS 7或8系统中配置OpenVPN服务,实现安全、加密的远程访问内网资源。
确保你有一台运行CentOS的服务器,并具备root权限,建议使用最小化安装版本以减少潜在攻击面,完成系统更新后,执行以下步骤:
-
安装OpenVPN及相关工具
使用yum命令安装OpenVPN和Easy-RSA(用于证书管理):yum install -y openvpn easy-rsa
-
配置证书颁发机构(CA)
复制Easy-RSA模板到/etc/openvpn目录并初始化:make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa vim vars # 修改变量(如国家、组织名等) ./clean-all ./build-ca
此步骤生成CA证书,是后续所有客户端和服务器证书的基础。
-
生成服务器证书和密钥
./build-key-server server
系统会提示是否签名,选择“yes”即可,完成后,生成
server.crt、server.key等文件。 -
生成客户端证书(可为多个用户生成)
./build-key client1
每个客户端需要独立证书,便于身份验证和权限控制。
-
生成Diffie-Hellman参数和TLS密钥
./build-dh openvpn --genkey --secret ta.key
这些文件用于增强加密强度和防止重放攻击。
-
配置OpenVPN服务端
编辑/etc/openvpn/server.conf文件,关键配置包括:port 1194:指定端口(默认UDP)proto udp:使用UDP协议提高性能dev tun:创建点对点隧道ca,cert,key,dh:指向相应证书路径push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":设置DNS服务器user nobody和group nobody:降低权限提升安全性
-
启用IP转发和防火墙规则
在/etc/sysctl.conf中添加:net.ipv4.ip_forward = 1执行
sysctl -p生效,然后配置iptables或firewalld允许UDP 1194端口及转发规则:iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
-
启动服务并设置开机自启
systemctl enable openvpn@server systemctl start openvpn@server
将客户端证书(client1.crt、client1.key、ca.crt、ta.key)打包成.ovpn文件,分发给远程用户,连接时使用OpenVPN GUI(Windows)或Linux客户端即可访问内网服务。
通过以上步骤,你可以构建一个基于CentOS的OpenVPN环境,实现安全、可控的远程访问,此方案适用于中小型企业,兼具成本低、易维护、高安全性等优势,建议定期更新证书、监控日志,并结合双因素认证进一步提升安全性。

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






