在当前远程办公和跨地域协作日益普及的背景下,安全可靠的虚拟私人网络(VPN)已成为企业与个人用户的重要工具,CentOS作为一款稳定、轻量且广泛使用的Linux发行版,非常适合用于搭建高性能的OpenVPN服务器,本文将详细介绍如何在CentOS 7或CentOS 8系统中,通过简单步骤完成OpenVPN服务的部署与配置,确保你能够快速建立一个加密、安全的远程访问通道。
第一步:准备工作
确保你的CentOS主机已安装最新补丁并具备公网IP地址(若为云服务器需开放相关端口),登录服务器后,执行以下命令更新系统:
sudo yum update -y
安装OpenVPN及相关依赖包:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第二步:生成证书和密钥
OpenVPN使用SSL/TLS协议进行身份验证,因此需要创建CA(证书颁发机构)及服务器/客户端证书,进入Easy-RSA目录:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/ cd /etc/openvpn/
编辑vars文件,设置国家、组织等基本信息(如CN=China, O=MyCompany),然后初始化PKI:
sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
上述操作会生成服务器证书(server.crt)、私钥(server.key)、客户端证书(client1.crt)、客户端私钥(client1.key)以及CA根证书(ca.crt)。
第三步:配置OpenVPN服务
复制示例配置文件并修改:
sudo cp /usr/share/doc/openvpn/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
关键配置项如下(可根据需求调整):
port 1194:指定OpenVPN监听端口(默认UDP)proto udp:使用UDP协议提升性能dev tun:使用TUN模式创建点对点隧道ca ca.crtcert server.crtkey server.keydh dh.pem(生成Diffie-Hellman参数:sudo ./easyrsa gen-dh)server 10.8.0.0 255.255.255.0:分配给客户端的IP段push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":设置DNS服务器user nobodygroup nobody
第四步:启用IP转发与防火墙规则
编辑/etc/sysctl.conf,取消注释net.ipv4.ip_forward=1,并执行:
sudo sysctl -p
配置iptables规则(或firewalld)允许UDP端口1194通过,并设置NAT:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
第五步:启动服务并测试
启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
将客户端所需的证书文件(ca.crt、client1.crt、client1.key)打包发送给客户端,并使用OpenVPN桌面客户端导入连接配置(.ovpn可参考官方文档模板)。
至此,你已在CentOS上成功搭建了一个基于TLS认证的OpenVPN服务,支持多用户接入,且具有良好的安全性与稳定性,此方案适合中小型企业或个人开发者快速构建内网穿透环境,是学习和实践网络虚拟化技术的理想起点。

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






