我刚刚在 Windows 10 计算机上启用了远程桌面,实际上,当我从任何其他计算机 telnet 到 3389 端口时,我都可以访问该服务,但我想要的是拒绝除特定计算机(192.168.0.12)之外的任何计算机的连接,因此我发出了以下命令:
netsh advfirewall firewall add rule name="RDP_regla_bloquea_entrada_IN" dir=in action=block protocol=tcp localport=3389 remoteip=any description="Deniega RDP IN"
netsh advfirewall firewall add rule name="RDP_regla_bloquea_entrada_OUT" dir=out action=block protocol=tcp localport=3389 remoteip=any description="Deniega RDP OUT"
netsh advfirewall firewall add rule name="RDP_regla_permite_guacamole_IN" dir=in action=allow protocol=tcp localport=3389 remoteip=192.168.0.12 description="Permite RDP guacamole IN"
netsh advfirewall firewall add rule name="RDP_regla_permite_guacamole_OUT" dir=out action=allow protocol=tcp localport=3389 remoteip=192.168.0.12 description="Permite RDP guacamole OUT"
但即使我交换规则,所有连接都会被阻止:
netsh advfirewall firewall add rule name="RDP_regla_permite_guacamole_IN" dir=in action=allow protocol=tcp localport=3389 remoteip=192.168.0.12 description="Permite RDP guacamole IN"
netsh advfirewall firewall add rule name="RDP_regla_permite_guacamole_OUT" dir=out action=allow protocol=tcp localport=3389 remoteip=192.168.0.12 description="Permite RDP guacamole OUT"
netsh advfirewall firewall add rule name="RDP_regla_bloquea_entrada_IN" dir=in action=block protocol=tcp localport=3389 remoteip=any description="Deniega RDP IN"
netsh advfirewall firewall add rule name="RDP_regla_bloquea_entrada_OUT" dir=out action=block protocol=tcp localport=3389 remoteip=any description="Deniega RDP OUT"
提前谢谢您,任何帮助都将不胜感激
答案1
这取决于入站连接的默认行为是什么,如果是“允许”,则只需要一条规则:
netsh advfirewall firewall add rule name="my-3389" dir=in action=block protocol=TCP localport=3389 remoteip=1.1.1.1-192.168.0.11,192.168.0.13-255.255.255.255
如果是“阻止”,则只需要一条规则:
netsh advfirewall firewall add rule name="my-3389" dir=in action=allow protocol=TCP localport=3389 remoteip=192.168.0.12
答案2
使用新 NetFirewallRule带有允许操作和远程地址开关。 https://docs.microsoft.com/en-us/powershell/module/netsecurity/new-netfirewallrule?view=win10-ps
答案3
最后,我采用的解决方案(因为它对我有用!)是给出的解决方案:
https://security.stackexchange.com/questions/34709/enable-rdp-for-internal-network-only
“为了将 RDP 限制到特定 IP 地址,
- 转到控制面板->管理工具
- 具有高级设置的 Windows 防火墙
- 入境规则
- 远程桌面(TCP-In)
- 转到属性->范围选项卡
- 在远程 IP 地址部分添加 IP(或 IP 范围)”
我本来希望使用命令行解决方案(即使用 netsh),但这是不可能的