在企业网络或远程办公场景中,虚拟私人网络(VPN)是保障数据安全传输的重要手段,CentOS作为广泛使用的Linux发行版,其稳定性与安全性使其成为搭建VPN服务器的理想选择,本文将详细介绍如何在CentOS 7或CentOS 8/9上部署OpenVPN服务,并实现客户端连接,适用于初学者和有一定Linux基础的用户。
第一步:准备工作
确保你已拥有一个运行CentOS的服务器(物理机或云主机),并具备root权限,建议使用静态IP地址,以便客户端连接时稳定访问,首先更新系统软件包:
sudo yum update -y
第二步:安装OpenVPN及相关工具
OpenVPN依赖于Easy-RSA来管理证书,我们通过YUM安装:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第三步:配置证书颁发机构(CA)
OpenVPN采用PKI(公钥基础设施)进行身份认证,需先生成CA证书,执行以下命令初始化证书目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息(如CN=China, O=MyCompany),然后生成CA证书:
./clean-all ./build-ca
接着生成服务器证书和密钥:
./build-key-server server
为每个客户端生成唯一证书(例如客户名为client1):
./build-key client1
最后生成Diffie-Hellman参数(用于密钥交换):
./build-dh
第四步:配置OpenVPN服务端
复制模板配置文件到/etc/openvpn目录:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
编辑/etc/openvpn/server.conf,关键配置如下:
port 1194:指定OpenVPN监听端口(默认UDP)proto udp:使用UDP协议提高性能dev tun:创建TUN虚拟网卡ca /etc/openvpn/easy-rsa/keys/ca.crtcert /etc/openvpn/easy-rsa/keys/server.crtkey /etc/openvpn/easy-rsa/keys/server.keydh /etc/openvpn/easy-rsa/keys/dh2048.pemserver 10.8.0.0 255.255.255.0:定义内部IP段push "redirect-gateway def1 bypass-dhcp":让客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":指定DNS服务器
第五步:启用IP转发和防火墙规则
开启内核IP转发功能(编辑/etc/sysctl.conf):
net.ipv4.ip_forward = 1
执行sysctl -p使配置生效,然后配置iptables允许OpenVPN流量:
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
保存规则:service iptables save(CentOS 7)或firewall-cmd --permanent --add-port=1194/udp(CentOS 8+)。
第六步:启动服务并测试
启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
确认状态:systemctl status openvpn@server
第七步:客户端配置
将生成的证书文件(ca.crt、client1.crt、client1.key)打包发送给客户端,创建.ovpn配置文件,内容包括服务器IP、端口、协议及证书路径,使用OpenVPN GUI客户端导入即可连接。
至此,你在CentOS上成功搭建了一个安全、稳定的OpenVPN服务,可为远程办公提供加密通道,此方案适合中小型企业部署,可根据需求扩展至多用户、负载均衡或结合LDAP认证。

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






