通过iptables屏蔽滥用
iptables
的基础使用说明
1. 启动 iptables
在大多数 Linux 发行版中,iptables
服务可以通过以下命令启动:
bash
sudo systemctl start iptables
2. 设置规则
在启动 iptables
后,可以设置相应的规则来屏蔽滥用流量。例如,以下命令将阻止来自特定IPV4地址的流量:
bash
sudo iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
3. 查询规则
设置完规则后,可以使用以下命令查看当前的 iptables
规则:
bash
sudo iptables -L
这将列出所有输入、输出和转发的规则。
4. 停止 iptables
如果需要停止 iptables
服务,可以使用以下命令:
bash
sudo systemctl stop iptables
5. 保存规则
为了确保在重启后规则依然生效,可以保存当前的规则:
bash
sudo iptables-save | sudo tee /etc/iptables/rules.v4
6. 恢复规则
在需要恢复规则时,可以使用以下命令:
bash
sudo iptables-restore < /etc/iptables/rules.v4
7. 其他常用命令
列出规则(详细信息):
bashsudo iptables -L -v
删除特定规则:
bashsudo iptables -D INPUT -s 192.168.1.100 -j DROP
清空所有规则:
bashsudo iptables -F
在宿主机上屏蔽滥用行为
屏蔽挖矿行为
strings=(
"ethermine.com"
"antpool.one"
"antpool.com"
"pool.bar"
"get_peers"
"announce_peer"
"find_node"
"seed_hash"
)
for str in "${strings[@]}"; do
iptables -A OUTPUT -m string --string "$str" --algo bm -j DROP
done
屏蔽BT行为
strings=(
"torrent"
".torrent"
"peer_id="
"announce"
"info_hash"
"get_peers"
"find_node"
"BitTorrent"
"announce_peer"
"BitTorrent protocol"
"announce.php?passkey="
"magnet:"
"xunlei"
"sandai"
"Thunder"
"XLLiveUD"
)
for str in "${strings[@]}"; do
iptables -A OUTPUT -m string --string "$str" --algo bm -j DROP
done
屏蔽测速行为
strings=(
".speed"
"speed."
".speed."
"fast.com"
"speedtest.net"
"speedtest.com"
"speedtest.cn"
"test.ustc.edu.cn"
"10000.gd.cn"
"db.laomoe.com"
"jiyou.cloud"
"ovo.speedtestcustom.com"
"speed.cloudflare.com"
"speedtest"
)
for str in "${strings[@]}"; do
iptables -A OUTPUT -m string --string "$str" --algo bm -j DROP
done