지정된 문자열이 포함된 도메인을 차단하는 방법을 이미 알고 있습니다.
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 애플리케이션이 필요하지 않음)그리고 리눅스와 호환(또는 크로스 플랫폼이 더 좋습니다)
답변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