firewalld封禁IP或IP段
1、firewalld直接封禁某一个ip或ip段
1.1封禁单个ip
$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.x.x' reject"
#1.2 封禁IP段
$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.0.0/16' reject"
$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.x.0/24' reject"
使用上面没什么问题,只不过一旦大量ip需要拉黑,管理上就会很混乱。因此这里介绍firewalld配置ipset来实现。
2、firewalld配置ipse封禁某一个ip或ip段
2.1 创建ipset
$ firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net
创建一个名为blacklist的库,执行完命令可在/etc/firewalld/ipsets路径下看到生成的blacklist.xml文件。
2.2 添加/删除要禁止的ip或ip段
#添加ip
$ firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=x.x.x.x
#添加ip段
$firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=x.x.x.0/24
#删除ip
$firewall-cmd --permanent --zone=public --ipset=blacklist --remove-entry=x.x.x.x
#删除ip段
$firewall-cmd --permanent --zone=public --ipset=blacklist --remove-entry=x.x.x.0/24
备注: –permanent参数表示永久生效,内容会写入blacklist.xml文件且需要重启防火墙;
firewall-cmd --reload生效,如果不加该参数,则立即生效,内容不会写入blacklist.xml文件,服务重启则规则失效。
2.3封禁名为blacklist的ipset
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=blacklist drop'
前面只是创建了名为blacklist的ipset,而且也往里面增加了内容,最后一步即防火墙封禁该ipset即可,这样的好处是防火墙只是一条规则就封禁了文件里管理的大量ip。
2.4重新载入防火墙即可生效:
firewall-cmd --reload
2.5查看当前防火墙状态:
firewall-cmd --list-all
2.6单独查看当前ipset封禁了哪些ip:
ipset list blacklist
原文地址:https://blog.csdn.net/beck_li/article/details/142355706
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!