随着远程办公和网络安全需求的日益增长,搭建一个私有、稳定的虚拟私人网络(VPN)服务已成为许多企业和个人用户的刚需,Ubuntu作为一款广受欢迎的Linux发行版,以其稳定性、易用性和强大的社区支持,成为构建VPN服务器的理想平台,本文将详细介绍如何在Ubuntu系统上部署OpenVPN服务,实现安全、可靠的远程访问。
第一步:准备工作
确保你拥有一台运行Ubuntu 20.04或更高版本的服务器(物理机或云主机均可),并具备公网IP地址,登录服务器后,首先更新系统软件包:
sudo apt update && sudo apt upgrade -y
接着安装OpenVPN和Easy-RSA(用于证书管理):
sudo apt install openvpn easy-rsa -y
第二步:配置证书颁发机构(CA)
Easy-RSA提供了一套完整的PKI(公钥基础设施)工具,我们先初始化证书目录:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
编辑vars文件,设置你的组织信息(如国家、省份、公司名等),然后生成CA证书:
./clean-all ./build-ca
这一步会生成ca.crt和ca.key,它们是后续所有客户端和服务器证书的基础。
第三步:生成服务器证书与密钥
继续在~/openvpn-ca目录下执行:
./build-key-server server
按照提示输入相关信息,确认“Sign the certificate?”为yes,完成后会生成server.crt和server.key。
第四步:生成客户端证书
为每个需要连接的设备生成独立证书(例如名为client1):
./build-key client1
同样,生成对应的客户端配置文件时需注意名称一致性。
第五步:生成Diffie-Hellman参数
这是增强加密强度的关键步骤:
./build-dh
生成dh.pem文件,用于密钥交换。
第六步:配置OpenVPN服务器
复制模板配置文件到主目录:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
修改关键参数:
port 1194(默认端口,可自定义)proto udp(推荐UDP协议,性能更优)dev tun(使用TUN模式)- 添加证书路径:
ca ca.crt、cert server.crt、key server.key、dh dh.pem - 启用TLS验证:
tls-auth ta.key 0(需额外生成)
第七步:生成TLS密钥(重要安全措施)
openvpn --genkey --secret ta.key
并将该文件添加到配置中。
第八步:启用IP转发和防火墙规则
编辑/etc/sysctl.conf,取消注释net.ipv4.ip_forward=1,并执行:
sudo sysctl -p
配置iptables规则允许流量转发,并开放UDP 1194端口(如使用UFW):
sudo ufw allow 1194/udp sudo ufw enable
第九步:启动服务
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
分发客户端配置文件(包含ca.crt、client.crt、client.key及ta.key)给用户,即可通过OpenVPN客户端连接服务器,整个过程涉及证书管理、网络配置和安全加固,确保了数据传输的机密性与完整性,对于企业用户,还可结合双因素认证和日志审计进一步提升安全性。

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






