在当今数字化办公和远程访问日益普及的背景下,虚拟私人网络(VPN)已成为企业和个人用户保障网络安全、实现远程接入的重要工具,对于使用Ubuntu操作系统的用户而言,OpenVPN是一个开源、稳定且功能强大的选择,本文将详细介绍如何在Ubuntu服务器上部署和配置OpenVPN服务,帮助你快速构建一个安全可靠的私有网络通道。
确保你的Ubuntu服务器已安装最新版本的操作系统,并具备公网IP地址,登录服务器后,建议先更新系统包列表并升级所有软件包:
sudo apt update && sudo apt upgrade -y
安装OpenVPN及相关依赖组件,OpenVPN官方仓库提供了便捷的安装方式:
sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具集,是建立TLS/SSL加密连接的核心组件。
完成安装后,我们需要配置PKI(公钥基础设施),进入EasyRSA目录并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo cp vars.example vars
编辑 vars 文件,根据需要修改默认参数,例如国家代码、组织名称等,然后执行以下命令生成CA证书和密钥:
sudo ./clean-all sudo ./build-ca sudo ./build-key-server server sudo ./build-key client1 sudo ./build-dh
这些步骤会创建服务器证书、客户端证书、Diffie-Hellman参数文件,它们是后续加密通信的基础。
配置OpenVPN服务器主文件,复制示例配置文件到/etc/openvpn目录:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
编辑 /etc/openvpn/server.conf,关键配置项包括:
port 1194:指定监听端口(可改为其他非冲突端口)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转发功能,使服务器能充当网关:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
配置防火墙规则(若使用UFW):
sudo ufw allow 1194/udp sudo ufw enable
启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
至此,OpenVPN服务器已成功部署,客户端只需将生成的client1.crt、client1.key、ca.crt和client.ovpn配置文件合并为一个.ovpn文件,即可导入到Windows、macOS或Linux客户端中连接。
此方案不仅适用于家庭办公,也可扩展为企业级多用户环境,配合身份认证(如LDAP)进一步提升安全性,掌握Ubuntu下的OpenVPN部署,是每一位网络工程师必备的核心技能之一。







