手把手教你用Linux VPS搭建安全可靠的VPN服务器(基于OpenVPN)

在当今网络环境日益复杂的背景下,保护个人隐私和数据安全变得尤为重要,对于拥有Linux VPS(虚拟专用服务器)的用户而言,搭建一个私有、加密且可自定义的VPN服务器是一个既实用又经济的选择,本文将详细介绍如何使用OpenVPN在Linux VPS上快速部署一个功能完整的VPN服务,适用于远程办公、绕过区域限制或提升家庭网络安全性等场景。

第一步:准备环境
确保你已拥有一个运行Ubuntu 20.04/22.04或CentOS 7/8的VPS,并通过SSH以root权限登录,建议使用静态IP地址,避免因IP变动导致客户端连接失败,在云服务商控制台中开放UDP端口(如1194),这是OpenVPN默认使用的协议端口。

第二步:安装OpenVPN及相关工具
更新系统包列表后,执行以下命令安装OpenVPN及Easy-RSA(用于证书管理):

# CentOS/RHEL
yum install -y epel-release && yum install -y openvpn easy-rsa

第三步:配置证书颁发机构(CA)
使用Easy-RSA生成PKI(公钥基础设施),首先复制模板文件到指定目录:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件,修改国家代码、组织名称等基本信息(可选),然后执行:

./clean-all
./build-ca

这一步会生成根证书(ca.crt),它是所有客户端和服务器认证的基础。

第四步:生成服务器证书与密钥
继续执行:

./build-key-server server

按提示输入信息并确认,完成后,还会生成服务器的密钥文件(server.key)和证书(server.crt)。

第五步:生成客户端证书(每个设备一个)
为每个需要连接的设备生成独立证书(例如客户A):

./build-key client-a

第六步:生成Diffie-Hellman参数和TLS密钥

./build-dh
openvpn --genkey --secret ta.key

第七步:配置OpenVPN服务
创建主配置文件 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

第八步:启用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 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

第九步:启动服务并设置开机自启

systemctl enable openvpn@server
systemctl start openvpn@server

ca.crtclient-a.crtclient-a.keyta.key打包发送给客户端,并使用OpenVPN GUI或手机App导入即可连接。

通过以上步骤,你便成功搭建了一个基于Linux VPS的高性能、高安全性的自建VPN服务器,它不仅成本低、可控性强,还能根据需求灵活扩展(如支持多用户、负载均衡、日志审计等功能),记住定期更新证书和软件版本,是保障长期稳定运行的关键。

Ubuntu/Debian  第1张

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