OpenVPN实战 | 公有云+两地局域网跨网互联方案
????技术背景企业常见需求:实现公有云服务器、分支机构A、分支机构B的网络互通。相比PPTP协议,OpenVPN在安全性(TLS加密)和稳定性上更具优势。一、环境搭建(服务端配置)1. 安装OpenVPN服务端操作系统:Windows Server 2016+软件版本:OpenVPN 2.6.13-I001(关键组件:X509证书管理)安装路径:C:\Program Files\OpenVPN✅
🔧 技术背景
企业常见需求:实现公有云服务器、分支机构A、分支机构B的网络互通。相比PPTP协议,OpenVPN在安全性(TLS加密)和稳定性上更具优势。
一、环境搭建(服务端配置)
1. 安装OpenVPN服务端
- 操作系统
:Windows Server 2016+
- 软件版本
:OpenVPN 2.6.13-I001(关键组件:X509证书管理)
- 安装路径
:
C:\Program Files\OpenVPN
✅ 安装要点
勾选Certificate Management组件

2. 证书体系生成
步骤分解:
-
复制vars.example → vars
-
管理员身份运行
EasyRSA-Start.bat
-
依次执行以下命令:
./easyrsa init-pki # 初始化PKI结构
./easyrsa build-ca nopass # 生成CA证书
./easyrsa build-server-full server nopass # 服务端证书
./easyrsa build-client-full client nopass # 客户端证书
./easyrsa gen-dh # 生成DH参数
把这些生成的文件,全部复制到C:\Program Files\OpenVPN\config目录,C:\Program Files\OpenVPN\sample-config目录下有服务端配置文件模板server.ovpn,也复制过来。

二、服务端配置
server.ovpn核心配置:
port 1194 # 默认端口
proto udp # 推荐UDP协议
dev tap # 使用TAP模式
ca ca.crt
cert server.crt
key server.key
dh dh.pem
data-ciphers AES-256-GCM # 加密算法
server 10.8.0.0 255.255.255.0 # VPN网段
push "route 172.16.100.0 255.255.255.0" # 内网路由推送
client-to-client # 允许客户端间通信
duplicate-cn # 支持多设备同名
keepalive 10 120 # 心跳检测
💡 配置技巧
-
若需客户端自定义IP,启用
ifconfig-pool-persist ipp.txt -
Windows服务端需提前启用IP转发功能(见下文)
三、客户端配置(以爱快路由器为例)
必须一致的参数:
|
参数项 |
服务端值 |
|---|---|
|
协议类型 |
UDP |
|
隧道模式 |
TAP |
|
加密算法 |
AES-256-GCM |
|
LZO压缩 |
禁用 |
📌 证书上传
将客户端证书(client.crt)和私钥(client.key)粘贴到设备证书管理界面

四、高级配置
1. Windows IP转发设置
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
IPEnableRoute=1
⚠️ 需重启生效
2. 客户端静态路由配置
Route 192.168.9.0 255.255.255.0 10.8.0.3 metric 16 if 5
if 5:通过
route print获取网卡接口号
五、检查服务端路由表
-
服务端检查路由表:
route print

顺便提一句:Windows Server的“路由和远程访问”必须启用,否则网络无法转发。
六、分支机构A、分支机构B互写路由,实现直接通讯
❗️ 两个分支机构必须互写路由,才能实现直接通讯


七、常见问题排查
|
现象 |
解决方案 |
|---|---|
|
服务端无法连接 |
检查服务端日志 |
|
客户端无法连接 |
检测配置是否一致,检查云端安全策略 |
|
内网不通 |
确认路由推送配置和IP转发开启 |
📌 进阶方向
-
部署多节点集群提高可用性
-
配置防火墙规则实现精细化访问控制
-
笔记本电脑及手机端的远程接入访问
欢迎关注和讨论
持续更新,希望得到您的关注;也欢迎留言讨论👇
更多推荐
所有评论(0)