我正在寻找文档链接或线索,了解如何向 Windows 防火墙添加规则,以拒绝通过 ICS 连接的计算机的所有互联网访问,然后仅允许一组最少的 TCP 端口访问。
这相当于在 Linux 上向 iptables FORWARD 添加规则。我之所以问这个问题,是因为它没有像人们预期的那样工作,所以请根据经验而不是猜测来回答。
一些背景信息:
我正在使用 Windows7 内置的 SoftAP 通过 ICS 共享有限带宽的 3G 连接。这是为了访问 Android wifi 设备。但是,我想控制 Android 设备可以做什么。
由于有关防火墙/ICS 组合服务的结果数量太多,搜索有关 Windows 防火墙和 ICS 的答案时会遇到阻碍。另外,总的来说,我很难从 iptables 的角度理解 Windows 防火墙逻辑。似乎没有规则顺序的概念。我尝试制定适用于 ICS 服务的规则。我尝试在 SoftAP 适配器和 3G 连接上使用相同和不同的配置文件。总的来说,ICS 似乎可以绕过大多数防火墙规则。
答案1
您可以通过在高级安全 Windows 防火墙中设置“出站”规则来实现此目的。在端口部分下,您可以指定要打开的端口 - 只需确保将 Android 设备的 IP 地址放在规则范围的“远程 IP”部分中即可。
要更清楚地了解防火墙如何确定规则的优先级(以及如何覆盖阻止规则),请参阅以下链接:http://technet.microsoft.com/en-us/library/dd421709(v=ws.10).aspx
答案2
很抱歉重新发布旧帖,但如果有人仍在搜索此内容:
在 Windows 7 到 10 中,Windows 防火墙仅过滤本地连接(入站和出站相当于 iptables 中的 INPUT 和 OUPUT。使用 ICS 或桥接的网络完全绕过这些规则。
在ICS中,iptables的FORWARD可以在连接共享设置中完成: http://www.utilizewindows.com/internet-connection-sharing-ics-configuration-in-windows-7/
至少据我所知,Iptables 的 PREROUTING 和 POSTROUTING 无法在 Windows 中使用官方 Microsoft 软件包实现。
然而:
最近我想保护我的计算机和网络免受通过 ICS 连接的“潜在不安全”服务器的攻击(例如 RaspberryPi Webserver)。我通过不使用 ICS/桥接来实现这一点,而是创建一个仅转发我想要的服务的网络:
在 PC 的第二个 NIC 和树莓派之间配置静态 IP。
在每台 PC 的 NIC 上激活 tcpip 路由器。 https://technet.microsoft.com/en-us/library/cc962461.aspx?f=255&MSPPError=-2147217396
配置端口代理(端口转发)从“公共 IP”:80 到内部树莓派:80
配置 PC 防火墙以阻止来自 Raspberry Pi 的所有(新)连接(以保护 PC 免受黑客攻击)
每次启动时都重新应用它,但不知为何,它并没有正确执行。解决办法是在启动时运行一个 .bat,使“netsh interface portproxy reset” + “netsh interface portproxy add v4tov4 ....”
注意:Raspberry Pi 不会接受任何连接,只能从您的 PC 或通过您转发的端口进行连接。这也意味着 Raspberry Pi 不会有互联网连接。