使用 OpenVPN 将多个局域网互联是一个常见需求,尤其是在远程办公或多地分支机构互联场景下。以下是一种基于 OpenVPN 的配置方案,旨在实现多个局域网的互联。
场景说明
- 目标:通过 OpenVPN 将多个分散的局域网(LAN)互联。
- 角色:
- OpenVPN 服务器:位于公网,可以接受各局域网的连接请求。
- OpenVPN 客户端:分布于不同的局域网,通过 VPN 隧道连接到服务器。
- 假设:
- 局域网 A:192.168.1.0/24
- 局域网 B:192.168.2.0/24
- 局域网 C:192.168.3.0/24
网络拓扑图
局域网 A (192.168.1.0/24)
|
[Router]
|
+---------+---------+
| OpenVPN Server|
| (Public IP) |
+---------+---------+
|
+---------+---------+
| OpenVPN Client (B) |
| Router B |
| 192.168.2.0/24 |
+---------+---------+
|
+---------+---------+
| OpenVPN Client (C) |
| Router C |
| 192.168.3.0/24 |
+--------------------+
配置步骤
1. 安装 OpenVPN
在所有相关设备上安装 OpenVPN。以下以 Linux 为例:
# 安装 OpenVPN
sudo apt-get update
sudo apt-get install openvpn
2. 配置 OpenVPN 服务器
- 生成证书和密钥 使用
easy-rsa
工具生成所需的证书和密钥:
sudo apt-get install easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh
创建服务器配置文件 编辑 /etc/openvpn/server.conf
文件:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
push "route 192.168.3.0 255.255.255.0"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
启动 OpenVPN 服务
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
开放防火墙端口 配置防火墙,允许 UDP 1194 端口通信:
sudo ufw allow 1194/udp
sudo ufw enable
配置 OpenVPN 客户端
- 客户端配置文件 在每个客户端路由器上创建一个配置文件(例如
/etc/openvpn/client.conf
):
client
dev tun
proto udp
remote <OpenVPN_Server_IP> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
remote-cert-tls server
key-direction 1
verb 3
<Insert Certificates>
2. 设置路由 确保客户端路由器将流量正确路由到 OpenVPN 隧道内:
ip route add 192.168.1.0/24 via 10.8.0.1
ip route add 192.168.2.0/24 via 10.8.0.2
ip route add 192.168.3.0/24 via 10.8.0.3
3. 启动 OpenVPN 客户端
sudo systemctl start openvpn@client
sudo systemctl enable openvpn@client
4. 配置路由器和 NAT
- 在各局域网的路由器上:
- 配置静态路由,使局域网流量通过 OpenVPN 隧道。
- 确保路由器启用了 NAT 功能,以便外网通信。
5. 验证连接
- 确保每个局域网中的设备能够相互 Ping 通。
- 使用工具(如
traceroute
)检查路由路径是否正确。
扩展功能
- 高可用性:可设置多个 OpenVPN 服务器并配置客户端的备用服务器地址。
- 负载均衡:结合负载均衡设备分流 VPN 流量。
- 安全强化:使用双因素认证或限制客户端 IP。
这种配置方案适用于多地分支机构、小型企业网络和家庭实验环境。如果网络规模更大,可以考虑结合 SD-WAN 技术进一步优化性能和管理复杂度。
发布者:myrgd,转载请注明出处:https://www.object-c.cn/5121