企业级网络互通方案:OpenVPN搭建公有云+爱快路由器+Win11三地互联实战指南
「安全高效」三地局域网秒变局域网
实施环境说明
组件 | 角色 | 系统/设备 |
OpenVPN服务端 | 公有云服务器 | CentOS 7.9 |
OpenVPN客户端 | 网络出口设备 | 爱快路由器 |
OpenVPN客户端 | 终端设备 | Windows 11 Pro |
核心步骤详解
一、服务端部署(CentOS 7)
1. 安装OpenVPN服务
# 安装OpenVPN
yum install openvpn easy-rsa -y
2. 证书管理体系搭建
# 进入证书目录
cd /etc/openvpn/easy-rsa/
# 初始化CA
./easyrsa init-pki
# 生成CA证书
./easyrsa build-ca nopass
会提示设置密码,用于ca对之后生成的server和client证书签名时使用,其他提示内容直接回车即可
# 创建server端证书和私钥文件,nopass表示不加密私钥文件
./easyrsa gen-req server nopass
# 给server端证书签名,提示内容需要输入yes和创建ca根证书时候的密码
./easyrsa sign server server
# 生成客户端证书
./easyrsa build-client-full client nopass
# 创建Diffie-Hellman文件,密钥交换时的Diffie-Hellman算法
./easyrsa gen-dh
# 创建client端的证书和私钥文件,nopass表示不加密私钥文件,提示内容直接回车即可
./easyrsa gen-req client nopass
# 给client端证书前面,提示内容输入yes和创建ca根证书时候的密码
./easyrsa sign client client
3. 服务端配置优化
复制服务端配置文件,并且根据实际情况修改 cp
/usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf /etc/openvpn/server/
# /etc/openvpn/server/server.ovpn
port 51194
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
push "route 172.24.22.0 255.255.255.0"
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
cipher AES-256-GCM
生成静态加密密钥 openvpn --genkey --secret /etc/openvpn/hcit.tlsauth
编辑sysctl.conf 添加net.ipv4.ip_forward = 1,启用ipv4转发;
然后重启网络服务 systemctl restart network.service
添加openvpn服务 systemctl -f enable openvpn@server.service
启动openvpn服务 systemctl start openvpn@server.service
二、客户端配置指南
爱快路由器配置
上一篇文章已经写过了,这里就不重复了,不同的是,这次启用了TLS认证,所以略有不同,需要导入上面生成的静态加密密钥hcit.tlsauth。
Windows 11客户端配置
- 下载安装OpenVpn
- 编辑client.ovpn配置文件,并导入证书:
- 新建一个文件:client.ovpn
client
dev tap
proto udp
remote 139.196.187.221 51194
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-256-GCM
verb 3
persist-key
- 相应证书复制到config文件夹下`
- 连接成功后会自动分配10.8.0.0网段IP
三、网络优化关键配置
服务端路由策略
# 添加内网路由
ip route add 18.18.18.0/24 via 10.8.0.2 dev tap0
# 检查服务端到客户端的网络路径
tracepath 18.18.18.58
故障排查清单
服务验证命令:
systemctl status openvpn@server
ss -tulnp | grep 51194
常见错误处理:
- No server certificate verification method has been enabled → 检查证书链完整性及有效性,检查端口是否配置正确
- 客户端无法直接通讯 → 确认两端路由是否存在和正确