Как я могу установить iptables правило (ex:in входная цепочка), которые проверяют содержание http пакета и блок, которые содержат мой HTML или код CSS или код JavaScript? Например: заблокируйте сайты, которые возвращаются в их ответе
<div id="helloworld"></div>
Используйте модуль сопоставления строк, например,
iptables -I INPUT -m string --string '<div id="helloworld"></div>' -j DROP
iptables (инструмент пользовательского пространства) или netfilter (межсетевой экран Linux) не предназначен для фильтрации содержимого HTTP. В любом случае, вы можете использовать модуль string
для соответствия определенному значению в полезной нагрузке пакета.
Лучшим подходом является перенаправление HTTP-трафика на прокси-сервер, например squid , и выполнение фильтрации / caching и все, что угодно. Обратите внимание, что squid сам по себе не поддерживает фильтрацию контента с помощью ACL. Вам необходимо использовать другое программное обеспечение, поддерживающее фильтрацию, например dansguardian .