我已经知道如何阻止包含指定字符串的域
iptables -A INPUT -m string --algo bm --string "test" -j DROP
iptables -A OUTPUT -m string --algo bm --string "test" -j DROP
iptables -A FORWARD -m string --algo bm --string "test" -j DROP
并将 iptables 配置保存在
/etc/iptables/rules.v[4(ipv4);6(ipv6)]
不幸的是,虽然这会阻止在其(顶级)域中包含该字符串的网站此配置似乎不会阻止网站,其子域包含匹配的字符串(所以速度测试网会被阻止,但不会https://search.brave.com/search?q=test)
我也愿意接受其他方法,只要它们是低级别的(又名不需要非标准软件或 GUI 应用程序)并且与Linux兼容(或者更好的是跨平台)
答案1
--算法bm
它从内核 5.1 左右开始就被破坏了,不适用于当前的 6.2.15。使用--algo kmp
。
https://github.com/ooni/probe/issues/1641
https://bugzilla.netfilter.org/show_bug.cgi?id=1390
https://marc.info/?l=netfilter-devel&m=168552032530976&w=2