我们的服务器有 4 个附加 IP。我们有 4 个用户使用 RDP 连接到服务器。我希望每个用户都有单独的 IP 用于连接,并且当他在服务器上使用互联网(浏览器等)时将显示此 IP。
是否可以?
答案1
让我给你多个答案,我希望这是你所需要的:
- 我可以通过所有可用的 IP 地址通过 RDP 访问 Windows Server 吗?
是的。您可以在 Windows 防火墙中禁用特定 IP 的 RDP 连接,但如果您启用 RDP,则默认情况下它应该适用于服务器上配置的所有 IP。
- 不同的用户可以从不同的源 IP 地址通过 RDP 访问服务器吗?
与上文相同:是的,但您可以在 Windows 防火墙中阻止不同的 IP 甚至 IP 范围以进行 RDP 访问。与上文一样,如果您启用 RDP,它应该默认工作。
- RDP 用户可以使用外部 IP 地址吗?
当然。但是,如果您所说的外部 IP 地址是指他们从互联网访问服务器:可以配置您的互联网网关来执行此操作(从外部地址向 RDP 服务器打开端口 3389,如果使用不可路由的 IP 地址,则使用端口转发到服务器),但恕我直言,绝对不建议这样做。如果没有额外的安全网关,Windows Server 不应放在互联网上。但是,如果您的所有用户都位于同一个网关后面并使用公共 IP 地址(我上一份工作中就有这种配置……),那么通过 RDP 访问服务器绝对没有问题。
- 我能否查看谁使用特定服务器 IP 地址访问了服务器?
我不知道如何仅使用 Windows 服务器来执行此操作。如果您的客户端和服务器之间有防火墙或任何具有日志记录功能的路由设备,则可以记录这些 IP 之间的流量。但据我所知,Windows 日志仅显示客户端的原始 IP 地址,而不是服务器的 IP。能够在服务器上看到这一点的一种方法是在后台运行像 Wireshark 这样的数据包跟踪器,并使用仅记录 RDP 相关事件的捕获过滤器。
答案2
问题中有一部分尚未回答:
[...] 当他使用互联网(浏览器等)时,这个 IP 就会显示出来。
我看不出有什么办法可以做到这一点。通常,传出的 IP 地址由服务器的路由表决定,并且路由表是针对每台机器的,而不是针对每个用户的。
有一些程序可以允许指定传出连接的接口(例如curl --interface
),但我不知道有任何 Windows 应用程序允许这样做,虽然我确信存在一些深奥的工具可以做到这一点,但必须根据用户和每个应用程序进行配置。
此外,据我所知(我可能错了,我不是 Windows Server 方面的专家),没有办法限制用户登录到特定(服务器本地)IP 地址。所有用户都可以连接到服务器上的所有 IP 地址。
因此,虽然让用户通过所有 IP 地址连接到服务器没有问题,但我没有看到可行的解决方案来将用户限制为其自己的 IP 地址(传入或传出)。