为了迎接19大,镜像域名 doub.bid 取消解析、逗比云 softs.fun 取消国内访问(请挂代理访问)。
投稿文章 | 广告投放 | Telegram 群组 / 公告频道

『原创』iptables 封禁 BT/PT/SPAM(垃圾邮件)和自定义端口/关键词 一键脚本

Linux教程 Toyo 37评论
文章目录
[显示]
本文最后更新于 2017年10月2日 18:23 可能会因为没有更新而失效。如已失效或需要修正,请留言!

以前我转载过一个脚本:Linux中利用 iptables 封垃圾邮件(SPAM)和BT(磁力链接)、PT ,但是这个脚本也是2015年出现后就没有更新过了,然后这期间我也做了一些BUG更新等。

最近也没什么教程写,我就根据大家的反馈,打算对这个脚本功能进行功能增强,但是想了想要改的地方非常多几乎是重写了,那么干脆就另立脚本重写一个好了。

这个是手动方法:Linux中利用 iptables string模块 屏蔽泛域名(匹配字符串)

注意:本脚本邮件端口是完全可以封住的,但是 BT和PT 就不是100%的了,封不干净,这个没办法。

系统要求

CentOS 6+ / Debian 6+ / Ubuntu 14.04 +

推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。

脚本版本

Ver: 1.0.8

安装步骤

执行下面的代码下载并运行脚本。

wget -N --no-check-certificate https://softs.fun/Bash/ban_iptables.sh && chmod +x ban_iptables.sh && bash ban_iptables.sh

# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ban_iptables.sh && chmod +x ban_iptables.sh && bash ban_iptables.sh

运行脚本后会出现脚本操作菜单,选择并输入对应的数字来操作。

使用说明

进入下载脚本的目录并运行脚本:

./ban_iptables.sh

然后选择你要执行的选项即可。

 iptables防火墙 封禁管理脚本 [vX.X.X]
 -- Toyo | doub.io/shell-jc2 --

 0. 查看 当前封禁列表
————————————
 1. 封禁 BT、PT
 2. 封禁 SPAM(垃圾邮件)
 3. 封禁 BT、PT+SPAM
 4. 封禁 自定义 端口
 5. 封禁 自定义关键词
————————————
 6. 解封 BT、PT
 7. 解封 SPAM(垃圾邮件)
 8. 解封 BT、PT+SPAM
 9. 解封 自定义 端口
10. 解封 自定义关键词
11. 解封 所有  关键词
————————————
12. 升级脚本

请输入数字 [0-11]:

其他操作:

为了方便,我也做了几个快捷的命令,不需要进入菜单去选择对应的选项,直接就能封禁/解封。

./ban_iptables.sh banbt
# 封禁 BT、PT

./ban_iptables.sh banspam
# 封禁 SPAM(垃圾邮件)

./ban_iptables.sh banall
# 封禁 BT、PT+SPAM

./ban_iptables.sh unbanbt
# 解封 BT、PT

./ban_iptables.sh unbanspam
# 解封 SPAM(垃圾邮件)

./ban_iptables.sh unbanall
# 解封 BT、PT+SPAM

其他说明

提示wget: unknown host “softs.fun” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

点击展开 查看更多

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

点击展开 查看更多

升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。

更新日志

2017年10月02日,版本 v1.0.8

1. 修复 Ubuntu系统多次操作后,重复向iptables 开机启动文件内添加开机加载规则代码的问题。

2. 修复 选项 11. 解封所有关键词 执行后没有正常保存当前防火墙规则的问题。

2017年08月30日,版本 v1.0.7

1. 修复 Ubuntu系统下,可能会开机无法启动的BUG。

2017年06月18日,版本 v1.0.6

1. 修复 自定义封禁关键词后,未保存的问题(重启后失效)

2. 新增 升级脚本功能(下个版本更新后才可用)

点击展开 查看更多

