手把手教你用OpenVPN搭建安全可靠的个人/企业级虚拟私人网络(VPN)服务

在当今远程办公和网络安全需求日益增长的背景下,搭建一个稳定、安全的虚拟私人网络(VPN)已成为许多企业和个人用户的刚需,本文将详细介绍如何使用开源工具OpenVPN在Linux系统上搭建一套完整的个人或小型企业级VPN服务,适用于家庭网络、远程访问公司内网资源等场景。

准备工作必不可少,你需要一台运行Linux(推荐Ubuntu 20.04 LTS或CentOS Stream 9)的服务器,具备公网IP地址(可选静态IP更佳),并确保防火墙开放UDP端口1194(OpenVPN默认端口),建议使用云服务商如阿里云、腾讯云或AWS部署,便于管理与维护。

第一步:安装OpenVPN及相关依赖
登录服务器后,更新系统包列表:

sudo apt update && sudo apt upgrade -y

接着安装OpenVPN和Easy-RSA(用于证书管理):

sudo apt install openvpn easy-rsa -y

第二步:配置证书颁发机构(CA)
复制Easy-RSA模板到本地目录并初始化:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件,设置国家、组织名称等基本信息(如CN=China, O=MyCompany):

nano vars

执行初始化脚本:

./easyrsa init-pki
./easyrsa build-ca nopass

这一步会生成根证书(ca.crt),是后续所有客户端和服务器证书的基础。

第三步:生成服务器证书与密钥

./easyrsa gen-req server nopass
./easyrsa sign-req server server

生成服务器证书(server.crt)和私钥(server.key)。

第四步:生成Diffie-Hellman密钥交换参数

./easyrsa gen-dh

该步骤耗时较长,完成后生成dh.pem文件。

第五步:配置OpenVPN服务端
创建主配置文件:

sudo nano /etc/openvpn/server.conf
```如下(可根据需要调整):

port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server.crt key /etc/openvpn/easy-rsa/pki/private/server.key dh /etc/openvpn/easy-rsa/pki/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" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 cipher AES-256-CBC auth SHA256 user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log verb 3


第六步:启用IP转发与防火墙规则  
编辑sysctl.conf允许IP转发:
```bash
sudo nano /etc/sysctl.conf

取消注释 net.ipv4.ip_forward=1,然后应用:

sudo sysctl -p

配置iptables规则(假设eth0为外网接口):

sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

保存规则:

sudo iptables-save > /etc/iptables/rules.v4

第七步:启动OpenVPN服务

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

第八步:生成客户端配置文件
在服务器端生成客户端证书(以client1为例):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

将以下文件打包给客户端:ca.crt、client1.crt、client1.key、ta.key,并创建客户端配置文件(client.ovpn):

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
verb 3

客户端导入ovpn文件即可连接,整个流程虽有步骤,但结构清晰、安全性高,适合初学者掌握,通过合理配置,还能扩展支持多用户、日志审计等功能,记住定期更新证书、监控日志、加固服务器权限,才能真正构建一个可靠的安全通道。

手把手教你用OpenVPN搭建安全可靠的个人/企业级虚拟私人网络(VPN)服务

半仙加速器-海外加速器 | VPN加速器 | VPN翻墙加速器 | VPN梯子 | VPN外网加速