Ubuntu系统搭建高效安全的VPN服务,从零开始配置OpenVPN详解

dfbn6 2026-05-20 半仙VPN下载 2 0

在当今远程办公与数据安全日益重要的背景下,搭建一个稳定、安全的虚拟私人网络(VPN)已成为许多企业和个人用户的刚需,作为网络工程师,我经常被问及如何在Linux系统上部署可靠的VPN服务,本文将以Ubuntu操作系统为例,详细介绍如何通过OpenVPN搭建一个功能完整、安全性高的本地或远程访问通道,帮助用户实现加密通信和内网穿透。

确保你有一台运行Ubuntu 20.04或更高版本的服务器(推荐使用Ubuntu Server版),并具备公网IP地址,如果你使用的是云服务商(如阿里云、腾讯云、AWS等),请提前配置好安全组规则,开放UDP端口1194(OpenVPN默认端口)以及SSH端口22。

第一步是安装OpenVPN及相关依赖包,打开终端,执行以下命令:

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

我们需要生成证书和密钥,Easy-RSA是一个用于管理PKI(公钥基础设施)的工具,进入Easy-RSA目录并初始化CA(证书颁发机构):

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

然后生成服务器证书和密钥:

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

客户端证书也需生成,以供不同设备连接使用(可批量生成多个客户端证书):

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

下一步是配置OpenVPN服务器,创建主配置文件 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/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 /var/log/openvpn-status.log
verb 3

保存后启动OpenVPN服务:

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

最后一步是启用IP转发功能,使客户端可以访问外网,编辑 /etc/sysctl.conf,取消注释:

net.ipv4.ip_forward=1

执行 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 state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

将上述规则持久化保存(如使用UFW或iptables-persistent),即可完成整个部署流程。

至此,你已成功在Ubuntu上搭建了一个基于TLS认证、支持多客户端连接的OpenVPN服务,该方案不仅适用于企业内网接入,还可用于家庭网络扩展、远程访问NAS等场景,建议定期更新证书、启用防火墙策略、监控日志,以保障长期稳定运行。

Ubuntu系统搭建高效安全的VPN服务,从零开始配置OpenVPN详解

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