OpenVPN 服务器上的多个 TAP 设备

OpenVPN 服务器上的多个 TAP 设备

因此,我们有许多客户拥有自己的 VPS 实例,我们通过 Proxmox 托管这些实例。客户服务器都位于 NAT 防火墙后面,我们将每个客户请求的端口转发到我们不同的公共 IP 地址。我知道这与大多数 VPS 托管服务不太一样,因为通常您会获得自己的专用公共 IP,但我们这样做是出于安全原因,而且在大多数情况下,我们最终还是会管理客户的 VPS,因为他们通常没有 IT 人员(小型/中型企业)。

我们需要设置 OpenVPN,以允许我们的一些客户端直接连接到一些不面向公众的服务。我们希望在我们的 Linux 网关服务器上进行设置,这些服务器为我们的各个客户端的服务器提供 NAT、DHCP 等。每个客户端都有自己的专用 VLAN,并具有唯一的 /20 子网。因此,我们想要做的是让 OpenVPN 将每个用户连接到他们正确的 VLAN/子网。为此,我们需要为每个 VLAN 提供不同的 TAP 桥,这很好,因为每个客户端在网关上已经有自己的接口,可以为他们的服务器提供 NAT、DHCP 等

我想知道的是,如何让每个客户端路由到正确的 TAP 设备。OpenVPN 是否支持此功能,或者我必须运行多个 OpenVPN 实例,每个 TAP 设备一个?当然是在不同的端口上监听。如果可能的话,我希望通过 LDAP 传递 TAP 设备名称并让 OpenVPN 使用该设备。

我们希望 DHCP 服务器处理租约,IPtables 处理 NAT,而不是 OpenVPN。这就是我们想要使用 TAP 设备的原因。

答案1

经过大量的研究和反复试验,事实证明这很容易做到。您必须运行多个实例,每个网桥一个,以便将所有用户隔离到各自的网络。您只需为每个实例添加一个新的 .conf 文件,Debian 就会自动为每个 .conf 文件创建一个新实例。只需确保您使用不同的端口!其他主流发行版似乎也以类似的方式处理此问题。

相关内容