在当今远程办公和跨地域协作日益普遍的背景下,虚拟私人网络(VPN)已成为企业和个人保障网络安全、实现异地访问的重要工具,作为网络工程师,掌握在Linux服务器上搭建稳定、安全的VPN服务是一项核心技能,本文将以CentOS操作系统为基础,详细介绍如何使用OpenVPN搭建一个功能完整的本地化VPN服务,适用于中小型企业或家庭用户部署。
准备工作必不可少,确保你有一台运行CentOS 7或更高版本的服务器(建议使用CentOS Stream或Minimal安装),并具备公网IP地址(若无公网IP,可考虑使用DDNS动态域名绑定),你需要通过SSH登录到服务器,并以root权限执行后续命令。
第一步是更新系统并安装必要的依赖包,执行以下命令:
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具包,OpenVPN则是核心服务软件。
第二步是配置PKI(公钥基础设施),进入 /etc/openvpn/easy-rsa/ 目录后,运行初始化脚本:
cd /etc/openvpn/easy-rsa/ make-cadir /etc/openvpn/easy-rsa/2.0 cd /etc/openvpn/easy-rsa/2.0/
然后编辑 vars 文件,设置你的国家、组织名称等信息(如 export KEY_COUNTRY="CN"),再执行:
source vars ./clean-all ./build-ca
这一步会生成根证书(ca.crt)和私钥(ca.key),它们是整个证书体系的信任基础。
接下来创建服务器证书和密钥对:
./build-key-server server
此步骤会提示你输入相关信息,最后生成 server.crt 和 server.key。
为了增强安全性,还需为客户端生成证书和密钥(每个客户端需单独生成):
./build-key client1
完成后,将 client1.crt、client1.key 和 ca.crt 合并成一个客户端配置文件(例如命名为 client1.ovpn),这是客户端连接时使用的配置。
第三步是配置OpenVPN主服务文件,复制默认模板到 /etc/openvpn/ 目录并重命名为 server.conf:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
编辑该文件,关键配置包括:
port 1194(指定端口)proto udp(推荐UDP协议,延迟更低)dev tun(使用TUN模式)ca ca.crt、cert server.crt、key server.key(引用证书)dh dh.pem(生成Diffie-Hellman参数:./build-dh)
第四步是启用IP转发和防火墙规则,修改 /etc/sysctl.conf 添加:
net.ipv4.ip_forward = 1
然后执行 sysctl -p 生效,接着配置iptables:
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
保存规则:service iptables save。
最后启动OpenVPN服务并设置开机自启:
systemctl enable openvpn@server systemctl start openvpn@server
至此,你的CentOS服务器已成功搭建为一个安全、稳定的OpenVPN服务器,客户端只需导入.ovpn配置文件即可连接,实现加密通信和远程访问,对于进阶用户,还可结合TLS认证、双因素验证、日志审计等功能进一步提升安全性。
这一过程不仅帮助你掌握基础网络架构能力,也为未来部署更复杂的SD-WAN或零信任网络打下坚实基础。

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






