在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为保障数据传输安全的重要工具,对于拥有 Linux 服务器的用户而言,利用开源技术自主搭建一个稳定、可控且安全的 VPN 服务,不仅成本低廉,还能根据自身需求灵活定制,本文将详细介绍如何在 Linux 系统(以 Ubuntu 20.04 LTS 为例)上部署 OpenVPN 服务,帮助你构建一个可信赖的私有网络通道。

第一步:准备工作
确保你有一台运行 Linux 的服务器(物理机或云主机),并具备公网 IP 地址,登录服务器后,更新系统包列表并安装必要软件:

sudo apt update && sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y

OpenVPN 是目前最广泛使用的开源 VPN 解决方案之一,而 Easy-RSA 则用于生成证书和密钥,是实现 TLS 认证的核心组件。

第二步:配置证书颁发机构(CA)
Easy-RSA 提供了完整的 PKI(公钥基础设施)管理功能,首先复制默认配置到本地目录:

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@mycompany.com"

然后执行初始化和签发 CA 根证书:

./clean-all
./build-ca

这一步会生成 ca.crtca.key,是后续所有客户端和服务器证书的基础。

第三步:生成服务器证书与密钥
继续使用 Easy-RSA 为服务器签发证书:

./build-key-server server

系统会提示是否信任该证书,选择“yes”,完成后,还会生成 Diffie-Hellman 参数(用于密钥交换):

./build-dh

第四步:配置 OpenVPN 服务器
创建主配置文件 /etc/openvpn/server.conf如下(可根据实际网络环境调整):

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
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

此配置启用 UDP 协议、分配内部 IP 段、自动推送 DNS 和路由规则,确保客户端访问互联网时通过隧道加密传输。

第五步:启动服务并配置防火墙
启用 OpenVPN 服务:

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

若使用 UFW 防火墙,开放端口 1194 并允许转发:

sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo sysctl net.ipv4.ip_forward=1

第六步:分发客户端配置
为每个客户端生成独立证书(如 client1),并打包成 .ovpn 文件,包含 CA 证书、客户端证书、密钥及服务器地址,客户端只需导入该文件即可连接。


通过上述步骤,你可以在 Linux 上成功部署一个基于 OpenVPN 的私有网络服务,这种方式既满足了企业级安全性要求(TLS 加密 + 用户认证),又避免了第三方服务商的数据风险,随着对网络控制权的增强,自建 VPN 成为现代 IT 架构中不可或缺的一环,建议定期更新证书、监控日志,并结合 Fail2Ban 等工具防范暴力破解攻击,从而打造更健壮的网络安全体系。

Linux 系统下搭建安全高效的 VPN 服务,从零开始的完整指南  第1张

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