我想设置一个 VPN 服务器,将每个用户放入不同的 VLAN。
我有一个大约有 200 个用户的网络,每个用户都在一个单独的 VLAN 中,并拥有自己的 /27-IPv4 网络。哪个用户属于哪个 VLAN 由 LDAP 服务器确定,该服务器还提供身份验证。我还有一个 Freeradius 服务器,它由云进行身份验证。我有一个 REST-Api,用于获取给定用户名的 VLAN ID(如果有帮助的话)。单个 DHCP 服务器为所有用户运行。
我想创建一个允许每个用户从互联网登录的 VPN 服务器。然后应将用户放入其 VLAN 中,并从 DHCP 服务器获取其自己的 /27 网络内的 IP 地址(希望无需进一步配置)。
我的路由器、VPN、LDAP/Freeradius 和 DHCP 分别在单独的 Debian 虚拟机上运行。
我尝试使用 OpenVPN 服务器来解决这个问题,但目前无法将用户映射到 VLAN。(据我所知,我只能配置单个服务器端接口)
我怎样才能实现这个目标?
附加问题:IPv6 的情况会有所不同吗?
答案1
用户之间不应该互相看到对方,它提供网络内的识别和访问控制。VLAN 已用于例如 WLAN 访问。
为了满足这一需求,请使用防火墙或防火墙设备,允许隔离每个 VPN 用户。通常,这些防火墙会将 VPN 用户置于他们自己的 VLAN 内,即使彼此隔离,如果没有允许规则,他们也会与所有其他 VLAN 隔离。
因此,如果 VPN 用户只需要访问终端服务器,则可以创建一条规则,仅允许该 VPN 用户使用该 VLAN 的 3389 端口。
答案2
我认为您的流程会有些复杂,而且我认为这不是标准的做法。
通常 VPN 用于从互联网访问,为此,您可以使用防火墙或 VPN 防火墙。我有使用 Fortigate 防火墙的经验,使用 Fortigate 可以为用户创建 IP 池。但您的要求是为用户提供内部 VLAN IP。但是,您可以允许用户通过防火墙策略访问特定 VLAN。我认为这会解决您的问题。