在当今数字化办公和远程访问日益普及的背景下,虚拟私人网络(VPN)已成为保障网络安全、实现跨地域访问的重要工具,对于使用Ubuntu操作系统的用户来说,OpenVPN是一个功能强大且开源的解决方案,能够帮助个人或企业构建安全可靠的私有网络隧道,本文将详细介绍如何在Ubuntu系统中部署并配置OpenVPN服务,涵盖环境准备、安装步骤、证书生成、服务启动以及客户端连接等关键环节。

确保你的Ubuntu服务器已安装并更新至最新版本,建议使用Ubuntu 20.04 LTS或更高版本,以获得更好的兼容性和安全性,通过终端执行以下命令进行系统更新:

sudo apt update && sudo apt upgrade -y

安装OpenVPN及相关依赖包:

sudo apt install openvpn easy-rsa -y

easy-rsa是用于生成SSL/TLS证书和密钥的工具集,是OpenVPN认证机制的核心组成部分。

下一步是配置证书颁发机构(CA),证书生成路径为/etc/openvpn/easy-rsa,运行以下命令初始化PKI(公钥基础设施):

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

编辑vars文件,根据实际需求修改国家代码、组织名称、省份等信息,

set_var EASYRSA_COUNTRY "CN"
set_var EASYRSA_PROVINCE "Beijing"
set_var EASYRSA_ORG "MyCompany"

然后生成CA证书和私钥:

./easyrsa init-pki
./easyrsa build-ca

接下来生成服务器证书和密钥:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

为客户端生成证书(可重复此步骤为多个用户创建不同证书):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

完成证书体系后,复制必要的文件到OpenVPN配置目录:

cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

注意:你需要先生成dh.pem文件,可通过命令./easyrsa gen-dh完成。

启用IP转发并配置iptables规则以允许流量转发:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

启动OpenVPN服务并设置开机自启:

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

至此,Ubuntu上的OpenVPN服务已成功部署,客户端只需下载对应的证书(包括ca.crt、client1.crt、client1.key),并按格式配置.ovpn文件即可连接,该方案适用于家庭办公、远程团队协作及企业内网安全接入等多种场景,具备高安全性、易维护性和灵活性。

Ubuntu系统下搭建与配置OpenVPN服务的完整指南  第1张

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