在当今数字化办公日益普及的背景下,通过虚拟私有网络(VPN)安全地远程访问内网资源已成为许多开发者、运维人员和企业用户的刚需,Ubuntu作为最流行的Linux发行版之一,因其稳定性和强大的社区支持,成为搭建VPS(虚拟专用服务器)时的首选操作系统,本文将手把手带你使用Ubuntu系统在VPS上部署OpenVPN服务,实现安全、高效、可扩展的远程访问方案。
第一步:准备工作
确保你已拥有一个运行Ubuntu Server(推荐20.04 LTS或22.04 LTS)的VPS,并具备root权限或sudo权限,建议使用SSH密钥登录,提升安全性,你需要提前为VPS分配一个公网IP地址,并开放必要的端口(如UDP 1194,默认OpenVPN端口)到防火墙中。
第二步:安装OpenVPN及相关工具
更新系统软件包列表后,执行以下命令安装OpenVPN及Easy-RSA(用于证书管理):
sudo apt update sudo apt install openvpn easy-rsa -y
安装完成后,创建证书颁发机构(CA)和服务器证书,进入Easy-RSA目录并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息(根据需要修改),然后执行:
./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa gen-req server nopass ./easyrsa sign-req server server
生成客户端证书同样需要执行gen-req和sign-req命令,但需替换为客户端名称(如client1)。
第三步:配置OpenVPN服务
复制模板配置文件至主目录:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
编辑/etc/openvpn/server.conf,关键配置如下:
port 1194:指定端口(可改为其他UDP端口)proto udp:使用UDP协议提高传输效率dev tun:虚拟隧道接口类型ca ca.crt、cert server.crt、key server.key:引用刚生成的证书dh dh.pem:生成Diffie-Hellman参数(执行./easyrsa gen-dh生成)push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":设置DNS服务器(Google公共DNS)
启用IP转发功能以允许NAT:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p
第四步:启动并设置开机自启
配置iptables规则(假设eth0是外网接口):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
保存规则(若使用ufw,可直接用ufw allow 1194/udp):
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第五步:分发客户端配置文件
将ca.crt、client1.crt、client1.key以及client.ovpn模板打包发送给用户,模板内容示例:
client
dev tun
proto udp
remote your-vps-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
verb 3
至此,你的Ubuntu VPS已成功部署OpenVPN服务,用户可通过客户端连接实现安全远程访问,该方案适合个人开发、小团队协作或远程办公场景,具有配置灵活、成本低廉、安全性高等优点,后续可根据需求升级为WireGuard或使用ZeroTier等更轻量的替代方案,但OpenVPN依然是最成熟可靠的选项之一。

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






