在企业网络管理和远程办公日益普及的今天,构建一个稳定、安全的虚拟私人网络(VPN)已经成为许多组织不可或缺的技术手段,CentOS 7 作为一款成熟、稳定的 Linux 发行版,因其良好的兼容性和强大的社区支持,常被用于搭建各类网络服务,包括 OpenVPN,本文将详细介绍如何在 CentOS 7 上部署 OpenVPN 服务器,实现安全可靠的远程访问。

确保你的 CentOS 7 系统已更新至最新状态,并具备公网 IP 地址和基本网络配置,建议使用 root 用户或具有 sudo 权限的用户执行以下操作。

第一步:安装 OpenVPN 和 Easy-RSA
OpenVPN 是开源的 VPN 解决方案,Easy-RSA 是用于生成证书和密钥的工具包,通过以下命令安装:

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

第二步:配置 OpenVPN 服务
复制默认配置文件到 /etc/openvpn/ 目录下:

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

编辑配置文件以适配你的环境:

sudo vim /etc/openvpn/server.conf

关键修改项包括:

  • port 1194:指定 OpenVPN 使用的端口(可改为其他如 443,利于穿透防火墙)
  • proto udp:推荐使用 UDP 协议,延迟更低
  • dev tun:创建隧道设备
  • ca /etc/openvpn/easy-rsa/pki/ca.crt:CA 证书路径
  • cert /etc/openvpn/easy-rsa/pki/issued/server.crt:服务器证书
  • key /etc/openvpn/easy-rsa/pki/private/server.key:服务器私钥
  • dh /etc/openvpn/easy-rsa/pki/dh.pem:Diffie-Hellman 参数
  • server 10.8.0.0 255.255.255.0:分配给客户端的子网地址段
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量走 VPN
  • push "dhcp-option DNS 8.8.8.8":设置 DNS 服务器(可选)

第三步:生成证书和密钥
进入 Easy-RSA 工作目录并初始化 PKI:

cd /etc/openvpn/easy-rsa/
sudo make-cadir ./pki
cd pki

按提示完成 CA、服务器证书、客户端证书等的生成,这一步涉及交互式输入,建议记录好密码和证书名称。

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

net.ipv4.ip_forward = 1

执行 sysctl -p 生效,然后配置 iptables 规则:

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
sudo service iptables save

第五步:启动 OpenVPN 服务

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

为每个客户端生成 .ovpn 配置文件,并分发给用户,客户端只需导入该文件即可连接服务器,实现加密通信。

通过以上步骤,你可以在 CentOS 7 上成功架设一个功能完整的 OpenVPN 服务,满足远程办公、内网穿透、安全访问等需求,此方案成本低、扩展性强,适合中小型企业及个人开发者部署使用,建议定期更新证书、监控日志,并结合 Fail2ban 等工具增强安全性。

CentOS 7 架设 OpenVPN 服务,从零开始搭建安全远程访问通道  第1张

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