出于隐私和性能方面的考虑,我希望阻止我的计算机与某些 Internet 主机进行通信。我希望在操作系统级别执行此操作,而不是通过 Web 浏览器插件(范围不够广),甚至不是通过我的家用路由器(我的笔记本电脑随身携带)。我更喜欢使用内置工具。
我运行的是 Windows 7 Professional 64 位。我非常熟悉 Windowshosts
文件及其局限性。似乎对它是否hosts
支持通配符有些困惑,但我自己的测试证实它不支持。
我尝试过 Windows 防火墙和 IP 安全策略 MMC 管理单元。据我所知,两者都需要数字地址。我不想阻止特定的 IP 地址或地址范围,部分原因是 IP 地址到主机名的映射可能会发生变化。
Windows 7 Professional 中是否有任何工具可以通过主机名掩码阻止(或路由到 0.0.0.0)与 Internet 主机的通信?如果没有,是否有任何好的、免费的第三方工具?
答案1
实现此目的“最简单”的方法是运行您自己的 DNS 服务器并为您想要阻止的域添加主要区域。您甚至不需要创建“A”记录。您的 DNS 服务器将返回未解析的对区域(域)内主机的任何引用。波萨迪斯是一款可以在 Windows 下运行的免费/开源 DNS 软件(虽然我个人没有用过)。当然,如果你有几乎任何版本的 Windows服务器在任何地方运行,您都可以使用 Microsoft 的 DNS 服务器。
该解决方案的一个“好处”是,您可以(如果您愿意)将对“禁止”域的请求重定向到内部“不允许”的网页。
答案2
尝试 IP 拦截器
http://blocklistpro.com/download-center/protowall/
还有许多其他可用的 IP 拦截器,大多数都允许您创建自己的拦截列表并允许 IP 范围
有些与 W7 配合得不是很好,请做好功课。
答案3
接管 DNS 解析器功能是一个很好的解决方案。您可能希望在 OpenDNS 注册一个帐户,并在 Windows 中硬编码 DNS 服务器设置以使用 OpenDNS 作为解析器。它们允许您输入始终被阻止的域。注册是免费的,但只需支付少量费用即可获得额外的功能。