在当前远程办公与云服务日益普及的背景下,为确保企业或个人用户访问内网资源时的数据安全性与隐私性,搭建一个稳定、高效的虚拟私人网络(VPN)服务器显得尤为重要,本文将详细介绍如何在 CentOS 系统上仅使用一块网卡的情况下,成功部署 OpenVPN 服务,实现安全的远程接入。
准备工作必不可少,你需要一台运行 CentOS 7 或 CentOS 8 的物理机或虚拟机,确保其拥有公网 IP 地址(如通过阿里云、腾讯云或本地 ISP 获取),并已配置好基本网络连接,建议使用最小化安装版本以减少潜在漏洞,登录系统后,更新系统软件包:
sudo yum update -y
接下来安装 OpenVPN 和 Easy-RSA(用于证书管理):
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
安装完成后,初始化 PKI(公钥基础设施)环境,进入 Easy-RSA 目录并执行以下命令:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,根据需要修改组织名、国家代码等字段,
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
接着生成 CA 根证书和服务器证书:
./clean-all ./build-ca ./build-key-server server ./build-key client1 ./build-dh
这些步骤会生成服务器端证书、客户端证书以及 Diffie-Hellman 参数,是后续加密通信的基础。
然后配置 OpenVPN 主服务文件 /etc/openvpn/server.conf,以下是关键配置片段(可根据实际需求调整):
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
此配置启用 UDP 协议、创建虚拟子网 10.8.0.0/24,并推送路由规则使客户端流量经由服务器转发,实现“透明代理”效果。
下一步,启用 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
至此,服务器端搭建完成,客户端需导出 CA、client1.crt、client1.key 文件,配合 OpenVPN 客户端软件(如 OpenVPN GUI for Windows 或 Tunnelblick for macOS)即可连接,注意:首次连接时可能提示证书验证失败,请确认证书路径正确。
在 CentOS 单网卡环境中部署 OpenVPN,不仅成本低、易于维护,还能满足大多数远程办公场景的安全需求,只要合理配置网络策略与权限控制,就能构建一个高可用、可扩展的私有网络通道,对于希望提升数据传输安全性或实现远程访问的企业用户而言,这是一个值得推荐的技术方案。

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

