以下是针对 183.7.0.0/16 封禁 24 小时的操作步骤:
1. 添加封禁规则
# 封禁 183.7.0.0/16 的所有入站流量<br /> sudo iptables -I INPUT -s 183.7.0.0/16 -j DROP</p> <p># 封禁 183.7.0.0/16 的所有出站流量(可选)<br /> sudo iptables -I OUTPUT -d 183.7.0.0/16 -j DROP2. 保存 iptables 规则(确保重启后不丢失)
# 对于 CentOS/RHEL/Rocky Linux<br /> sudo service iptables save<br /> # 或<br /> sudo /sbin/iptables-save</p> <p># 对于 Ubuntu/Debian<br /> sudo apt-get install iptables-persistent<br /> sudo netfilter-persistent save3. 设置定时解封(24小时后自动解除)
使用 at 命令
# 安装 at(如果尚未安装)<br /> sudo apt-get install at # Ubuntu/Debian<br /> sudo yum install at # CentOS/RHEL</p> <p># 设置 24 小时后执行解封<br /> echo "sudo iptables -D INPUT -s 183.7.0.0/16 -j DROP && sudo iptables -D OUTPUT -d 183.7.0.0/16 -j DROP" | at now + 24 hours命令结构分解
echo "sudo iptables -D INPUT -s 183.7.0.0/16 -j DROP && sudo iptables -D OUTPUT -d 183.7.0.0/16 -j DROP" | at now + 24 hours1. echo 部分
echo "sudo iptables -D INPUT -s 183.7.0.0/16 -j DROP && sudo iptables -D OUTPUT -d 183.7.0.0/16 -j DROP"
- 作用:输出字符串到标准输出
- 输出内容:两条 iptables 命令用 && 连接
2. 管道符
- 作用:将 echo 命令的输出作为 at 命令的输入
- 效果:相当于手动在 at 交互界面中输入这些命令
3. at 部分
at now + 24 hours
- 作用:设置一个 24 小时后执行的一次性任务
- 时间格式:now + 24 hours 表示从当前时间算起 24 小时后
4. 命令内容详解
第一条命令:
sudo iptables -D INPUT -s 183.7.0.0/16 -j DROP
-D INPUT:从 INPUT 链中删除规则-s 183.7.0.0/16:指定源 IP 段-j DROP:丢弃数据包- 作用:解除对 183.7.0.0/16 入站流量的封禁
第二条命令:
sudo iptables -D OUTPUT -d 183.7.0.0/16 -j DROP
-D OUTPUT:从 OUTPUT 链中删除规则-d 183.7.0.0/16:指定目标 IP 段- 作用:解除对 183.7.0.0/16 出站流量的封禁
连接符 &&
- 作用:逻辑与操作,只有第一条命令执行成功后才会执行第二条
- 好处:如果第一条命令失败(规则不存在),不会执行第二条
完整执行流程
<0l>
sudo iptables -D INPUT -s 183.7.0.0/16 -j DROP<br />
sudo iptables -D OUTPUT -d 183.7.0.0/16 -j DROP0l>
4. 验证规则
# 检查是否添加成功<br />
sudo iptables -L INPUT -n | grep 183.7.0.0<br />
sudo iptables -L OUTPUT -n | grep 183.7.0.0</p>
<p># 查看所有 iptables 规则<br />
sudo iptables -L -n
「点点赞赏,手留余香」
声明:本文为原创文章,版权归旷野小站所有,欢迎分享本文,转载请保留出处!