前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用ipset命令添加访问IP白名单

利用ipset命令添加访问IP白名单

作者头像
IT不难
发布2022-05-14 16:21:17
3.3K0
发布2022-05-14 16:21:17
举报
文章被收录于专栏:IT不难技术家园IT不难技术家园
l3492za1.png
l3492za1.png

前言

ipset是iptables的扩展,允许你创建匹配整个地址sets(地址集合)的规则。而不像普通的iptables链是线性的存储和过滤,ip集合存储在带索引的数据结构中,这种集合比较大也可以进行高效的查找。在许多的linux发布中ipset是一个简单的安装包,可以通过linux发行版提供的yum进行安装。

ipset基本使用

创建黑名单

代码语言:javascript
复制
ipset create blacklist hash:ip timeout 259200 hashsize 4096 maxelem 1000000

查看列表

代码语言:javascript
复制
ipset list blacklist

清空列表

代码语言:javascript
复制
ipset flush blacklist              //清空blacklist列表
ipset flush                        //清空所有列表

删除列表

代码语言:javascript
复制
ipset destroy blacklist            //删除blacklist列表
ipset destroy                         //删除所有列表

列表导入导出

代码语言:javascript
复制
ipset save blacklist -f blacklist.txt   #将规则导出为文件
ipset restore -f blacklist.txt     #将规则导入ipset

向黑名单添加ip

代码语言:javascript
复制
ipset add blacklist 1.1.1.1

向黑名单添加IP段

代码语言:javascript
复制
ipset add blacklist 172.18.16.0/24
ipset add blacklist 172.18.16.55 nomatch      //排除单个IP
ipset add blacklist 172.18.16.0/30 nomatch        //排除一个范围

向黑名单添加带端口范围的IP

代码语言:javascript
复制
ipset add blacklist 10.10.10.10:80
ipset add blacklist 10.10.10.10,udp:53
ipset add blacklist 10.10.10.10,tcp:20-25

删除黑名单中的ip/ip段/端口

代码语言:javascript
复制
ipset del blacklist 1.1.1.1
ipset del blacklist 10.10.10.10:80
ipset del blacklist 10.10.10.10,udp:53

iptables设置

添加iptables规则

代码语言:javascript
复制
iptables -I INPUT -m set --match-set blacklist src -j DROP

黑名单用法

代码语言:javascript
复制
iptables -A INPUT -p tcp -m set --match-set blacklist src -m tcp --dport 80 -j DROP

白名单用法

代码语言:javascript
复制
iptables -A INPUT -p tcp -m set --match-set whitelist src -m tcp --dport 3306 -j ACCEPT

其他

iptables 不重启更新规则

代码语言:javascript
复制
#添加规则
iptables -I  INPUT  5 -p tcp -m tcp --dport 3001 -j ACCEPT

#重启生效,保存文件
vim /etc/sysconfig/iptables

#删除
iptables -D  INPUT  -p tcp -m tcp --dport 3001 -j ACCEPT

本文共 245 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • ipset基本使用
  • iptables设置
  • 其他
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档