通过深度数据包检测阻止通过服务器的种子流量



我运行VPN服务,我一直在尝试找到一种方法来阻止通过服务器的种子流量,以便客户不会使用VPN服务进行种子下载。起初,我尝试使用 iptables 来阻止用于种子下载和字符串匹配的常见端口,但最终唯一要做的就是减慢连接到对等方的启动过程。这是因为 torrent 客户端将端口跳跃,直到找到可用的端口。

在网上环顾四周后,我得出的结论是,唯一能可靠地阻止种子流量的方法就是通过深度数据包检测。

我在其中一个VPN服务器上安装了一个由ndpi和内核模块组成的服务,以便在ndpi检测到torrent协议后,可以将其传递给Iptables进行删除。

在这里找到: https://github.com/betolj/ndpi-netfilter

通过 ntopng Web 界面,它可以正确检测洪流流量,但 iptables 似乎并没有丢弃数据包,因为洪流流量仍然能够完美地通过。

我做错了什么,还是有更好的方法/软件来执行流量整形?

#Block Torrent
iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "peer_id=" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string ".torrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "torrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "announce" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "info_hash" -j LOGDROP

来源:http://www.unixmen.com/how-to-block-bittorrent-traffic-on-your-linux-firewall/

最新更新