在当今远程办公和跨地域协作日益普遍的背景下,构建一个稳定、安全且易于管理的虚拟私人网络(VPN)服务器变得尤为重要,Ubuntu作为一款广受欢迎的Linux发行版,凭借其开源特性、强大的社区支持以及良好的兼容性,成为搭建VPN服务器的理想选择,本文将详细介绍如何在Ubuntu系统上配置OpenVPN服务,实现安全可靠的远程访问。
确保你有一台运行Ubuntu Server 20.04或更高版本的服务器(推荐使用LTS版本),并具备静态IP地址和公网域名(可选但建议),登录服务器后,执行以下步骤:
第一步:更新系统与安装依赖
打开终端,运行以下命令同步软件源并升级系统:
sudo apt update && sudo apt upgrade -y
接着安装OpenVPN及其相关工具:
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=YourCompany, C=CN, ST=Beijing等),然后执行:
./clean-all ./build-ca
这将创建根证书(ca.crt),它是所有客户端和服务器证书的信任基础。
第三步:生成服务器证书与密钥
继续执行:
./build-key-server server
此命令会生成服务器证书(server.crt)、私钥(server.key)及Diffie-Hellman参数(dh.pem),这些文件是服务器身份验证和加密通信的关键。
第四步:配置OpenVPN服务端
复制示例配置文件到/etc/openvpn目录下:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
编辑该文件,关键配置包括:
port 1194:指定监听端口(建议改为非默认端口以减少扫描攻击)proto udp:使用UDP协议提高性能dev tun:创建TUN设备,提供点对点隧道ca ca.crt、cert server.crt、key server.key:引用之前生成的证书文件dh dh.pem:引入Diffie-Hellman参数server 10.8.0.0 255.255.255.0:分配给客户端的IP段push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPN路由keepalive 10 120:心跳检测机制cipher AES-256-CBC:加密算法选择(更推荐使用AES-256-GCM)
第五步:启动并启用服务
保存配置后,启动OpenVPN服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
第六步:防火墙与NAT配置
若服务器位于公网,需开放UDP 1194端口(例如用ufw):
sudo ufw allow 1194/udp
同时启用IP转发和NAT规则,使客户端能访问外网:
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
为每个客户端生成唯一证书和配置文件(使用build-key client1),并将客户端配置文件(client.ovpn)分发至用户设备,连接时只需导入配置即可。
至此,一个基于Ubuntu的OpenVPN服务器已成功部署,既满足企业级安全性要求,又具备良好扩展性与维护性,对于高级需求(如双因素认证、负载均衡或集成LDAP),还可进一步优化架构。

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

