![通过 OpenVPN 连接多个站点](https://linux22.com/image/731492/%E9%80%9A%E8%BF%87%20OpenVPN%20%E8%BF%9E%E6%8E%A5%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9.png)
我正在管理三个不同的地理位置,我想使用中央 OpenVPN 服务器来连接它们。
我的想法是让每个位置上的网络设备连接到 OpenVPN 服务器并通过它路由特定的网络流量。我已经拆分了子网(10.23.1.0/24
、10.23.2.0/24
、10.23.3.0/24
),以便每个位置都有不同的私有子网。
但是,我不清楚网络设置应该是什么样子。我的第一个猜测是:
OpenVPN 服务器:
- 已启用 IPV4 转发
- 路由 10.23.1.0/24 到站点 A VPN 客户端
- 路由 10.23.2.0/24 到站点 B VPN 客户端
- 路由 10.23.3.0/24 到站点 C VPN 客户端
站点 A VPN 客户端:
- 已启用 IPV4 转发
- 路由 10.23.1.0/24 到内部网络
- 路由 10.23.2.0/24 到 OpenVPN 服务器
- 路由 10.23.3.0/24 到 OpenVPN 服务器
(站点 B 和 C VPN 客户端类似)
这是解决问题的正确方法吗?我在执行此操作时是否遗漏了功能/安全性方面的任何内容?
答案1
我的设置基于以下指南:OpenVPN 背后的局域网。
需要做的第一个更改是在我的服务器配置中启用 client-config-dir 设置
client-config-dir ccd
在该目录中,对于站点 A VPN 客户端,我将其标记为该路由的内部所有者
iroute 10.23.1.0 255.255.255.0
然后,我切换到子网拓扑(仍然不是默认的),定义内部路由并将其推送到所有客户端:
topology subnet
route 10.23.1.0 255.255.255.0
push "route 10.23.1.0 255.255.255.0 vpn_gateway 1000"
我特意为 VPN 路由设置了更高的度量标准 ( 1000 ),这样直接连接到该网络的设备就不会使用它。至少在我的本地工作站上,以太网的默认度量标准为 100,无线的默认度量标准为 600,因此只有在这些都不存在时才会使用 VPN。
当然,网络设备上启用了ipv4转发。
完成后,一切都按预期进行。