我有一个面向公众的 Windows 10 盒子(带有公共 IP),我将对其进行配置,以便我(而且只有我)可以远程 VNC 连接到它。
幸运的是,我可以确保我只会从单个远程主机(本例中为 198.51.100.1)连接到我的服务器。所以我以这种方式在 Windows 10 主机上设置了防火墙规则:
具体来说,在规则的“范围”设置下,我将“远程 IP 地址”配置为仅允许 198.51.100.1。在“高级”下,我设置了适用于域、私人和公共配置文件的规则。在“协议和端口”下,传入规则适用于本地端口 5900。不存在其他自定义设置。
但是,此规则似乎不起作用。我仍然可以从任何远程 PC到此 Windows 10 服务器的 VNC ,而不仅仅是 198.51.100.1
为什么此规则不阻止来自除我想要的 IP 之外的所有 IP 的连接?
此规则不会告诉 Windows 防火墙阻止连接。此规则告诉 Windows 防火墙允许连接。因此,此规则不提供您要求的行为。
如果您希望防火墙拒绝除您明确允许的连接之外的所有其他连接,那么通常
Deny All
在 ACL 列表的底部有一个隐式或显式。Windows 防火墙默认使用隐式Deny All
。但是,您可以更改此行为。因此,首先检查您的 Windows 防火墙是否配置为阻止所有入站连接:现在您已经隐含
Deny All
地阻止所有未明确允许的连接,您将需要确定允许来自不同 IP 地址的端口 5900(VNC) 的任何其他规则,因为您提供的规则不会这样做。打开控制面板 -> Windows Defender 防火墙
单击“允许应用程序或功能通过 Windows Defender 防火墙”
搜索“允许的应用程序和功能”列表并删除与您已安装的 VNC 可执行文件相关的任何内容。
下一个:
在“允许的应用程序”窗口中单击“确定”,您将返回到 Windows Defender 防火墙页面。
点击“高级设置”
选择左侧的“入站规则”
单击
Local Port
标题以按本地端口号对防火墙规则列表进行排序。查找直接或通过范围覆盖端口 5900 的任何规则。请务必查看分配给特定规则的所有端口号:
删除任何以您不希望的方式允许端口 5900 的规则。