随着远程办公、数据加密和隐私保护需求的日益增长,越来越多用户选择在自己的VPS(虚拟专用服务器)上部署私有VPN服务,Ubuntu作为最主流的Linux发行版之一,以其稳定性、开源生态和丰富的社区支持成为搭建VPN的理想平台,本文将详细介绍如何在Ubuntu VPS上使用OpenVPN协议搭建一个安全、稳定且可扩展的个人或团队级VPN服务。
第一步:准备环境
确保你已拥有一个运行Ubuntu 20.04 LTS或更高版本的VPS,并通过SSH登录,建议使用root账户或具有sudo权限的用户执行以下操作,首先更新系统包列表并升级所有软件:
sudo apt update && sudo apt upgrade -y
第二步:安装OpenVPN与Easy-RSA
OpenVPN是业界广泛使用的开源SSL/TLS VPN解决方案,支持多种认证方式,我们先安装核心组件:
sudo apt install openvpn easy-rsa -y
Easy-RSA用于生成证书和密钥,是OpenVPN身份验证的核心工具。
第三步:配置证书颁发机构(CA)
复制Easy-RSA模板到默认路径并初始化PKI:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,根据需要修改国家、组织等信息(如CN=China, O=MyCompany),然后执行:
./easyrsa init-pki ./easyrsa build-ca nopass
这一步会创建根证书颁发机构(CA),后续所有客户端和服务端证书都将由它签名。
第四步:生成服务器证书和密钥
为OpenVPN服务器生成证书和密钥:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
同时生成Diffie-Hellman参数以增强密钥交换安全性:
./easyrsa gen-dh
第五步:配置OpenVPN服务器
复制示例配置文件并进行关键修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ gunzip /etc/openvpn/server.conf.gz
编辑 /etc/openvpn/server.conf,设置如下重要参数:
port 1194:指定端口(可选UDP 1194或TCP 443)proto udp:推荐使用UDP协议提升性能dev tun:创建TUN设备用于点对点隧道ca,cert,key,dh:指向刚刚生成的证书路径server 10.8.0.0 255.255.255.0:分配给客户端的IP段push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":设置DNS服务器
第六步:启用IP转发与防火墙规则
允许内核转发IPv4数据包:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p
配置iptables规则(假设接口为eth0):
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
第七步:启动服务并测试
启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
为每个客户端生成证书和配置文件(使用easyrsa gen-req client1 nopass和sign-req client client1),导出.ovpn配置文件后即可在Windows、macOS、Android或iOS设备上使用。
在Ubuntu VPS上搭建OpenVPN不仅成本低、灵活性高,而且完全可控,通过上述步骤,你可以获得一个具备加密通信、访问控制、多用户管理能力的私有网络,建议定期更新证书、监控日志、配置Fail2Ban防止暴力破解,从而构建真正安全的远程接入通道。

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

