Tôi cần chặn tất cả lưu lượng bittorrent bằng iptables. Như tôi biết, bittorrent có thể thích ứng với các bộ lọc tường lửa hiện có và gửi các gói xem xét các quy tắc. Nhưng tôi không thể tìm ra cách để chống lại điều này. Vì vậy, tôi đã thử một số quy tắc iptables mà tôi tìm thấy trên internet nhưng không có gì thực sự hữu ích. Đôi khi các gói giao thức bittorrent ngừng được nhận nhưng lưu lượng truy cập vẫn đến bất kể các gói giao thức bittorrent. Tôi nên đề cập rằng tôi không thể chặn mọi thứ trừ một vài cổng tôi cần. Tôi chỉ phải chặn lưu lượng bittorrent.
Vì vậy, tôi đã thử điều này:
sudo iptables -A INPUT -m string --string "BitTorrent" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "BitTorrent protocol" --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 "announce" --algo kmp --to 65535 -j DROP
sudo iptables -A INPUT -m string --string "info_hash" --algo kmp --to 65535 -j DROP
Ngoài ra, tôi đã sao chép quy tắc này nhưng đã thay đổi INPUT thành OUTPUT và FORWARD. Vì vậy, tại thời điểm này tôi có 8 * 3 = 24 quy tắc cùng một lúc. Sau đó, tôi đã thêm các quy tắc tương tự, nhưng sử dụng ip6tables thay vì iptables để chặn tất cả lưu lượng ipv6.
Sau đó, tôi đã cố gắng thêm một số quy tắc bổ sung:
sudo iptables -I INPUT -p tcp -m ipp2p --bit -j DROP
sudo iptables -I INPUT -p udp -m ipp2p --bit -j DROP
Tôi cũng sao chép các quy tắc này bằng cách sử dụng ip6tables, OUTPUT và FORWARD.
Tóm lại, tôi đã thêm các quy tắc để chặn lưu lượng bittorrent dựa trên hai phương pháp:
- Theo các mẫu bê tông trong gói
- Sử dụng mô-đun ipp2p
Nhưng không có gì thực sự giúp đỡ. Tôi đã thử cách tiếp cận thứ nhất và thứ hai đồng thời và riêng biệt. Kết quả tốt nhất mà tôi có thể nhận được (trong khi sử dụng tất cả các quy tắc cùng lúc) là thời gian bắt đầu tải xuống tệp torrent bị trễ 1 phút, nhưng sau một phút, kết nối sẽ thiết lập.
Ngoài ra, khi tôi thử cách tiếp cận đầu tiên (với các mẫu), tôi thấy thú vị bưu kiện. Vì lý do nào đó, nó có mẫu mà tôi vừa lọc ra. Có lẽ cách tôi lọc theo mẫu là sai? (Cờ --algo kmp/bm dường như không thay đổi bất cứ điều gì)
Có lẽ ai đó đã giải quyết vấn đề này?
Tôi đang sử dụng Ubuntu 22 bên trong VirtualBox. Tôi sử dụng qBittorrent, Wireshark.
Tôi có nên cung cấp thêm thông tin nào không?
Tái bút Tôi bắt đầu lo lắng rằng điều đó là không thể, nhưng dù sao đi nữa, tôi muốn thử