iptables
查看所有相关规则
首先确认当前 INPUT 链中是否有匹配 3000 端口且使用 statistic 模块的规则:
sudo iptables -L INPUT -n --line-numbers -v | grep -E "dpt:3000|statistic|DROP"
输出示例:
num pkts bytes target prot opt in out source destination
5 100 6400 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3000 statistic mode random probability 1.0
6 50 3200 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3000 statistic mode random probability 0.8
方法 1:通过规则编号删除
# 删除编号为 5 的规则
sudo iptables -D INPUT 5
# 删除后规则编号会动态变化,需重新检查
sudo iptables -L INPUT -n --line-numbers -v
方法 2:通过规则内容精确删除
# 删除概率为 1.0 的规则
sudo iptables -D INPUT -p tcp --dport 3000 -m statistic --mode random --probability 1.0 -j DROP
# 删除概率为 0.8 的规则
sudo iptables -D INPUT -p tcp --dport 3000 -m statistic --mode random --probability 0.8 -j DROP
验证规则是否删除
sudo iptables -L INPUT -n -v | grep "dpt:3000"
一键清理脚本
# 清理所有 3000 端口的随机丢包规则
for prob in 1.0 0.8 0.5; do
sudo iptables -D INPUT -p tcp --dport 3000 -m statistic --mode random --probability $prob -j DROP 2>/dev/null
done