在企业网络或远程办公场景中,通过虚拟私人网络(VPN)实现安全、加密的数据传输至关重要,CentOS 7 作为一款稳定且广泛应用于服务器环境的操作系统,非常适合部署 OpenVPN 服务,本文将详细介绍如何在 CentOS 7 上安装、配置并启动 OpenVPN 服务,同时提供客户端连接方法,帮助用户快速搭建私有网络通道。
第一步:准备工作
确保你拥有 CentOS 7 的 root 权限,并已连接到互联网,建议先更新系统软件包:
sudo yum update -y
然后安装 EPEL 源(若尚未安装),因为 OpenVPN 包可能不在默认仓库中:
sudo yum install epel-release -y
第二步:安装 OpenVPN 和 Easy-RSA
OpenVPN 是开源的 VPN 解决方案,而 Easy-RSA 是用于生成证书和密钥的工具,执行以下命令安装:
sudo yum install openvpn easy-rsa -y
第三步:配置 CA 和证书
首先复制 Easy-RSA 示例目录到 /etc/openvpn/ 并设置权限:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件(使用 vim 或 nano),根据需求修改国家代码、组织名等信息,
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
运行以下命令初始化 PKI(公钥基础设施):
./clean-all ./build-ca
接着生成服务器证书和密钥:
./build-key-server server
提示是否签名时输入 "yes",随后为客户端生成证书(可重复此步骤为多个客户端创建不同证书):
./build-key client1
最后生成 Diffie-Hellman 参数(用于加密交换):
./build-dh
第四步:配置 OpenVPN 服务
复制示例配置文件并编辑:
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/ vim /etc/openvpn/server.conf
关键配置项包括:
port 1194:指定端口(可更改)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 转发和防火墙规则
编辑 /etc/sysctl.conf,取消注释:
net.ipv4.ip_forward = 1
应用配置:
sysctl -p
配置 iptables 放行流量(假设网卡为 eth0):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT service iptables save
第六步:启动 OpenVPN 服务
systemctl enable openvpn@server systemctl start openvpn@server systemctl status openvpn@server
第七步:客户端配置与连接
将 ca.crt、client1.crt、client1.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
auth SHA256
cipher AES-256-CBC
verb 3
使用 OpenVPN 客户端(如 OpenVPN GUI for Windows 或 Linux 命令行)加载此配置即可连接。
至此,你已在 CentOS 7 上成功搭建了一个功能完整的 OpenVPN 服务,可满足多用户远程安全访问内网资源的需求,后续可根据需要扩展认证方式(如 LDAP 或证书吊销列表)。

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

