我正在尝试通过防火墙/代理(透明模式)阻止 Google Feud,但这似乎是一项艰巨的任务。
我对这个任务有一些配置:
- ACL 规则,在每个请求的 URI 上阻止对域的访问
*.googlefeud.com
并阻止字符串googlefeud
- 防火墙规则,阻止与 DNS 相关的 IP 地址
www.googlefeud.com
,直接在表上配置mangle
(虽然这是不对的,要丢弃此表上的数据包)
通过这种配置,我只是想确保任何具有此目的地的数据包都不会到达squid
,作为增援。
DNS
$ dig +short www.googlefeud.com
104.27.190.2
104.27.191.2
IP表
-A PREROUTING -d 104.27.190.2 -j DROP
-A PREROUTING -d 104.27.191.2 -j DROP
使用 Web 浏览器时:
- 非私人导航:请求已执行,页面已加载(你甚至可以正常玩 Google Feud)
- 私人导航:页面未加载,并且 Web 浏览器报告无法处理请求(IPTABLES 规则正在发挥作用)
情况非常相似,如果我删除 IPTABLES 规则(只是让 Squid 完成它的工作):
- 非私人导航:请求已执行,页面已加载(你甚至可以正常玩 Google Feud)
- 私人导航:加载了 Squid 的错误页面,告知由于代理上针对此内容配置的限制,无法处理该请求
这是已加载的页面,处于非私人导航状态。
和iptables
均未squid
阻止请求。
在 上tcpdump
,似乎两个 IP 地址的流量也正常流动。
192.168.0.12.58340 > 104.27.191.2.http: Flags [S], cksum 0xc989 (correct), seq 3360743156, win 29200, options [mss 1460,sackOK,TS val 5871808 ecr 0,nop,wscale 7], length 0
192.168.0.12.58342 > 104.27.191.2.http: Flags [S], cksum 0xb75a (correct), seq 2588221213, win 29200, options [mss 1460,sackOK,TS val 5871824 ecr 0,nop,wscale 7], length 0
192.168.0.12.58344 > 104.27.191.2.http: Flags [S], cksum 0xbb88 (correct), seq 1534482860, win 29200, options [mss 1460,sackOK,TS val 5871840 ecr 0,nop,wscale 7], length 0
192.168.0.12.58346 > 104.27.191.2.http: Flags [S], cksum 0x1e70 (correct), seq 1830937879, win 29200, options [mss 1460,sackOK,TS val 5871840 ecr 0,nop,wscale 7], length 0
192.168.0.12.58348 > 104.27.191.2.http: Flags [S], cksum 0x0ccc (correct), seq 4159269793, win 29200, options [mss 1460,sackOK,TS val 5871920 ecr 0,nop,wscale 7], length 0
192.168.0.12.56568 > 104.27.190.2.http: Flags [S], cksum 0x8bd9 (correct), seq 1399822194, win 29200, options [mss 1460,sackOK,TS val 5872320 ecr 0,nop,wscale 7], length 0
- 如何在
mangle
表格中配置了此类规则(在nat
和之前filter
)来阻止这些 IP?我曾尝试在filter
表格中阻止这些地址,但没有成功。这就是我决定将规则移至mangle
表格的原因。
浏览器未处于私人模式似乎有些棘手。
我观察到googlefeud.com
存储了两个 cookie,但我不得不承认,我不知道这些 cookie 是否会在这种情况下造成任何影响:
这种情况真的很奇怪。我真的很好奇,这是怎么可能的……
对此挑战,任何帮助都将不胜感激。