Блокировка Torrent на Linux
Блокировка BitTorrent через nDPI + iptables
Окружение: Ubuntu 22/24, ядро 6.8.x (проверено на 6.8.0-101-generic)
1. Установка зависимостей
apt install build-essential libndpi-dev linux-headers-$(uname -r) git \
autoconf automake libtool pkg-config libpcap-dev libxtables-dev2. Клонирование и сборка nDPI
git clone https://github.com/vel21ripn/nDPI.git
cd nDPI
./autogen.sh
./configure && make
make install
ldconfig3. Сборка kernel модуля xt_ndpi
cd ~/nDPI/ndpi-netfilter
make
sudo make install4. Установка модуля в систему
sudo cp src/xt_ndpi.ko /lib/modules/$(uname -r)/kernel/net/netfilter/
sudo depmod -a
sudo modprobe xt_ndpiПроверка:
lsmod | grep ndpi5. Правила iptables
sudo iptables -I INPUT -m ndpi --proto bittorrent -j DROP
sudo iptables -I FORWARD -m ndpi --proto bittorrent -j DROP
sudo iptables -I OUTPUT -m ndpi --proto bittorrent -j DROP6. Сохранение правил
apt install iptables-persistent
netfilter-persistent save7. Проверка
# Счётчики пакетов (должны расти при торрент-трафике)
iptables -L -n -v
# Проверка модуля
lsmod | grep ndpiВажные примечания
- iptables -m ndpi --help помощь и список приложений для блокировки
После обновления ядра (
apt upgrade) модуль нужно пересобрать (шаги 3-4)Репозиторий:
https://github.com/vel21ripn/nDPI(не оригинальный ntop/nDPI — у него нет netfilter модуля)