或
如何在Linux服务器上搭建一个安全可靠的OpenVPN服务
作为一名网络工程师,我经常被问到:“怎么添加一个VPN服务器?”尤其是在远程办公、跨地域访问内网资源或保护隐私通信的场景中,部署一个可靠、易用且安全的VPN服务变得越来越重要,我将手把手带你使用OpenVPN(开源的SSL/TLS协议实现)在Linux服务器上搭建一个完整的VPN服务,适用于Ubuntu/Debian或CentOS/RHEL系统。
第一步:准备环境
你需要一台公网IP的Linux服务器(推荐使用云服务商如阿里云、腾讯云或AWS),并确保防火墙开放UDP端口1194(OpenVPN默认端口),登录服务器后,更新系统包管理器:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debiansudo yum update -y # CentOS/RHEL
第二步:安装OpenVPN和Easy-RSA
Easy-RSA是用于生成证书和密钥的工具,是OpenVPN身份认证的核心组件:
sudo apt install openvpn easy-rsa -y
第三步:配置证书颁发机构(CA)
创建证书目录结构:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息(可选但建议填写),然后执行:
./clean-all ./build-ca # 创建根证书,会提示输入Common Name(如 "MyVPN-CA")
第四步:生成服务器证书和密钥
继续执行:
./build-key-server server # 生成服务器证书,Common Name设为server ./build-key client1 # 为客户端生成证书,可重复此步骤添加多个用户
第五步:生成Diffie-Hellman参数和TLS密钥
这是增强加密强度的关键步骤:
./build-dh openvpn --genkey --secret ta.key
第六步:配置OpenVPN服务器
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ nano /etc/openvpn/server.conf
关键配置项包括:
port 1194(UDP端口)proto udpdev tunca ca.crt,cert server.crt,key server.key,dh dh.pem,tls-auth ta.key 0server 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(以Ubuntu为例):
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
第八步:启动OpenVPN服务
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第九步:分发客户端配置文件
每个客户端需要一个.ovpn文件,包含CA证书、客户端证书、密钥、以及连接信息。
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
将所有证书和配置文件打包发送给客户端,即可连接!
记住定期更新证书、监控日志、限制访问权限——这才是专业级的VPN运维之道。

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











