在当今远程办公和跨地域协作日益普遍的背景下,构建一个稳定、安全且易于管理的虚拟私人网络(VPN)已成为许多企业和个人用户的刚需,Ubuntu作为一款广受欢迎的Linux发行版,因其开源、易用、安全性高而成为搭建VPN服务的理想平台,本文将详细介绍如何在Ubuntu系统中使用OpenVPN搭建一套完整的、可扩展的VPN服务,适用于家庭网络、小型企业或开发者测试环境。

确保你有一台运行Ubuntu 20.04或更高版本的服务器(推荐使用Ubuntu Server版),并拥有公网IP地址,若无公网IP,可通过云服务商(如阿里云、腾讯云、AWS等)购买一台ECS实例来实现。

第一步:系统更新与依赖安装
登录到你的Ubuntu服务器,执行以下命令更新系统包列表并安装必要的工具:

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

easy-rsa是用于生成SSL/TLS证书和密钥的工具集,是OpenVPN认证体系的核心。

第二步:配置OpenVPN证书颁发机构(CA)
进入EasyRSA目录并初始化PKI(公钥基础设施):

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

编辑vars文件,根据实际需求修改组织名(ORG)、国家代码(C)、省份(ST)等信息,然后执行:

./clean-all
./build-ca

这会生成CA根证书(ca.crt),用于后续所有客户端和服务端证书的签发。

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

./build-key-server server

系统会提示输入密码(可选),并生成server.crt和server.key,为增强安全性,建议生成TLS验证密钥:

./build-dh

该密钥用于Diffie-Hellman密钥交换,提高加密强度。

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

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

编辑 /etc/openvpn/server.conf 文件,关键配置包括:

  • port 1194(默认UDP端口)
  • 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(分配给客户端的IP段)
  • push "redirect-gateway def1 bypass-dhcp"(强制客户端流量走VPN)
  • push "dhcp-option DNS 8.8.8.8"(设置DNS)

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

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

若使用UFW防火墙,开放UDP 1194端口:

sudo ufw allow 1194/udp

第六步:生成客户端证书和配置文件
在EasyRSA目录下执行:

./build-key client1

生成客户端证书后,打包client1.crt、client1.key、ca.crt及配置文件(client.ovpn)分发给用户,该文件需包含服务器IP、端口、协议及证书路径等信息。

测试连接:将客户端配置文件导入OpenVPN客户端(Windows/Linux/macOS均可),连接成功后即可访问内网资源,实现“远程办公”或“私有网络穿越”。

通过以上步骤,你可以在Ubuntu上快速部署一个功能完备、安全可靠的OpenVPN服务,此方案支持多用户接入、灵活权限控制,并可进一步集成到企业身份认证系统(如LDAP或OAuth),对于高级用户,还可考虑使用WireGuard替代OpenVPN以获得更高的性能表现。

Ubuntu系统下搭建安全高效的VPN服务完整指南  第1张

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