为使用终端服务(远程桌面)访问的用户分配静态 IP

为使用终端服务(远程桌面)访问的用户分配静态 IP

对于我正在开展的项目,我正在寻找在用户启动终端服务会话时为其分配特定 IP 的功能。

我正在使用 Windows Server 2008 R2 SP1,并且尝试使用远程桌面 IP 虚拟化,但据我所知,它只允许我在用户使用或不使用 dhcp 访问时为会话分配随机 ip 的功能(更改一些注册表项)。

我需要这个来在项目防火墙上为每个用户设置过滤规则。

编辑

据我所知,有几个 dll 可以处理(在“假 dhcp”模式下,更改注册表项)ip 分配。如果实际上不支持为用户分配静态 IP,是否可以从头开始构建一个库来处理这种情况,如果可以,我什么时候可以找到一些关于这些库的 MS 文档(我指的是 TSVIPool.dll 和可以分配给同一注册表路径中的键 Control 的第二个库,我找不到名称)

答案1

如果服务器上有多个网络适配器,它显然只支持每个程序模式,而不是每个会话模式。可能还值得检查 DHCP 服务器日志以查看它尝试使用哪些 mac 地址获取新租约。

但是,是的,MS 文档似乎表明这仅仅是为了让需要特定客户端端口的应用程序工作,而不是作为策略引擎。也许你可以研究 Windows 的 ident 和支持它的防火墙作为替代方案?

答案2

如果 DHCP 服务器位于您的周边并且您控制它,那么您就可以实现您想要的目标。您需要在登录期间找到客户端的远程 IP,然后您可以在 DHCP 中保留该 IP。

下面的示例中,dhcpserver.contoso.com 是 dhcp 服务器名称。

PS C:> Get-DhcpServerv4Lease -计算机名 dhcpserver.contoso.com -IP地址 10.10.10.11 | Add-DhcpServerv4Reservation -计算机名 dhcpserver.contoso.com

请注意,这是一个老问题,但终端服务器至少需要处于 2012 才能使用该 powershell cmdlet,目标 dhcp 服务器可以处于 2008R2。

要找到 IP,您可能需要一个类似列出的模块那里,像 Get-TSSession cmdlet 一样发出

相关内容