在当今远程办公和跨地域协作日益普遍的背景下,虚拟专用网络(VPN)已成为企业与个人用户保障网络安全的重要工具,OpenVPN作为一款开源、灵活且高度可定制的VPN解决方案,广泛应用于各类Linux系统中,尤其在CentOS这一稳定、企业级的操作系统上部署尤为常见,本文将详细介绍如何在CentOS系统(以CentOS 7或8为例)上从零开始搭建并配置OpenVPN服务,涵盖安装、证书生成、服务器配置、防火墙设置以及客户端连接步骤。

第一步:准备工作
确保你有一台运行CentOS的服务器(推荐使用最小化安装版本),具备公网IP地址,并已配置好SSH访问权限,登录服务器后,首先更新系统软件包:

sudo yum update -y

第二步:安装OpenVPN及相关工具
OpenVPN依赖于Easy-RSA来管理SSL/TLS证书,因此需一并安装:

sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

第三步:配置证书颁发机构(CA)
创建证书目录结构:

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"
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参数和TLS密钥:

./build-dh
openvpn --genkey --secret ta.key

第四步:配置OpenVPN服务器
复制示例配置文件并编辑:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
vim /etc/openvpn/server.conf

关键配置项包括:

  • port 1194(默认端口,可自定义)
  • proto udp(推荐UDP协议,性能更优)
  • dev tun(使用TUN设备模式)
  • ca ca.crtcert server.crtkey server.key(路径指向刚生成的证书)
  • dh dh2048.pem(DH参数文件)
  • tls-auth ta.key 0(启用TLS认证)
  • server 10.8.0.0 255.255.255.0(分配给客户端的IP段)
  • push "redirect-gateway def1 bypass-dhcp"(强制客户端流量走VPN)
  • push "dhcp-option DNS 8.8.8.8"(指定DNS)

第五步:启用IP转发和防火墙规则
编辑/etc/sysctl.conf

net.ipv4.ip_forward = 1

生效:

sysctl -p

配置iptables(若使用firewalld则用相应命令):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT

第六步:启动OpenVPN服务

systemctl enable openvpn@server
systemctl start openvpn@server

第七步:客户端配置
ca.crtclient1.crtclient1.keyta.key打包发送至客户端,并创建.ovpn配置文件:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
verb 3

至此,OpenVPN服务已在CentOS上成功部署,客户端可使用上述配置文件连接服务器,实现安全远程访问内网资源,此方案适合中小型企业及技术爱好者使用,具有高安全性、低延迟和良好扩展性,建议定期更新证书和固件以增强安全性。

CentOS下搭建OpenVPN服务的完整指南,从安装到客户端配置详解  第1张

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