在当今远程办公日益普及的背景下,企业与个人用户对安全、稳定、可扩展的虚拟私人网络(VPN)需求不断增长,作为Linux系统中功能强大且广泛使用的开源工具,OpenVPN因其灵活性、安全性以及良好的社区支持,成为许多网络管理员首选的解决方案,本文将详细介绍如何在CentOS 7操作系统上部署并配置OpenVPN服务,确保用户能够通过加密通道安全访问内部网络资源。
确保你的CentOS 7服务器已更新至最新状态,并具备公网IP地址和基本防火墙设置,执行以下命令更新系统:
sudo yum update -y
安装EPEL源以获取更多可用软件包:
sudo yum install epel-release -y
然后安装OpenVPN及相关依赖组件:
sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具,是构建PKI(公钥基础设施)的核心组件。
下一步是配置证书颁发机构(CA),默认情况下,easy-rsa 的配置文件位于 /usr/share/easy-rsa/,我们需要将其复制到本地目录以便自定义:
cp -r /usr/share/easy-rsa/* /etc/openvpn/ cd /etc/openvpn/
编辑 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
这会创建一个名为 ca.crt 的根证书文件,所有客户端和服务端都将信任该证书。
随后,生成服务器证书和密钥:
./build-key-server server
注意:此步骤需要输入相关信息,如Common Name,建议填写“server”。
接着生成客户端证书(每个客户端都需要单独生成):
./build-key client1
同时生成Diffie-Hellman参数(用于密钥交换):
./build-dh
这些步骤完成后,我们开始配置OpenVPN服务端主文件,复制示例配置文件:
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/
编辑 /etc/openvpn/server.conf,关键配置包括:
port 1194:指定OpenVPN监听端口(建议改为非标准端口以增强安全性)proto udp:使用UDP协议提升性能dev tun:创建点对点隧道接口ca ca.crtcert server.crtkey server.keydh dh.pemserver 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转发功能,使服务器能充当网关:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置iptables规则允许OpenVPN流量通过:
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 start openvpn@server systemctl enable openvpn@server
至此,OpenVPN服务已在CentOS 7上成功部署,客户端可通过.ovpn配置文件连接,只需导入CA证书、服务器证书、私钥及DH参数即可实现安全接入,整个过程不仅保障了数据传输的机密性与完整性,也为后续扩展多用户认证、双因素验证等高级功能打下坚实基础。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速


