如何使用 iptables 快速失败?

如何使用 iptables 快速失败?

灵感来自于皮孔我自己设立了一个。

它能做什么:

  1. Pi-hole 在我的本地网络中配置为 Raspberry Pi 虚拟适配器上的专用 IP。
  2. 获取已知垃圾邮件/网络钓鱼/广告服务器名称的列表。
  3. 使用 dnsmasq 作为本地 DNS 将这些服务器名称解析为本地 IP(又名 Pi-hole)
  4. 在 Pi-hole 上,lighttpd 提供空的 html 页面和像素图像,而不是钓鱼网站或广告
  5. 我的桌面/智能手机/平板电脑上的所有浏览器都会删除不需要的内容

这种方法的优点是不会影响同一(原始)目标 IP 上的 VirtualHosts 等内容。它只是按名称阻止主机。缺点是只能在家里用...

此设置适用于大约 160 万个站点中的 99%,但有些站点使用 https 或不同的端口来8080服务器其内容。由于空内容仅在端口上提供,80因此这些网站需要永远等待,直到例如。火狐放弃了。

为了使其始终有效,我想停止向请求设备提供内容,并摆脱 lighttpd 并添加一些简单的 iptables 规则,以便与 Pi-hole 的连接快速失败。

怎样才能让请求方尽快放弃呢? (意思是,这个特殊主持人的规则应该是什么样的。)

有什么好的方法建议吗?

答案1

听起来您已经将其DROP作为链iptables上的默认操作INPUT。将其更改为REJECT,它会很快失败。

答案2

在摆弄iptables但没有取得太大成功后,我采取了完全不同的方法:

所有针对垃圾邮件/网络钓鱼/广告服务器名称的 DNS 查询都会以 0.0.0.0 响应,例如:浏览器检测为不可路由并快速失败。

相关内容