单网卡Windows Server有多项服务,例如FTP。
同一台机器还运行路由和远程访问,为远程用户提供 VPN/NAT 服务。这意味着连接并浏览互联网的用户会看到服务器的 IP 地址。
我想隐藏我的 FTP 服务,以便只有通过 VPN 连接的用户或机器本身的用户才能访问端口(例如端口 123)。我想将端口 123 隐藏到互联网上。
尽管网络上充斥着有关如何在防火墙上打开 VPN 端口的信息,但我找不到有关如何使用 Windows 防火墙将端口限制为仅限 VPN 用户的任何信息。
由于路由和远程访问从定义的 IPv4 池中发出客户端 IP 地址。我首先尝试将此范围添加到 ALLOW 规则上的远程 IP 地址。我还尝试了服务器的公共 IP。但是,所有这些都只是阻止了连接。只有将规则设置为“任何 IP 地址”时,才能访问端口。
如何在 Windows 防火墙上为仅使用 VPN 的用户开放端口?
答案1
由于声誉低,无法发表评论。
它是哪种 FTP 服务器?由于我通常运行 Linux FTP 服务器,因此我会将 FTP 服务器放在 vLAN 上(在不同的子网上)。您可以将 VPN 计算机配置为连接到该子网,而不是连接到其余网络的主子网,方法是将 VPN 服务器设为 vLAN 网络的成员(使用虚拟适配器)。如果 VPN 计算机通过自己的本地网络而不是通过 VPN 隧道(强制关闭隧道)连接到互联网,那么这种方法会非常有效。但这确实取决于您的配置。如果 FTP 服务器作为虚拟机运行(那么您只需将其适配器设为内部适配器,VPN 将通过 VPN 服务器上的网桥连接),我的建议将特别容易实现。只是一些想法。您对 FTP 和 VPN 服务器使用的确切设置是什么?您说您正在以服务器角色运行 FTP,那么也许您可以考虑将其设置为 Hyper-V 客户端?不过,我不是网络专家,更熟悉 VM 设置,其中服务器组件彼此保持分离(在我看来,这使得管理更容易)。
答案2
由于您分配了 VPN DHCP IP 池,因此您知道 VPN 用户的有效 IP 范围。只需限制防火墙仅允许 FTP 的 IP 池即可。
您可以使用 powershell 命令获取 IP 池
Get-RemoteAccessRoutingDomain -Name <name>