特别是,我正在寻找一个可以放入hosts
文件中的 IP 地址,它将黑洞给定的 DNS 名称。现在我正在使用127.0.0.1
,但如果我安装了任何服务,那会开始表现得很奇怪。
如何防止 3rd 方程序联系给定的服务器?
特别是,我正在寻找一个可以放入hosts
文件中的 IP 地址,它将黑洞给定的 DNS 名称。现在我正在使用127.0.0.1
,但如果我安装了任何服务,那会开始表现得很奇怪。
如何防止 3rd 方程序联系给定的服务器?
RFC-3330似乎是金矿
最好的选择似乎是:
192.0.2.0/24 - 此块被分配为“TEST-NET”,用于文档和示例代码。在供应商和协议文档中,它通常与域名 example.com 或 example.net 结合使用。此块内的地址不应出现在公共互联网上。
实际上,环回 IP 127.0.0.1 是广告拦截的理想选择。如果您仍然运行 Apache,您将设置一个虚拟服务器,该服务器为 127.0.0.1 上的请求返回 404。这样,您的浏览器就不会一直等待连接到未知主机超时。所有这些广告请求都会立即返回,从而释放浏览器中的资源以获取实际的页面内容。
我在 hosts 文件中使用了 0.0.0.0 来阻止广告网站。不知道有没有副作用?!?!
我看到您已经正确地发现 192.0.2.0/24 是为测试而保留的,不会出现在 Internet 上。
但是,如果您的局域网依赖默认路由到达 Internet 的其余部分,那么您仍然会将此流量从您的网络发送到您的 ISP。
最好的情况是您的 ISP 会发回ICMP_NET_UNREACHABLE
错误,而您的应用程序会注意到这些错误并采取相应措施。最坏的情况是流量完全被黑洞,此时您的应用程序将一直闲置,直到连接超时。
避免这种情况的正确策略取决于您的操作系统和本地网络配置。在 Linux 系统上,我只需为 /24 添加一条以“拒绝”为目标的路由。
地址 127.0.0.0 到 127.255.255.255 可用于环回连接。
因此,让您的 httpd 监听 127.0.0.1 并将其他任何一个用于黑名单。
如果您使用任何未连接到的私有 IP 地址范围(10.whatever、192.168.whatever),则应该可以。
使用 127.0.0.1 的一个优点是尝试联系服务器将立即返回失败(当然,只要您没有运行本地服务器)。如果您使用不指向特定机器的任何其他地址,例如 192.0.2.x,则尝试连接到该地址的服务器将需要一些时间才能超时(至少一分钟或更长时间)。
我将拒绝主机用于 ssh。 http://denyhosts.sourceforge.net/ 它试图阻止已知的恶意来源。这就是你在说的吗?
不应该使用 0.0.0.0 (正如另一张海报所说的那样)——它有一个独特的含义,不是“什么都没有”,也不是为大多数情况下的死胡同而保留的。至于 BCS 对 dulaneyb 关于 DCHP 和私有范围的评论 - 私有范围就是私有范围。如果您要踢到您的私人范围,那么您将路由到一个空插槽。如果您要进入其他私有范围之一,则上游设备应将其丢弃。