Ubuntu Server 上配置 OpenVPN 服务完整指南,从安装到客户端连接

dfbn6 2026-05-28 半仙VPN 15 0

在现代网络环境中,虚拟私人网络(VPN)已成为远程访问企业内网、保护数据传输安全的重要工具,对于运行 Ubuntu Server 搭建一个稳定可靠的 OpenVPN 服务不仅成本低廉,而且灵活性强,本文将详细介绍如何在 Ubuntu Server 上部署和配置 OpenVPN,涵盖从环境准备、服务安装、证书生成到客户端连接的全过程。

确保你的 Ubuntu Server 系统已更新至最新状态,执行以下命令:

sudo apt update && sudo apt upgrade -y

接下来安装 OpenVPN 和 Easy-RSA(用于管理证书):

sudo apt install openvpn easy-rsa -y

创建证书颁发机构(CA)和服务器证书是建立安全通信的基础,使用 Easy-RSA 工具初始化 PKI 目录:

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

编辑 vars 文件,根据需要修改默认值(如国家、组织名等),然后执行以下命令生成 CA 私钥和证书:

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

注意:nopass 表示不设置密码,适合服务器自动启动场景;若需更高安全性,可去掉该参数并手动输入密码。

生成服务器证书和密钥:

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

生成 Diffie-Hellman 参数以增强加密强度:

./easyrsa gen-dh

复制必要的文件到 OpenVPN 配置目录:

cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /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"
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

启用 IP 转发功能以支持客户端访问外网:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

配置防火墙(若使用 UFW):

sudo ufw allow 1194/udp
sudo ufw enable

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

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

客户端配置方面,使用 OpenVPN 客户端软件(如 OpenVPN Connect 或官方桌面版),导入以下配置文件:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3

生成客户端证书时,同样使用 Easy-RSA 工具:

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

至此,Ubuntu Server 上的 OpenVPN 服务已成功部署,通过此方案,你可以为远程办公、跨地域访问或私有云接入提供安全、高效的加密通道,建议定期更新证书和系统补丁,并结合日志监控与访问控制策略,进一步提升安全性。

Ubuntu Server 上配置 OpenVPN 服务完整指南,从安装到客户端连接

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