转载请超链接注明:逗比根据地 » 『原创』iptables 封禁 BT/PT/SPAM(垃圾邮件)和自定义端口/关键词 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (23)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(37)个小伙伴在吐槽
  1. 魔改BBR和你这个脚本有冲突。不知道能修复一下不。一装你的SSR和思科VPN和这个必定就不能启动了。微软的VPS
    2017-10-18 18:32 (5天前)回复
    • Ubuntu 16?这个系统下,我的所有涉及到防火墙脚本,都会因为配置防火墙开机载入保存的防火墙规则代码而出错(无法开机)。
      刚才我找了个闲置的VPS装上 Ubuntu 16.04 x64 系统多次测试,都没什么问题,可能是个别IDC的ubuntu 16系统问题,不过我还是研究了一下,改了另一种实现方式,你有兴趣可以重新下载脚本试试(我的所有涉及到的脚本全都更新了,鉴于太多就没做版本号递增,所以需要手动下载最新脚本)。
      Toyo2017-10-18 19:33 (5天前)回复
  2. 大佬,图片内红框这条是什么意思呢?运行脚本,重启VPS后出现的。 https://storage1.cuntuku.com/2017/09/04/QQ20170904111459.png
    昵称是个符号2017-09-04 11:16 回复
    • 这是你系统安装的 fail2ban 的防火墙规则吧。
      Toyo2017-09-04 12:21 回复
  3. 这个脚本...无语啊 Ubuntu14.04请别用。。。网卡被覆盖。。。开机不加载eth0,vnc手动加载后,设置dhclient后网能通了,ping baidu.com有回应了。。但是 ssh这些端口全是不能用的 卸了iptables关闭防火墙还是不行,现在一点头绪也没有,网站也打不开了。。。。。
    bios2017-08-29 17:04 回复
    • AWS?Google Cloud?我测试 Ubuntu14.04 和16 都是正常的,应该是你的VPS一些地方不一样。
      Toyo2017-08-29 17:30 回复
      • 是virmach的鸡鸡。。想想怎么补救先! :lol:
        bios2017-08-29 17:31 回复
        • 搞了几个小时终于修复了 给个思路,之前以为是iptables的锅 导致我把防火墙关了 iptables也卸载了,然后发现依旧不行 开机不加载eth0网卡,看了下 /etc/network/interfaces 里面配置被覆盖了iptables的配置,全部清掉,填入 auto eth0 iface eth0 inet dhcp 保存 重启鸡鸡就可以正常联网使用了,但是发现install iptables会报错,替换info里面的文件貌似一样。
          bios2017-08-30 08:11 回复
          • 新版本 v1.0.7 修复了这个BUG,是因为 少了一个 > 符号,导致应该是添加到最后,而不是覆盖。
            Toyo2017-08-30 15:04 回复
  4. cat > /etc/network/interfaces<> /etc/network/interfaces<<-EOF 不然会覆盖网卡的所有配置
    genggui2017-08-19 18:50 回复
  5. iptables是否可能在Android中安裝?
    Perszeuz2017-07-01 08:30 回复
    • Android本身就是基于Linux系统的,本身也有防火墙,但是有没有iptables我也不知道,能不能安装也不知道。
      Toyo2017-07-01 13:25 回复
  6. 普通的http流量也被掐了,谷歌play下载也是下着下着就没速度了。
    mk472017-06-22 22:19 回复
    • 看一看是触发了哪个关键词。关键词屏蔽的方式肯定会有误杀,这是不可避免的。不过我自己也在用这个脚本,并没有Google Play下载异常的情况。或许是你的软件下载链接中正好包含了某个关键词,被屏蔽了。
      Toyo2017-06-23 08:33 回复
  7. toyo 问一下为什么使用 mangle 这个路由表会导致网络不稳 即是说不能对伺服器长时间进行传输而不断线 移除这个表所有规则就没有什么事情 你知不知道怎样解决?
    Lobert2017-05-27 17:53 回复
  8. 请问一下CentOS7的firewalld能不能封禁 BT/PT?? 谢谢
    Yien2017-05-21 21:13 回复
  9. 这个与btsync 冲突吗?
    vfwrojas2017-05-14 12:20 回复
    • 没有测试过,自行测试。
      Toyo2017-05-14 13:21 回复
  10. ubuntu14 使用后无法连接网络,ssh也登陆不上去了 :lol:
    lbroot2017-05-13 11:42 回复
    • 这个只会封禁邮件端口和BT关键词,你是使用后立即断开?你的SSH端口是邮件端口?
      Toyo2017-05-13 13:08 回复
      • ubantu开机提示加载网络组件...然后等了很长时间进系统了(vnc),可是外网ping不通...也连不上。已经确定了就是此脚本造成的,我重装后又试了一下 :lol:
        lbroot2017-05-13 21:11 回复
        • 亚马逊云?我记得以前有人说过,亚马逊云VPS用我的脚本会无法开机,因为我的脚本配置了iptables 开机启动和保存规则和开机启动会自动读取规则等。
          这种问题无解,可能是跟亚马逊云服务器的网络配置有关系。
          你这种服务器只要用我了任何包含防火墙规则配置的脚本,都会变成这样的。
          Toyo2017-05-13 22:14 回复
      • ssh端口22啊,我也觉得不应该是iptables的锅
        lbroot2017-05-13 21:12 回复
  11. 你封了了出站的邮件,导致正常的自己发邮件也有问题。不如改成入站把,因为入站是走SSR端口的,自己发邮件不受影响。
    Wildox2017-05-01 22:00 回复
    • 打开脚本文件,找到第 133 134 136 行,将其中的 OUTPUT 改为 INPUT 即可。
      Toyo2017-05-01 22:27 回复
      • 大神好,我打开脚本OUTPUT 改为 INPUT,然后:wq保存,结果再执行脚本时,不执行禁封命令了,好像修改后就不能正确执行的样子,求大神指教
        佰大神2017-07-25 19:48 回复
        • 所以你改脚本干嘛?
          Toyo2017-07-25 23:08 回复
  12. 用了你的 速度马上下降 停了你的就正常了 好像最新版还没解决
    chp2017-04-27 23:43 回复
    • 我测试是正常的,如果你测试不正常,那就把 关键词里的 [.bt] 这个关键词删除应该就没事了。
      Toyo2017-04-27 23:49 回复
      • 谢谢 刚刚按照你的方法删了bt了就速度正常了 还以为是线路问题 对了 你在一键包 为啥不去掉bt?
        chp2017-04-28 00:01 回复
        • 原来是关键词 [bt] ,然后很多人反应速度下降,然后 我改成 [.bt] 后,就恢复正常了所以也没去管了。关键词屏蔽总有误杀情况,你这种情况就是因为误杀等原因,导致连接被iptables阻断,重复发包和尝试,表现特征类似于丢包极高的情况。
          Toyo2017-04-28 00:24 回复
  13. 不能用,一执行连SSR也封了
    龙卷风2017-04-21 16:58 回复
    • ShadowsocksR封了什么鬼?脚本发布前我都经过大量测试的。
      Toyo2017-04-21 17:19 回复
  14. 這個直接把我網站也封了
    小籠包2017-04-20 18:02 回复
    • 老版本又沒事
      小籠包2017-04-20 18:12 回复
    • 自己检查是碰到了哪个关键词。
      Toyo2017-04-20 19:20 回复
  15. 沙发~~~
    Sigma2017-04-19 21:41 回复