在当今高度互联的网络环境中,虚拟私人网络(VPN)已成为保障数据安全、实现远程访问和绕过地理限制的重要工具,对于使用Ubuntu系统的用户来说,OpenVPN是一个开源、稳定且功能强大的解决方案,本文将详细介绍如何在Ubuntu服务器上安装、配置并管理OpenVPN服务,帮助个人用户或企业用户快速搭建一个安全可靠的私有网络通道。
准备工作必不可少,你需要一台运行Ubuntu Server(推荐版本为20.04 LTS或22.04 LTS)的服务器,确保其具有公网IP地址,并开放必要的端口(如UDP 1194),登录服务器后,更新系统包列表:
sudo apt update && sudo apt upgrade -y
接着安装OpenVPN及相关依赖项:
sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成SSL/TLS证书和密钥的工具,是OpenVPN认证体系的核心组件,安装完成后,复制示例配置文件到工作目录:
sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/ sudo chown -R root:root /etc/openvpn/easy-rsa/
接下来进入EasyRSA目录,初始化PKI(公钥基础设施)环境:
cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki
然后生成CA(证书颁发机构)证书:
sudo ./easyrsa build-ca nopass
注意:这里使用 nopass 参数是为了避免每次启动服务时都需要输入密码,适合自动化部署场景,生产环境中建议启用密码保护。
随后生成服务器证书和密钥:
sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
之后生成客户端证书和密钥(可重复此步骤为多个用户生成不同证书):
sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
完成证书生成后,将证书和密钥复制到OpenVPN配置目录:
sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/ sudo cp pki/ca.crt pki/private/client1.key pki/issued/client1.crt /etc/openvpn/
现在创建OpenVPN服务配置文件 /etc/openvpn/server.conf如下(可根据需求调整):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh 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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
注意:请先执行 sudo ./easyrsa gen-dh 生成Diffie-Hellman参数文件(dh.pem),再启动服务。
启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
你可以在客户端设备上使用OpenVPN图形界面或命令行工具导入客户端证书和配置文件(.ovpn 文件),连接到服务器即可实现加密通信。
通过以上步骤,你已成功在Ubuntu上搭建了一个功能完整的OpenVPN服务,该方案适用于家庭办公、远程访问内网资源以及跨地域数据传输等场景,在实际部署中还需考虑防火墙规则(如ufw)、日志监控和定期证书更新等运维细节,以确保长期稳定运行。







