您的位置:首页 > 运维架构 > Linux

随手笔记:linux-CentOS ipset + iptable 屏蔽IP及IP组

2018-01-26 20:46 423 查看

任务总览

屏蔽占用大量带宽的discuz灌水机器人

屏蔽尝试扫描网站上传文件的机器人

重启后自动重新配置屏蔽条件,不会丢失

开始任务

安装 ipset

yum install ipset


配置规则

ipset create discuz_rebort hash:net
ipset create scan_upload_package hash:net

# CIDR
ipset add scan_upload_package 180.97.106.0/24

# IP
ipset add discuz_rebort 46.118.158.40
ipset add discuz_rebort 46.118.125.133
ipset add discuz_rebort 134.249.55.141
ipset add discuz_rebort 178.137.161.254
ipset add discuz_rebort 185.234.216.41
ipset add discuz_rebort 173.239.236.63

# 保存规则
iptables -I INPUT -m set --match-set discuz_rebort src -p tcp -j DROP
iptables -I INPUT -m set --match-set scan_upload_package src -p tcp -j DROP

# 删除单个规则
iptables -D INPUT -m set --match-set discuz_rebort src -p tcp -j DROP


论坛屏蔽IP列表参考:http://www.stopforumspam.com/stats

保存配置

yum install iptables-services

# 创建文件夹
mkdir /etc/iptables.d
mkdir /etc/ipset.d

# 保存 iptables 规则
service iptables save
service iptables restart

# 保存 ipset 规则
ipset save -f /etc/ipset.d/forbiden.sh


重启自动配置

重新配置 ipset 需要的脚本

vim /etc/ipset.d/onboot.sh


/etc/ipset.d/onboot.sh 写入如下内容

ipset restore -f /etc/ipset.d/forbiden.sh


重新配置 iptables 需要的脚本

# 重新 ipset 配置需要的脚本
vim /etc/iptables.d/onboot.sh


/etc/ipset.d/onboot.sh 写入如下内容

/etc/ipset.d/./onboot.sh
service iptables restart


配置系统启动自动运行

vim /etc/rc.d/rc.local


/etc/rc.d/rc.local 追加如下内容

/etc/iptables.d/./onboot.sh


赋予运行权限

chmod +x /etc/ipset.d/onboot.sh
chmod +x /etc/iptables.d/onboot.sh
chmod +x /etc/rc.d/rc.local


备注

CentOS 7 后新增
firewalld
,性能在
iptables
之上,有待进一步学习。可能的学习资料:

4.5. 使用防火墙 - Red Hat Customer Portal
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: