在现代企业办公环境中,远程访问内部资源已成为常态,无论是员工在家办公、出差人员接入公司内网,还是分支机构之间的安全通信,虚拟私人网络(VPN)都扮演着至关重要的角色,作为网络工程师,我经常被问到:“如何在自己的服务器上搭建一个稳定、安全的VPN服务?”本文将带你从零开始,一步步完成基于OpenVPN的服务器端部署与客户端配置,适用于Linux系统(以Ubuntu 20.04为例),适合中小型企业或个人开发者使用。
第一步:准备服务器环境
你需要一台公网IP的Linux服务器(如阿里云、腾讯云或自建VPS),操作系统建议使用Ubuntu Server 20.04 LTS,登录服务器后,执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
第二步:安装OpenVPN及相关工具
OpenVPN是开源、跨平台且安全性高的VPN解决方案,通过以下命令安装:
sudo apt install openvpn easy-rsa -y
easy-rsa用于生成证书和密钥,是OpenVPN身份认证的核心组件。
第三步:配置PKI(公钥基础设施)
运行以下命令初始化证书颁发机构(CA):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,设置国家、省份、组织名称等信息(export KEY_COUNTRY="CN"),然后执行:
./clean-all ./build-ca
这会生成根证书(ca.crt),后续所有客户端和服务端都将依赖它进行身份验证。
第四步:生成服务器证书和密钥
./build-key-server server
此命令会生成服务器证书(server.crt)、私钥(server.key)以及Diffie-Hellman参数(dh.pem),注意:build-key-server会要求你确认操作,输入“yes”。
第五步:配置OpenVPN服务端
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ nano /etc/openvpn/server.conf
关键配置项包括:
port 1194:指定监听端口(可改为其他端口如53/443伪装为DNS/HTTPS流量)proto udp:推荐使用UDP协议,延迟更低dev tun:创建点对点隧道ca ca.crt、cert server.crt、key server.key:引用刚刚生成的证书dh dh.pem:指定Diffie-Hellman参数文件
保存后启动服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第六步:客户端配置
在客户端(Windows/macOS/Linux)上安装OpenVPN客户端软件,创建.ovpn配置文件,内容包括:
client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
使用 easy-rsa 为每个用户生成独立证书(./build-key client1),并将证书文件分发给对应设备。
第七步:防火墙与NAT设置
确保服务器防火墙允许1194端口(若用UDP):
ufw allow 1194/udp
如果服务器位于NAT后,需在路由器做端口转发(将公网IP的1194映射到服务器内网IP)。
最后提醒:定期更新证书、启用日志监控(/var/log/syslog中查找openvpn日志),并考虑结合Fail2Ban防暴力破解,这样一套完整的OpenVPN部署,即可为企业提供安全可靠的远程访问通道。

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






