作为一名网络工程师,我经常需要为远程办公、分支机构互联或跨地域数据传输提供安全、稳定的解决方案,在众多虚拟专用网络(VPN)技术中,OpenVPN因其开源、灵活和高度可定制的特点,成为许多企业与个人用户的首选,本文将详细记录如何在CentOS 7操作系统上部署并配置OpenVPN服务,帮助你快速构建一个稳定且安全的远程访问通道。
确保你的CentOS 7服务器已安装并更新至最新状态,执行以下命令:
sudo yum update -y
我们需要安装EPEL仓库,因为OpenVPN及相关工具包可能不在默认软件源中:
sudo yum install epel-release -y
然后安装OpenVPN及其依赖组件:
sudo yum install openvpn easy-rsa -y
安装完成后,我们进入证书颁发机构(CA)的配置阶段,OpenVPN使用PKI(公钥基础设施)来验证客户端与服务器的身份,这一步至关重要,我们将使用easy-rsa脚本来生成密钥和证书:
cp -r /usr/share/easy-rsa/ /etc/openvpn/ 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" export KEY_CN="server" export KEY_NAME="server" export KEY_OU="OpenVPN"
接着运行初始化脚本并生成CA证书:
./clean-all ./build-ca
接下来生成服务器证书和密钥:
./build-key-server server
同样,为客户端生成证书(可以为多个客户端生成不同证书):
./build-key client1
生成Diffie-Hellman参数以增强加密强度:
./build-dh
复制生成的证书和密钥到OpenVPN主目录:
cp keys/{ca.crt,server.crt,server.key,ca.key,dh2048.pem} /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
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
启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
在防火墙中开放UDP端口1194(若启用firewalld):
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --reload
至此,你的CentOS 7 OpenVPN服务器已经成功部署,客户端只需将ca.crt、client1.crt、client1.key导出,并按标准格式配置OpenVPN客户端即可连接。
作为网络工程师,我们不仅要实现功能,更要确保安全性,务必定期更新证书、监控日志、限制访问IP范围,并考虑结合Fail2Ban等工具进一步提升防护能力,这套方案已在多个生产环境中稳定运行多年,值得信赖。

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






