在当今数字化办公和远程工作的背景下,使用虚拟专用网络(VPN)已成为保障数据传输安全的重要手段,尤其是对于拥有Linux VPS(虚拟专用服务器)的用户而言,自行搭建一个私有、可控且高效的VPN服务,不仅能提升安全性,还能节省第三方服务费用,本文将详细介绍如何在Linux VPS上部署OpenVPN服务,帮助你快速建立一个稳定、安全的远程连接通道。

第一步:准备环境
确保你的VPS已安装Ubuntu或CentOS等主流Linux发行版,并具备root权限,建议使用Ubuntu 20.04或22.04版本,因其软件包管理工具apt更加成熟,登录VPS后,执行以下命令更新系统:

sudo apt update && sudo apt upgrade -y

第二步:安装OpenVPN与Easy-RSA
OpenVPN是开源且广泛使用的VPN解决方案,支持多种加密协议,我们使用Easy-RSA来生成证书和密钥,这是OpenVPN认证机制的核心组件。

sudo apt install openvpn easy-rsa -y

第三步:配置证书颁发机构(CA)
运行以下命令初始化证书目录:

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

编辑vars文件,设置国家、组织名称等信息,

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@example.com"
export KEY_CN="server"
export KEY_NAME="server"
export KEY_OU="OpenVPN"

然后执行:

./clean-all
./build-ca

这会生成CA根证书(ca.crt),用于后续客户端和服务端的身份验证。

第四步:生成服务器证书和密钥

./build-key-server server

按提示输入相关信息并确认,接着生成Diffie-Hellman参数(用于密钥交换):

./build-dh

第五步:配置OpenVPN服务
复制示例配置文件到/etc/openvpn/目录下:

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

编辑该文件,关键修改包括:

  • port 1194(可改为其他端口如443以绕过防火墙)
  • proto udp(推荐UDP,速度更快)
  • dev tun(使用隧道模式)
  • 设置证书路径:ca ca.crtcert server.crtkey server.keydh dh.pem
  • 启用IP转发和NAT:添加push "redirect-gateway def1 bypass-dhcp",使客户端流量通过服务器出口
  • 启用DNS:push "dhcp-option DNS 8.8.8.8"

第六步:启用IP转发和防火墙规则
编辑/etc/sysctl.conf,取消注释:

net.ipv4.ip_forward=1

执行:

sysctl -p

配置iptables规则允许VPN流量:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT

保存规则(Ubuntu可用iptables-persistent包)。

第七步:启动服务并测试

systemctl enable openvpn@server
systemctl start openvpn@server

客户端可通过OpenVPN图形界面导入生成的.ovpn配置文件(需包含ca.crt、client.crt、client.key),连接后即可实现加密通信。


通过以上步骤,你已在Linux VPS上成功搭建了一个功能完整的OpenVPN服务,它不仅支持多设备接入,还具备高安全性与灵活性,未来可根据需求扩展为WireGuard或使用Fail2ban加强防护,掌握这一技能,意味着你真正拥有了属于自己的私有网络基础设施。

Linux VPS搭建VPN教程,从零开始配置安全稳定的远程访问通道  第1张

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