我在一台 Ubuntu 18.04 机器上运行了一个 OpenVPN 服务器,还有多个 OpenVPN 客户端连接到该服务器。其中一些客户端是路由器,每个路由器后面都有一个 192.168.0.0/24 LAN。其他客户端是 Windows、macOS 和 iOS 设备。
目标是特定(Windows、macOS 或 iOS)客户端只能访问特定 LAN(路由器 OpenVPN 客户端后面)。例如,某部 iPhone 只能通过 OpenVPN 服务器访问 LAN_1,而另一部 iPhone 必须始终仅连接到 LAN_2,等等。
- 我该如何确立这一区别?
我已经创建了目录/etc/openvpn/ccd
并添加了带有 LAN 名称的文本文件。由于每个文件都包含行iroute 192.168.0.0 255.255.255.0
,因此除了名称之外没有其他区别。
- 是否有可能通过使用具有完全相同名称的客户端配置文件来实现我的目标?
- 此访问限制是否可以基于客户端配置文件而不是设备,以便特定的 iPhone 可以连接到 LAN_1 以及 LAN_2,具体取决于激活了哪个客户端配置文件?
答案1
每个客户端都会通过其路由器连接到您的服务器,因此 routerX 后面的 clientA 和 clientB 似乎来自同一个地方。
我认为你不能根据你的问题对某些用户使用某些规则。如果某些设计选择意味着你想保留问题中的概念,那么你可以分配客户端的静态 IP在 OpenVPN 中...您可以将规则应用于这些 IP,以允许它们通过您的特定 VPN。