在当今远程办公与分布式团队日益普及的背景下,虚拟私人网络(VPN)已成为保障网络安全通信的重要工具,对于使用Ubuntu操作系统的用户而言,OpenVPN是一个功能强大、开源且高度可定制的解决方案,本文将详细介绍如何在Ubuntu服务器上部署并配置OpenVPN服务,确保用户能够安全、稳定地访问内网资源。
准备工作必不可少,你需要一台运行Ubuntu 20.04或更高版本的服务器,具备公网IP地址,并确保防火墙(如UFW)允许必要的端口通行(默认为UDP 1194),建议使用SSH密钥登录方式以提升安全性,安装前,请更新系统软件包列表:
sudo apt update && sudo apt upgrade -y
安装OpenVPN及相关依赖组件:
sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具,是构建PKI(公钥基础设施)的核心组件。
下一步是配置证书颁发机构(CA),进入/etc/openvpn/easy-rsa/目录后,执行以下命令初始化环境:
make-cadir /etc/openvpn/easy-rsa/myca cd /etc/openvpn/easy-rsa/myca
编辑 vars 文件,根据你的组织信息修改变量,例如国家代码、省份、组织名等,然后生成CA证书:
./clean-all ./build-ca
接下来生成服务器证书和密钥:
./build-key-server server
为客户端生成证书和密钥(每个客户端都需要单独的证书):
./build-key client1
生成Diffie-Hellman参数和TLS密钥:
./build-dh openvpn --genkey --secret ta.key
现在开始配置OpenVPN服务,复制示例配置文件到目标路径:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gunzip /etc/openvpn/server.conf.gz
编辑 /etc/openvpn/server.conf,关键配置包括:
port 1194:指定监听端口;proto udp:推荐使用UDP协议以提高性能;dev tun:创建点对点隧道;ca ca.crt、cert server.crt、key server.key:指定证书路径;dh dh.pem和tls-auth ta.key 0:启用TLS认证增强安全性;server 10.8.0.0 255.255.255.0:分配客户端IP地址池;push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPN路由;push "dhcp-option DNS 8.8.8.8":设置DNS服务器;- 启用日志记录和用户权限控制。
保存配置后,启动OpenVPN服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
检查状态确认服务正常运行:
sudo systemctl status openvpn@server
分发客户端配置文件,创建一个名为 client.ovpn 的文件,内容应包含服务器地址、证书路径、TLS密钥以及连接选项,将此文件与对应的客户端证书、私钥和ta.key一起打包发送给用户。
测试连接时,可在客户端使用OpenVPN图形界面或命令行工具(如openvpn --config client.ovpn)进行连接,若一切正常,用户即可通过加密隧道安全访问内部网络资源。
在Ubuntu环境下搭建OpenVPN不仅成本低、灵活性高,而且社区支持丰富,掌握这一技能,无论你是企业IT管理员还是个人爱好者,都能为网络通信提供可靠的安全保障,定期更新证书、监控日志、限制访问权限,是维持长期稳定运行的关键。







