Ubuntu系统下搭建与配置VPN服务的完整指南

hh785003 2026-02-02 vpn加速器 7 0

在当今数字化办公日益普及的时代,网络安全和远程访问成为企业与个人用户的核心需求,Ubuntu作为最受欢迎的Linux发行版之一,因其开源、稳定和高度可定制的特点,常被用于构建安全可靠的虚拟私人网络(VPN)服务,本文将详细介绍如何在Ubuntu系统上部署并配置一个基于OpenVPN的私有VPN服务,帮助用户实现安全加密的远程访问。

准备工作必不可少,确保你有一台运行Ubuntu 20.04或更高版本的服务器(物理机或云主机),具备公网IP地址,并已安装SSH客户端以便远程管理,登录到服务器后,建议先更新系统包列表:

sudo apt update && sudo apt upgrade -y

安装OpenVPN及相关工具,我们使用官方仓库中的openvpn软件包,它支持多种认证方式(如证书+密码、双因素等),执行以下命令:

sudo apt install openvpn easy-rsa -y

easy-rsa是用于生成数字证书和密钥的工具,是OpenVPN身份验证的关键组件。

初始化证书颁发机构(CA),进入Easy-RSA目录并设置环境变量:

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
sudo cp -r /usr/share/easy-rsa/* .
sudo nano vars

编辑vars文件,根据你的组织信息修改相应字段,如KEY_COUNTRYKEY_PROVINCE等,然后执行:

./clean-all
./build-ca

这一步会创建根证书(ca.crt),用于后续所有客户端和服务器的签名验证。

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

./build-key-server server

按提示输入信息,确认是否自签名,完成后生成server.crt和server.key文件。

为客户端生成证书(每个客户端需要独立证书):

./build-key client1

同样,你可以为多个客户端分别生成证书。

配置OpenVPN服务器主文件,复制模板到/etc/openvpn目录:

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

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

  • port 1194(默认端口)
  • proto udp(推荐UDP协议)
  • dev tun(隧道设备类型)
  • 指定CA、服务器证书和密钥路径
  • 启用DH参数(dh dh.pem,可通过./build-dh生成)

保存后,启用IP转发以允许流量通过网关:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

配置iptables规则,使客户端能访问外部网络:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

启动OpenVPN服务:

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

至此,Ubuntu上的OpenVPN服务器已成功部署,客户端只需将生成的证书、密钥及配置文件打包发送给用户,并使用OpenVPN GUI或命令行连接即可,整个过程虽需一定技术基础,但一旦掌握,便可灵活扩展至多用户、高可用架构,真正实现安全可控的远程办公体验。

Ubuntu系统下搭建与配置VPN服务的完整指南

半仙加速器app