以前我转载过一个脚本:Linux中利用 iptables 封垃圾邮件(SPAM)和BT(磁力链接)、PT ,但是这个脚本也是2015年出现后就没有更新过了,然后这期间我也做了一些BUG更新等。
最近也没什么教程写,我就根据大家的反馈,打算对这个脚本功能进行功能增强,但是想了想要改的地方非常多几乎是重写了,那么干脆就另立脚本重写一个好了。
这个是手动方法:Linux中利用 iptables string模块 屏蔽泛域名(匹配字符串)
注意:本脚本邮件端口是完全可以封住的,但是 BT和PT 就不是100%的了,封不干净,这个没办法。
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
脚本版本
Ver: 1.0.10
安装步骤
执行下面的代码下载并运行脚本。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/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 “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
更新日志
2018年01月17日,版本 v1.0.10
1. 优化 循环封禁/解封 端口/关键词的文字提示。
2017年12月07日,版本 v1.0.9
1. 新增 循环封禁/解封 端口/关键词功能。
—— 每次封禁/解封后 都会继续提示封禁/解封,如果不打算继续了,就直接留空回车就会取消。
2. 修复 端口封禁时未正常封禁 相应UDP协议的问题。
—— 以前封禁过SPAM垃圾邮件端口的请解封后重新封禁。
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(垃圾邮件)和自定义端口/关键词 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
有没有主要取决于 speedtest 是否触碰到防火墙的关键词阻断规则,脚本里默认的封BT关键词是和 speedtest 无关联的。
刚才我找了个闲置的VPS装上 Ubuntu 16.04 x64 系统多次测试,都没什么问题,可能是个别IDC的ubuntu 16系统问题,不过我还是研究了一下,改了另一种实现方式,你有兴趣可以重新下载脚本试试(我的所有涉及到的脚本全都更新了,鉴于太多就没做版本号递增,所以需要手动下载最新脚本)。
这种问题无解,可能是跟亚马逊云服务器的网络配置有关系。
你这种服务器只要用我了任何包含防火墙规则配置的脚本,都会变成这样的。
OUTPUT 改为 INPUT
即可。