Рейтинг:1

iptables как заблокировать битторрент?

флаг ng

Мне нужно заблокировать весь битторрент-трафик с помощью iptables. Насколько я знаю, BitTorrent может адаптироваться к существующим фильтрам брандмауэра и отправлять пакеты с учетом правил. Но я не могу понять, как противостоять этому. Поэтому я попробовал некоторые правила iptables, которые нашел в Интернете, но ничего не помогает. Иногда пакеты протокола bittorrent перестают приниматься, но трафик все еще идет независимо от пакетов протокола bittorrent. Я должен упомянуть, что я не могу просто заблокировать все, кроме пары портов, которые мне нужны. Я должен блокировать только битторрент-трафик.

Итак, я попробовал это:

sudo iptables -A INPUT -m string --string "BitTorrent" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "Протокол BitTorrent" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "peer_id=" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string ".torrent" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "announce.php?passkey=" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "torrent" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "объявить" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "info_hash" --algo kmp --to 65535 -j DROP

Также я продублировал эти правила, но изменил INPUT на OUTPUT и FORWARD. Итак, на данный момент у меня было 8 * 3 = 24 правила одновременно. После этого я добавил те же самые правила, но используя ip6tables вместо iptables для блокировки всего трафика ipv6.

После этого я попытался добавить некоторые дополнительные правила:

sudo iptables -I INPUT -p tcp -m ipp2p --bit -j DROP
sudo iptables -I INPUT -p udp -m ipp2p --bit -j DROP

Я также продублировал эти правила, используя ip6tables, OUTPUT и FORWARD.

Подводя итог, я добавил правила блокировки битторрент-трафика на основе двух методов:

  1. По конкретным лекалам в упаковке
  2. Использование модуля ipp2p

Но особо ничего не помогает. Я пробовал первый и второй подход одновременно и по отдельности. Наилучший результат, который я смог получить (при одновременном использовании всех правил) - задержка начала загрузки торрент-файла на 1 минуту, но через минуту соединение устанавливается.

Также, когда я попробовал первый подход (с шаблонами), я нашел интересный упаковка. По какой-то причине у него есть шаблон, который я только что отфильтровал. Может быть, я неправильно фильтрую по шаблону? (--algo kmp/bm flag ничего не меняет)

Может кто уже решил эту проблему?

Я использую Ubuntu 22 внутри VirtualBox. Использую qBittorrent, Wireshark.

Должен ли я предоставить какую-либо дополнительную информацию?

P.S. Я начинаю опасаться, что это просто невозможно, но все же, я хочу попробовать

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.