在当前远程办公和分布式部署日益普及的背景下,通过虚拟私有网络(VPN)安全访问服务器资源变得至关重要,对于使用 Ubuntu 操作系统的 VPS 用户而言,OpenVPN 是一个成熟、稳定且开源的解决方案,能够有效实现端到端加密通信,本文将详细介绍如何在 Ubuntu VPS 上搭建 OpenVPN 服务,涵盖系统环境准备、证书生成、服务配置、防火墙设置以及客户端连接等全流程步骤。
确保你的 Ubuntu VPS 已安装并更新至最新版本,登录服务器后执行以下命令:
sudo apt update && sudo apt upgrade -y
接着安装 OpenVPN 及其依赖组件,包括 Easy-RSA(用于管理 PKI 证书):
sudo apt install openvpn easy-rsa -y
下一步是创建证书颁发机构(CA),复制 Easy-RSA 的模板文件到 /etc/openvpn/easy-rsa 并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass
上述操作会生成 CA 根证书,无需密码保护以简化自动化流程。
随后生成服务器证书和密钥对:
sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
这将为 OpenVPN 服务器签发数字证书,然后生成 Diffie-Hellman 参数以增强密钥交换安全性:
sudo ./easyrsa gen-dh
接下来配置 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
此配置启用 UDP 协议、TUN 模式、自动分配 IP 地址,并推送路由规则使客户端流量通过服务器转发。
启动 OpenVPN 服务前,需开启内核 IP 转发功能,编辑 /etc/sysctl.conf 文件,取消注释以下行:
net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
配置防火墙规则(假设使用 UFW):
sudo ufw allow 1194/udp sudo ufw enable
同时允许转发流量:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
建议将该规则写入 /etc/rc.local 或 systemd 服务中以实现持久化。
为客户端生成证书,在 VPS 上运行:
sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
将 ca.crt、client1.crt 和 client1.key 下载至本地,并使用 OpenVPN 客户端软件(如 OpenVPN Connect)导入配置文件。
至此,Ubuntu VPS 上的 OpenVPN 服务已成功部署,用户可通过客户端连接到服务器,实现安全远程访问内部网络或跳过地理限制,整个过程虽略显复杂,但结构清晰、文档完备,适合运维人员按部就班实施,掌握这一技能不仅提升网络安全防护能力,也为构建私有云与混合架构打下坚实基础。

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

